blob: f5b49e8aa04c81415bd31331efee7e7b93284f91 [file] [log] [blame]
% If you have 1.4.3 or older Prolog-Cafe, you need to
% use (consult(load), load(load)) to get definition of load.
% Then use load([f1,f2,...]) to load multiple source files.
% Input is a list of file names or a single file name.
% Use a conditional expression style without cut operator.
load(X) :-
( (X = [])
-> true
; ( (X = [H|T])
-> (load_file(H), load(T))
; load_file(X)
)
).
% load_file is '$consult' without the bug of unbound 'File' variable.
% For repeated unit tests, skip statistics and print_message.
load_file(F) :- atom(F), !,
'$prolog_file_name'(F, PF),
open(PF, read, In),
% print_message(info, [loading,PF,'...']),
% statistics(runtime, _),
consult_stream(PF, In),
% statistics(runtime, [_,T]),
% print_message(info, [PF,'loaded in',T,msec]),
close(In).