4.3.3 Quick load files
SWI-Prolog supports compilation of individual or multiple Prolog
source files into `Quick Load Files'. A `Quick Load File' (.qlf
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
consult/1
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 .pl file
otherwise.
- qcompile(:File)
- 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.plfile.For term_expansion/2, the same rules as described in section 2.10 apply.
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.