41 source_file_property/2,
45 '$do_startup_reconsult'/1,
59:-
'$full_filename'/2
use_system_module(
'$_absf', []).
61:-
'$clear_reconsulting'/0
'$init_system'/0
'$init_win_graphics'/0
'$loop'/2
'$system_catch'/4
use_system_module(
'$_boot', [,
67:-
'$do_error'/2
use_system_module(
'$_errors', []).
69:-
'$import_foreign'/3
use_system_module(
'$_load_foreign', []).
71:-
'$add_to_imports'/3
'$convert_for_export'/6
'$extend_exports'/3
use_system_module(
'$_modules', [,
75:-
'$current_predicate'/4
use_system_module(
'$_preds', []).
200 '$yap_strip_module'(
Files0,
M,
Files),
201 '$load_files'(
Files,
M,
Opts,
M:load_files(
Files,
Opts)).
249 '$do_error'(instantiation_error,consult(
V)).
253 current_source_module(
M0,
M0),
256'$consult'(
Fs,
Module)
:-
260'$consult'(
Fs,
Module)
:-
314 load_files(
Fs, [consult(exo), if(not_loaded)]).
345 load_files(
Fs, [consult(db), if(not_loaded)]).
349 '$skip_list'(
_,
Fs ,
L),
352 :dot_qualified_goal(
Fs).
354 '$extract_minus'(
Fs,
MFs),
'$extract_minus',
360'$csult_in_mod'(
M,
F )
:- load_files(
M:F,[consult(consult)]).
362'$extract_minus'([], []).
363'$extract_minus'([
-F|Fs], [
F|MFs])
:-
364 '$extract_minus'(
Fs,
MFs).
398'$remove_multifile_clauses'(
FileName)
:-
399 recorded(
'$multifile_defs',
'$defined'(
FileName,
_,
_,
_),
R1),
402'$remove_multifile_clauses'(
FileName)
:-
403 recorded(
'$mf',
'$mf_clause'(
FileName,
_,
_,
Module,
Ref),
R),
404 '$erase_clause'(
Ref,
Module),
407'$remove_multifile_clauses'(
_).
419'$initialization'(
G)
:-
420 '$initialization'(
G, after_load ).
440initialization(
G,
OPT)
:-
441 '$initialization'(
G,
OPT),
443initialization(
_G,
_OPT).
445'$initialization'(
G0,
OPT)
:-
456 '$LoopError'(
Error, consult )
459 format(user_error,
':- ~w failed.~n',[
G])
464 '$show_consult_level'(
L),
465 strip_module(
G,
M,
GF),
466 recordz(
'$initialization_queue',q(
L,
M:GF),
_)
470 recordz(
'$call_at_restore',
G,
_ )
479'$exec_initialization_goals' :-
486'$exec_initialization_goals' :-
487 recorded(
'$system_initialization',
G,
R),
490 (
catch(
G,
Error, user
:'$LoopError'(
Error, top))
494 format(user_error,
':- ~w failed.~n',[
G])
497'$exec_initialization_goals' :-
498 '$show_consult_level'(
L),
499 recorded(
'$initialization_queue',q(
L,
G),
R),
509 format(user_error,
':- ~q failed.~n',[
G]),
512'$exec_initialization_goals'.
517'$do_startup_reconsult'(
_X)
:-
518 '$init_win_graphics',
519 '$do_startup_reconsult'.
520'$do_startup_reconsult'(
X)
:-
521 catch(load_files(user
:X, [silent(true)]),
Error,
'$LoopError'(
Error, consult)),
524'$do_startup_reconsult'(
_) .
526'$skip_unix_header'(
Stream)
:-
575 (
source_location(
F,
_)
576 -> file_directory_name(
F,
DirName)
;
580 (
source_location(
FileName,
_)
584 FileName = source_location
587 '__NB_getval__'(
'$consulting_file',
_, fail),
588 current_source_module(
Y,
Y),
591 (
source_location(
F0,
_)
605'$file_loaded'(
F0,
M)
:-
608 atom_concat(
Prefix,
'.qly',
F0 )
;
612 absolute_file_name(
Prefix,
F,[access(read),file_type(qly),file_errors(fail),solutions(first),expand(true)])
616 '$ensure_file_loaded'(
F,
M).
618'$ensure_file_loaded'(
F,
NM)
:-
620 recorded(
'$source_file',
'$source_file'(
F,
_Age,
NM),
_R),
622 (
recorded(
'$module',
'$module'(
F,
NM,
_ASource,
_P,
_),
_)
->
625 current_source_module(
M,
M),
M == NM
630'$file_unchanged'(
F,
NM)
:-
632 recorded(
'$source_file',
'$source_file'(
F,
Age,
NM),
R),
634 '$file_is_unchanged'(
F,
R,
Age),
635 '$file_is_unchanged',
637 (
recorded(
'$module',
'$module'(
F,
NM,
_ASource,
_P,
_),
_)
->
640 current_source_module(
M,
M),
M == NM
643'$file_is_unchanged'(
F,
R,
Age)
:-
644 time_file64(
F,
CurrentAge),
645 ( (
Age == CurrentAge ; Age = -1)
-> true
; erase(
R),
erase).
648'$loaded'(
F,
UserFile,
M,
OldF,
Line,
Reconsult0,
Reconsult,
Dir,
TOpts,
Opts)
:-
649 (
'$lf_opt'(
'$from_stream',
TOpts,true)
-> working_directory(
Dir,
Dir)
; file_directory_name(
F,
Dir) ),
653 Reconsult0 \== consult,
654 Reconsult0 \== not_loaded,
655 Reconsult0 \== changed,
656 recorded(
'$source_file',
'$source_file'(
F,
_,
_),
R),
664 Reconsult = Reconsult0
668 recorded(
'$lf_loaded',
'$lf_loaded'(
F,
_,
_,
_,
_,
_,
_),
R),
676 Reconsult = Reconsult0
678 (
'$lf_opt'(
'$from_stream',
TOpts,true)
-> Age = 0 ; time_file64(
F,
Age) ),
681 (
recorded(
'$module',
'$module'(
F,
_DonorM,
_SourceF,
_AllExports,
_Line),
_)
-> recorded
;
682 recordaifnot(
'$source_file',
'$source_file'(
F,
Age,
M),
_)
-> recordaifnot
;
684 recorda(
'$lf_loaded',
'$lf_loaded'(
F,
M,
Reconsult,
UserFile,
OldF,
Line,
Opts),
_).
695 recorded(
'$lf_loaded',
'$lf_loaded'(
F1,
_M,reconsult,
_,
_,
_,
_),
_),
700make_library_index(
_Directory).
702'$fetch_stream_alias'(
OldStream,
Alias)
:-
707'$store_clause'(
'$source_location'(
File,
_Line)
:Clause,
File)
:-
735source_file_property(
File0,
Prop)
:-
737 '$source_file_property'(
File,
Prop).
739'$source_file_property'(
OldF, includes(
F,
Age))
:-
740 recorded(
'$lf_loaded',
'$lf_loaded'(
F,
_M, include,
_File,
OldF,
_Line,
_),
_),
741 recorded(
'$source_file',
'$source_file'(
F,
Age,
_),
_).
742'$source_file_property'(
F, included_in(
OldF,
Line))
:-
743 recorded(
'$lf_loaded',
'$lf_loaded'(
F,
_M, include,
_File,
OldF,
Line,
_),
_).
744'$source_file_property'(
F, load_context(
OldF,
Line,
Options))
:-
745 recorded(
'$lf_loaded',
'$lf_loaded'(
F,
_M,
V,
_File,
OldF,
Line,
Options),
_),
V \== recorded.
746'$source_file_property'(
F, modified(
Age))
:-
747 recorded(
'$source_file',
'$source_file'(
F,
Age,
_),
_).
748'$source_file_property'(
F, module(
M))
:-
749 recorded(
'$module',
'$module'(
F,
M,
_,
_,
_),
_).
753 '$unload_file'(
F1,
F0 ).
757'$unload_file'(
FileName,
_F0 )
:-
759 '$current_predicate'(
_A,
Mod,
P,all),
760 '$owner_file'(
P,
Mod,
FileName),
761 \+ '$is_multifile'(
P,
Mod),
766'$unload_file'(
FileName,
_F0 )
:-
767 recorded(
'$source_file',
'$source_file'(
FileName,
_Age,
_),
R),
770'$unload_file'(
FileName,
_F0 )
:-
771 recorded(
'$mf',
'$mf_clause'(
FileName,
_Name,
_Arity,
Module,
ClauseRef),
R),
773 '$erase_clause'(
ClauseRef,
Module),
775'$unload_file'(
FileName,
_F0 )
:-
776 recorded(
'$multifile_dynamic'(
_,
_,
_),
'$mf'(
_Na,
_A,
_M,
FileName,
R),
R1),
780'$unload_file'(
FileName,
_F0 )
:-
781 recorded(
'$multifile_defs',
'$defined'(
FileName,
_Name,
_Arity,
_Mod),
R),
784'$unload_file'(
FileName,
_F0 )
:-
785 recorded(
'$module',
'$module'(
FileName,
Mod,
_SourceF,
_,
_),
R),
789'$unload_file'(
FileName,
_F0 )
:-
790 recorded(
'$directive',
'$d'(
FileName,
_M:_G,
_Mode,
_VL,
_Pos ),
R),
848'$if'(
_,top)
:- '$if',
'$if'.
850 '__NB_getval__'(
'$if_level',
Level0,
Level=0),
853 (
'__NB_getval__'(
'$endif',
OldEndif, fail)
-> '__NB_getval__'
; OldEndif='__NB_getval__'),
854 (
'__NB_getval__'(
'$if_skip_mode',
Mode, fail)
-> '__NB_getval__'
; Mode = '__NB_getval__' ),
855 nb_setval(
'$endif',elif(
Level,
OldEndif,
Mode)),
859 '__NB_getval__'(
'$endif',elif(
Level,
OldEndif, skip), fail),
'__NB_getval__',
860 nb_setval(
'$endif',endif(
Level,
OldEndif, skip)).
867 '__NB_getval__'(
'$endif', elif(
Level,
OldEndif,
Mode), fail),
868 nb_setval(
'$endif',endif(
Level,
OldEndif,
Mode))
879'$else'(top)
:- '$else',
'$else'.
881 '__NB_getval__'(
'$if_level',
0,true),
883 '$do_error'(context_error(no_if),(
:- else)).
886 nb_getval(
'$endif',endif(
_Level,
_,
_)),
nb_getval,
890 '__NB_getval__'(
'$if_level',
Level,
Level=0),
891 nb_getval(
'$endif',elif(
Level,
OldEndif,
Mode)),
892 nb_setval(
'$endif',endif(
Level,
OldEndif,
Mode)),
902'$elif'(
_,top)
:- '$elif',
'$elif'.
904 '__NB_getval__'(
'$if_level',
0,true),
906 '$do_error'(context_error(no_if),(
:- elif(
Goal))).
908 nb_getval(
'$endif',endif(
_,
_,
_)),
nb_getval,
912 '__NB_getval__'(
'$if_level',
Level,fail),
913 '__NB_getval__'(
'$endif',elif(
Level,
OldEndif,
Mode),fail),
917 nb_setval(
'$endif',endif(
Level,
OldEndif,
Mode)),
929'$endif'(top)
:- '$endif',
'$endif'.
932 '__NB_getval__'(
'$if_level',
0,true),
934 '$do_error'(context_error(no_if),(
:- endif)).
937 '__NB_getval__'(
'$if_level',
Level,
Level=0),
941 arg(
2,
Endif,
OldEndif),
942 arg(
3,
Endif,
OldMode),
948 catch(
'$eval_if'(
G),
E, (print_message(error,
E), fail)).
951 '$expand_term'(
Goal,
TrueGoal),
954'$if_directive'((
:- if(
_))).
955'$if_directive'((
:- else)).
956'$if_directive'((
:- elif(
_))).
957'$if_directive'((
:- endif)).
960'$comp_mode'(
OldCompMode,
CompMode)
:-
962 '$fetch_comp_status'(
OldCompMode ).
963'$comp_mode'(
OldCompMode, assert_all)
:-
965 '$fetch_comp_status'(
OldCompMode),
967'$comp_mode'(
OldCompMode, source)
:-
969 '$fetch_comp_status'(
OldCompMode),
971'$comp_mode'(
OldCompMode, compact)
:-
972 '$fetch_comp_status'(
OldCompMode),
975'$fetch_comp_status'(assert_all)
:-
976 '__NB_getval__'(
'$assert_all',on, fail),
'__NB_getval__'.
977'$fetch_comp_status'(source)
:-
979'$fetch_comp_status'(compact).
985consult_depth(
LV)
:- '$show_consult_level'(
LV).
987prolog_library(
File)
:-
988 yap_flag(verbose_load,
Old,false),
990 yap_flag(verbose_load,
_,
Old).
992'$full_filename'(
File0,
File)
:-
993 absolute_file_name(
File0,[access(read),file_type(prolog),file_errors(fail),solutions(first),expand(true)],
File).
995:-
'$add_multifile'(dot_qualified_goal,
1,user).
1002
absolute_file_name(+Name:atom,+Path:atom)
absolute_file_name( -File:atom, +Path:atom, +Options:list)
catch( : Goal,+ Exception,+ Action)
module(+ M:atom,+ L:list )
must_be_callable( ?_Goal_ )
stream_property( Stream, Prop )
working_directory( ?_CurDir_,? NextDir)
nb_setval(+ Name,+ Value)
current_module( ? Mod:atom)
nb_getval(+ Name, - Value)
current_prolog_flag(? Flag,- Value)
set_prolog_flag(+ Flag,+ Value)
load_files(+_Files_, +_Options_)
prolog_load_context(? Key, ? Value)