- Documentation
- Reference manual
- Built-in Predicates
- Loading Prolog source files
- load_files/1
 - load_files/2
 - consult/1
 - ensure_loaded/1
 - include/1
 - require/1
 - encoding/1
 - make/0
 - library_directory/1
 - file_search_path/2
 - expand_file_search_path/2
 - prolog_file_type/2
 - source_file/1
 - source_file/2
 - source_file_property/2
 - unload_file/1
 - prolog_load_context/2
 - source_location/2
 - at_halt/1
 - cancel_halt/1
 - initialization/1
 - initialization/2
 - initialization/0
 - compiling/0
 - Conditional compilation and program transformation
 - Reloading files, active code and threads
 - Quick load files
 
 
 - Loading Prolog source files
 
 - Built-in Predicates
 - Packages
 
 - Reference manual
 
file_search_path(+Alias, 
-Path)Alias(Name), e.g., library(lists). This 
feature is best described using an example. Given the definition:
file_search_path(demo, '/usr/lib/prolog/demo').
the file specification demo(myfile) will be expanded to
/usr/lib/prolog/demo/myfile. The second argument of
file_search_path/2 
may be another alias.
Below is the initial definition of the file search path. This path 
implies swi(<Path>) and refers to a file 
in the SWI-Prolog home directory. The alias foreign(<Path>) 
is intended for storing shared libraries (.so or .DLL 
files). See also
use_foreign_library/1.
user:file_search_path(library, X) :-
        library_directory(X).
user:file_search_path(swi, Home) :-
        current_prolog_flag(home, Home).
user:file_search_path(foreign, swi(ArchLib)) :-
        current_prolog_flag(arch, Arch),
        atom_concat('lib/', Arch, ArchLib).
user:file_search_path(foreign, swi(lib)).
user:file_search_path(path, Dir) :-
        getenv('PATH', Path),
        (   current_prolog_flag(windows, true)
        ->  atomic_list_concat(Dirs, (;), Path)
        ;   atomic_list_concat(Dirs, :, Path)
        ),
        member(Dir, Dirs).
The file_search_path/2 expansion is used by all loading predicates as well as by absolute_file_name/[2,3].
The Prolog flag verbose_file_search 
can be set to true to help debugging Prolog's search for 
files.