summaryrefslogtreecommitdiff
path: root/loader.pl
diff options
context:
space:
mode:
Diffstat (limited to 'loader.pl')
-rw-r--r--loader.pl17
1 files changed, 10 insertions, 7 deletions
diff --git a/loader.pl b/loader.pl
index 3ba1c05..7fa6734 100644
--- a/loader.pl
+++ b/loader.pl
@@ -1,19 +1,22 @@
:- module(loader, []).
+start(Args) :-
+ catch((load_module_from_file('/sys/lib/prolog/repl.pl'), ReplLoaded = true), E, (print_exception(E), ReplLoaded = false)),
+ ( ReplLoaded = true-> repl:repl(Args) ).
+
+print_exception(E) :-
+ write('Caught exception while loading /sys/lib/prolog/repl.pl: '),
+ write(E),
+ nl.
+
load_module_from_file(File) :-
- write('Loading file: '),
- write(File),
- nl,
( atom_concat(_, '.pl', File)
-> open(File, read, Stream)
; atom_concat(File, '.pl', File1),
open(File1, read, Stream)
),
read_and_handle_terms(Stream, user, _),
- close(Stream),
- write('Loaded file: '),
- write(File),
- nl.
+ close(Stream).
read_and_handle_terms(Stream, Module0, Module) :-
( read_one_term(Stream, Term)