root/tags/lgt293/configs/prologII.config

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