The use_module/1 predicate from section 5.3 defines import and export relations based on the filename from which a module is loaded. If modules are created differently, such as by asserting predicates into a new module as described in section 5.12, this interface cannot be used. The interface below provides for import/export from modules that are not created using a module file.
- export(+PredicateIndicator, ...)
- Add predicates to the public list of the context module. This implies the predicate will be imported into another module if this module is imported with use_module/[1,2]. Note that predicates are normally exported using the directive module/2. export/1 is meant to handle export from dynamically created modules.
- import(+PredicateIndicator, ...)
- Import predicates PredicateIndicator into the current context module. PredicateIndicator must specify the source module using the <module>:<pi> construct. Note that predicates are normally imported using one of the directives use_module/[1,2]. The import/1 alternative is meant for handling imports into dynamically created modules. See also export/1 and export_list/2.