SWI-Prolog supports compilation of individual or multiple Prolog
source files into `Quick Load Files'. A `Quick Load File' (
file) stores the contents of the file in a precompiled format.
These files load considerably faster than source files and are normally more compact. They are machine-independent and may thus be loaded on any implementation of SWI-Prolog. Note, however, that clauses are stored as virtual machine instructions. Changes to the compiler will generally make old compiled files unusable.
Quick Load Files are created using qcompile/1.
They are loaded using
or one of the other file-loading predicates described in
section 4.3. If consult/1
is given an explicit
.pl file, it will load the Prolog
source. When given a
.qlf file, it will load the file. When
no extension is specified, it will load the
.qlf file when present and the
- Takes a file specification as consult/1,
etc., and, in addition to the normal compilation, creates a Quick
Load File from File. The file extension of this file is
.qlf. The basename of the Quick Load File is the same as the input file.
If the file contains `
:- consult(+File)', `
:- [+File]' or `
:- load_files(+File, [qcompile(part), ...])' statements, the referred files are compiled into the same
.qlffile. Other directives will be stored in the
.qlffile and executed in the same fashion as when loading the
Conditional execution or optimisation may test the predicate compiling/0.
Source references (source_file/2) in the Quick Load File refer to the Prolog source file from which the compiled code originates.
- qcompile(:File, +Options)
- As qcompile/1, but processes additional options as defined by load_files/2.bugOption processing is currently incomplete.