Module System

# Chapter 7 Module System

- Basics
  - Purpose of Modules
  - What is under Visibility Control?
  - What Modules are There?
- Getting Started
  - Creating a Module
  - Exporting
  - Importing
  - Definitions, Visibility and Accessibility
- Advanced Topics
  - Solving Name Conflicts
  - Qualified Access via :/2
  - Reexport - Making Modules from Modules
  - Modules and Source Files
  - Tools and Caller Modules
  - Lookup Module vs Caller Module
  - The Module Interface
  - Module-related Predicate Properties
- Less Common Topics
  - Modules Using Other Languages
  - Creating and Erasing Modules at Runtime
  - Initialization and Finalization
  - Locking Modules

1
  for local initialization use :- local initialization(...).
2
  except that reexported predicates retain their original definition module
3
  Many Prolog systems call them meta-predicates.
4
  to the extent implemented by ECLiPSe's compatibility library