root/tags/lgt293/configs/ifprolog.config

Revision 70, 6.3 KB (checked in by pmoura, 7 years ago)

Changed comments about Logtalk flags.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%
3%  Logtalk - Object oriented extension to Prolog
4%  Release 2.9.3
5%
6%  configuration file for IF/Prolog 5.1
7%
8%  last updated: December 30, 2001
9%
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
12
13
14
15%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16%
17%  ISO Prolog Standard predicates that we must define because they are
18%  not built-in
19%
20%  add a clause for lgt_iso_predicate/1 declaring each ISO predicate that
21%  we must define; there must be at least one clause for this predicate
22%  whose call should fail if we don't define any ISO predicates
23%
24%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25
26
27% lgt_iso_predicate(?callable).
28
29lgt_iso_predicate(_) :-
30    fail.
31
32
33
34%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35%
36%  predicate properties
37%
38%  this predicate must return at least static, dynamic and built_in
39%  properties for an existing predicate
40%
41%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42
43
44% lgt_predicate_property(+callable, ?predicate_property)
45
46lgt_predicate_property(Pred, Prop) :-
47    predicate_property(Pred, Prop).
48
49
50
51%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52%
53%  metapredicates
54%
55%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56
57
58% forall(+callable, +callble)
59
60forall(Generate, Test) :-
61    \+ call((Generate, \+ call(Test))).
62
63
64% lgt_call/2-8
65%
66% use these definitions only if your compiler does
67% not provide call/1-8 as built-in predicates
68
69lgt_call(F, A) :-
70    Call =.. [F, A],
71    call(Call).
72
73
74lgt_call(F, A1, A2) :-
75    Call =.. [F, A1, A2],
76    call(Call).
77
78
79lgt_call(F, A1, A2, A3) :-
80    Call =.. [F, A1, A2, A3],
81    call(Call).
82
83
84lgt_call(F, A1, A2, A3, A4) :-
85    Call =.. [F, A1, A2, A3, A4],
86    call(Call).
87
88
89lgt_call(F, A1, A2, A3, A4, A5) :-
90    Call =.. [F, A1, A2, A3, A4, A5],
91    call(Call).
92
93
94lgt_call(F, A1, A2, A3, A4, A5, A6) :-
95    Call =.. [F, A1, A2, A3, A4, A5, A6],
96    call(Call).
97
98
99lgt_call(F, A1, A2, A3, A4, A5, A6, A7) :-
100    Call =.. [F, A1, A2, A3, A4, A5, A6, A7],
101    call(Call).
102
103
104% lgt_once/2-8
105%
106% if your compiler provides call/1-8 as built-in
107% predicates rewrite these definitions using call(...), !.
108
109lgt_once(F, A) :-
110    Call =.. [F, A],
111    once(Call).
112
113
114lgt_once(F, A1, A2) :-
115    Call =.. [F, A1, A2],
116    once(Call).
117
118
119lgt_once(F, A1, A2, A3) :-
120    Call =.. [F, A1, A2, A3],
121    once(Call).
122
123
124lgt_once(F, A1, A2, A3, A4) :-
125    Call =.. [F, A1, A2, A3, A4],
126    once(Call).
127
128
129lgt_once(F, A1, A2, A3, A4, A5) :-
130    Call =.. [F, A1, A2, A3, A4, A5],
131    once(Call).
132
133
134lgt_once(F, A1, A2, A3, A4, A5, A6) :-
135    Call =.. [F, A1, A2, A3, A4, A5, A6],
136    once(Call).
137
138
139lgt_once(F, A1, A2, A3, A4, A5, A6, A7) :-
140    Call =.. [F, A1, A2, A3, A4, A5, A6, A7],
141    once(Call).
142
143
144
145%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
146%
147%  file extension predicates
148%
149%  these extensions are used by Logtalk load/compile predicates
150%
151%  you may want to change the extension for Prolog files to match
152%  the one expected by your Prolog compiler
153%
154%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155
156
157% lgt_file_extension(?atom, ?atom)
158
159lgt_file_extension(logtalk, '.lgt').
160lgt_file_extension(prolog, '.pl').
161lgt_file_extension(xml, '.xml').
162
163
164
165%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166%
167%  default flag values
168%
169%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
170
171
172% lgt_default_flag(?atom, ?atom)
173%
174% default values for all flags
175
176lgt_default_flag(iso_initialization_dir, true).
177
178lgt_default_flag(xml, on).
179lgt_default_flag(xsl, 'lgtxml.xsl').
180
181lgt_default_flag(unknown, warning).
182lgt_default_flag(misspelt, warning).
183lgt_default_flag(singletons, warning).
184lgt_default_flag(lgtredef, warning).
185lgt_default_flag(plredef, silent).
186lgt_default_flag(portability, silent).
187
188lgt_default_flag(report, on).
189
190
191
192%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
193%
194%  list predicates
195%
196%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
197
198
199lgt_append([], List, List).
200lgt_append([Head| Tail], List, [Head| Tail2]) :-
201    lgt_append(Tail, List, Tail2).
202
203
204lgt_member(Head, [Head| _]).
205lgt_member(Head, [_| Tail]) :-
206    lgt_member(Head, Tail).
207
208
209lgt_member_var(V, [H| _]) :-
210    V == H.
211lgt_member_var(V, [_| T]) :-
212    lgt_member_var(V, T).
213
214
215lgt_proper_list([]).
216lgt_proper_list([_| List]) :-
217    lgt_proper_list(List).
218
219
220
221%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222%
223%  file predicates
224%
225%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
226
227
228% lgt_file_exists(+atom)
229%
230% see if a file exist in the current directory
231
232lgt_file_exists(File) :-
233    file_test(File, read).
234
235
236% lgt_load_prolog_code(+atom)
237%
238% compile and load a Prolog file
239
240lgt_load_prolog_code(File) :-
241    reconsult(File).
242
243
244
245%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
246%
247%  sorting predicates
248%
249%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
250
251
252% lgt_keysort(+list, -list)
253
254lgt_keysort(List, Sorted) :-
255    throw(error(not_implemented, keysort/2)).
256
257
258% lgt_sort(+list, -list)
259
260lgt_sort(List, Sorted) :-
261    sort(List, Sorted).
262
263
264
265%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266%
267%  time and date predicates
268%
269%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
270
271
272% lgt_current_date(?Year, ?Month, ?Day)
273
274lgt_current_date(Year, Month, Day) :-
275    localtime(time, Year, Month, Day, _, _, _, _, _).
276
277
278% lgt_current_time(?Hours, ?Mins, ?Secs)
279
280lgt_current_time(Hours, Mins, Secs) :-
281    localtime(time, _, _, _, _, _, Hours, Min, Secs).
282
283
284
285%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
286%
287%  timing predicate
288%
289%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
290
291
292% lgt_cpu_time(-Seconds)
293
294lgt_cpu_time(Seconds) :-
295    Seconds is cputime.
296
297
298
299%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
300%
301%  comparison predicate
302%
303%  the usual compare/3 definition
304%
305%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
306
307
308% compare(?atom, @term, @term) -- built-in
309
310
311
312%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
313%
314%  end!
315%
316%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracBrowser for help on using the browser.