logtalk_compile/2

Description

logtalk_compile(Entity, Options)
logtalk_compile(Entities, Options)

Compiles to disk an entity, a list of entities (objects, protocols, or categories), or a source metafile using a list of options. The Logtalk file name extension (by default, .lgt for entity source files and .mlgt for source metafiles) should be omitted. Note that the first argument is a list of entity/file names, not file paths. In other words, the files must exist in the current working directory.

For a description of the available compiler options, please consult the User Manual.

Note that only the errors related to problems in the predicate arguments are listed below. Other exceptions may be thrown by the compiler if any of the compiled entities contains syntax errors.

Template and modes

logtalk_compile(@entity_file_name, @list)
logtalk_compile(@entity_file_name_list, @list)

Errors

Entity is a variable:
instantiation_error
Entities is a variable or a list with an element which is a variable:
instantiation_error
Entity, or an element Entity of the Entities list, is neither a variable nor an entity file name nor a library entity file name:
type_error(entity_file_name, Entity)
Entity, or an element Entity of the Entities list, is a compound term but not a library entity file name:
type_error(library_entity_file_name, Entity)
Entity or an element Entity of the Entities list does not exist in the current working directory or in the specified library directory:
existence_error(entity, Entity)
Entity library does not exist:
existence_error(library, Library)
Options is a variable:
instantiation_error
Options is neither a variable nor a proper list:
type_error(list, Options)
An element Option of the Options list is not valid:
type_error(compiler_option, Option)

Examples

| ?- logtalk_compile(list, []).

| ?- logtalk_compile(types(tree), [xmlspec(xsd)]).

| ?- logtalk_compile([listp, list], [xml(off), plredf(warning)]).