Once a program has been loaded, its facts and rules are resident in the Prolog database. It is possible to save the current state of the database in its compiled form as a QOF file. This allows you to restore the current database at a later time without having to re-compile your Prolog source files.
The built-in predicate save_program/1
saves the Prolog state.
For example,
| ?- save_program(myprog).
You can later reload the file myprog
into Prolog using the command
| ?- [myprog].
A saved program is a special kind of QOF file, which is capable of being run directly from the operating system, as if it were an executable file. To run a saved program from the command prompt, type the name of the file containing the saved program at the command prompt. For example,
% myprog
This is equivalent to starting up Prolog and loading myprog
.
Under Windows, this only works if the name of the file has the extension
bat
, e.g. myprog.bat
.
You can also specify a goal to be run when a saved program is started up. This is done by:
| ?- save_program(myprog, start).
where start/0
is the predicate to be called.