The following options are currently supported:
false), indicate that this load is a demand load. This implies that, depending on the setting of the Prolog flag verbose_autoload, the load action is printed at level
silent. See also print_message/2 and current_prolog_flag/2.
true), do not check the first character to be
and skip the first line when found.
true, run the filenames through expand_file_name/2 and load the returned files. Default is
false, except for consult/1 which is intended for interactive use. Flexible location of files is defined by file_search_path/2.
stream(Stream)option. Default is
source, loading Prolog source text. If
qlf, load QLF data (see qcompile/1).
trueloads the file unconditionally,
changedloads the file if it was not loaded before or has been modified since it was loaded the last time, and
not_loadedloads the file if it was not loaded before.
all. Import is passed from the second argument of use_module/2. Traditionally it is a list of predicate indicators to import. As part of the SWI-Prolog/YAP integration, we also support Pred as Name to import a predicate under another name. Finally, Import can be the term
except(Exceptions), where Exceptions is a list of predicate indicators that specify predicates that are not imported or Pred as Name terms to denote renamed predicates. See also reexport/2 and use_module/2.bugName/Arity as NewName is currently implemented using a link clause. This harms efficiency and does not allow for querying the relation through predicate_property/2.
If Import equals
all, all operators are
imported as well. Otherwise, operators are not imported.
Operators can be imported selectively by adding terms
Import list. If such a term is encountered, all exported
operators that unify with this term are imported. Typically, this
construct will be used with all arguments unbound to import all
operators or with only Name bound to import a particular
stream(Input)option, for example after extracting the time from an HTTP server or database.
:- module(Name, ...)directive. This currently serves two purposes: (1) allow loading two module files that specify the same module into the same process and force and (2): force loading source code in a specific module, even if the code provides its own module name. Experimental.
true, raise an error if the file is not a module file. Used by use_module/[1,2].
.qlffile instead of the loading directive.
If this option is not present, it uses the value of the Prolog flag qcompile as default.
false(default), which prints an error and refuses to load the file, or
true, which uses unload_file/1 on the old file and then proceeds loading the new file. Finally, there is
ask, which starts interaction with the user.
askis only provided if the stream
user_inputis associated with a terminal.
truere-export the imported predicate. Used by reexport/1 and reexport/2.
false, do not register the load location and options. This option is used by make/0 and load_hotfixes/1 to avoid polluting the load-context database. See source_file_property/2.
falsewhile the Prolog flag is set to
trueraises a permission error.
true. The system and user initialization files (see -f and -F) are loading with
true, load the file without printing a message. The specified value is the default for all files loaded as a result of loading the specified files. This option writes the Prolog flag verbose_load with the negation of Bool.
This option is added to allow compiling from non-file locations such
as databases, the web, the user (see consult/1)
or other servers. It can be combined with
load QLF data from a stream.
predicate can be hooked to load other data or data from objects other
than files. See prolog_load_file/2
for a description and
library(http/http_load) for an example. All hooks for load_files/2
are documented in section