This file is indexed.

/usr/share/Yap/pl/save.yap is in yap 6.2.2-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 /*************************************************************************
 *									 *
 *	 YAP Prolog 							 *
 *									 *
 *	Yap Prolog was developed at NCCUP - Universidade do Porto	 *
 *									 *
 * Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-2010	 *
 *									 *
 **************************************************************************
 *									 *
 * File:		save.yap					 *
 * Last rev:	11/29/10						 *
 * mods:								 *
 * comments:	Some utility predicates to support save/restore in yap	 *
 *									 *
 *************************************************************************/

%%% Saving and restoring a computation

save(A) :- save(A,_).

save(A,_) :- var(A), !,
	'$do_error'(instantiation_error,save(A)).
save(A,OUT) :- atom(A), !, atom_codes(A,S), '$save'(S,OUT).
save(S,OUT) :- '$save'(S,OUT).

save_program(A) :- var(A), !,
	'$do_error'(instantiation_error,save_program(A)).
save_program(A) :- atom(A), !, 
	atom_codes(A,S),
	'$save_program2'(S, true).
save_program(S) :- '$save_program2'(S, true).

save_program(A, G) :- var(A), !,
	'$do_error'(instantiation_error, save_program(A,G)).
save_program(A, G) :- var(G), !,
	'$do_error'(instantiation_error, save_program(A,G)).
save_program(A, G) :- \+ callable(G), !,
	'$do_error'(type_error(callable,G), save_program(A,G)).
save_program(A, G) :-
	( atom(A) -> atom_codes(A,S) ; A = S),
	'$save_program2'(S, G),
	fail.
save_program(_,_).

'$save_program2'(S,G) :-
	(
	    G == true
        ->
	     true
	 ;
	     recorda('$restore_goal', G ,R)
	),
	(
	    '$undefined'(reload_foreign_libraries, shlib)
        ->
	     true
	 ;
	     recorda('$reload_foreign_libraries', true, R1)
	),
	'$save_program'(S),
	(
	    var(R1)
        ->
	     true
	 ;
	     erase(R1)
	),
	(
	    var(R)
        ->
	     true
	 ;
	     erase(R)
	),
	fail.
'$save_program2'(_,_).

restore(A) :- var(A), !,
	'$do_error'(instantiation_error,restore(A)).
restore(A) :- atom(A), !, name(A,S), '$restore'(S).
restore(S) :- '$restore'(S).