# 5 Using Modules

## Section Index

5.1 Why Using Modules?
5.2 Name-based versus Predicate-based Modules
5.3 Defining a Module
5.4 Importing Predicates into a Module
5.4.1 Reserved Modules
5.5 Using the Module System
5.5.1 Object Oriented Programming
5.6 Meta-Predicates in Modules
5.6.1 Definition and Context Module
5.6.2 Overruling Module Boundaries
5.7 Dynamic Modules
5.8 Module Handling Predicates
5.9 Compatibility of the Module System
5.9.1 Emulating meta_predicate