This module provides the SWI-Prolog `make' facility that synchronises
Prolog internal database after loaded files have been edited.
- bug
- - Dependency tracking is incomplete. Notably, there is no
dependency tracking if compilation of one module depends
on goal_expansion/2 or term_expansion/2 rules provided by
another.
- make
- Reload all source files that have been changed since they were
loaded. This predicate peforms the following steps:
- Compute the set of files that need to be reloaded.
- Call the hook prolog:
make_hook(before, Files)
- Reload the files
- Call the hook prolog:
make_hook(after, Files)
- If (4) fails, call list_undefined/0.
The hooks are called with an empty list if no files need
reloading.
- make_reload_file(File)
- Reload file into the proper module.
- bug
- - If modules import each other, we must load them in the
proper order for import/export dependencies.