Did you know ... Search Documentation:
GIT commit info
Fixed example code
authorJan Wielemaker
Wed Apr 20 14:45:43 2022 +0000
committerWiki manager
Wed Apr 20 14:45:43 2022 +0000
commita752e83336825c266a07c4c292d0ca49f8f1783c
treee791b34c546d905f9f99d413a988fe474df85ff6
parent5396d0d54bd7285e94e7477eee63e63900f30bdf
Diff style: patch stat
diff --git a/FAQ/ReadDynamicFromFile.txt b/FAQ/ReadDynamicFromFile.txt
index 24fa988..d5fb9a7 100644
--- a/FAQ/ReadDynamicFromFile.txt
+++ b/FAQ/ReadDynamicFromFile.txt
@@ -14,22 +14,23 @@ data on a graph as arc/2 facts, this looks as follows.
 :- dynamic arc/2.
 
 load_arcs(File) :-
-	retractall(arc(_,_)),
-	open(File, read, Stream),
-	call_cleanup(load_arcs(Stream),
-		     close(Stream)).
+        retractall(arc(_,_)),
+        setup_call_cleanup(
+            open(File, read, Stream),
+            load_arcs_from_stream(Stream),
+            close(Stream)).
 
-load_arcs(Stream) :-
-	read(Stream, T0),
-	load_arcs(T0, Stream).
+load_arcs_from_stream(Stream) :-
+        read(Stream, T0),
+        load_arcs(T0, Stream).
 
 load_arcs(end_of_file, _) :- !.
 load_arcs(arc(From, To), Stream) :- !,
-	assert(arc(From, To)),
-	read(Stream, T2),
- 	load_arcs(T2, Stream).
-load_arcs(Term, Stream) :-
-	type_error(arc, Term).
+        assert(arc(From, To)),
+        read(Stream, T2),
+        load_arcs(T2, Stream).
+load_arcs(Term, _Stream) :-
+        type_error(arc, Term).
 ==
 
 Of course you should adapt this code to your case. This code properly