root/tags/lgt293/configs/template.config

Revision 70, 6.7 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 <your Prolog compiler name here>
7%
8%  last updated: <date of latest update>
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(_) :-             % remove this clause if you need
30    fail.                           % to define any ISO predicate
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    ?????
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% retractall(+callable)
65
66retractall(Head) :-
67    ?????
68
69
70% lgt_call/2-8
71%
72% if your compiler provides call/1-8 as built-in
73% predicates rewrite these definitions using call(...).
74
75lgt_call(F, A) :-
76    Call =.. [F, A],
77    call(Call).
78
79
80lgt_call(F, A1, A2) :-
81    Call =.. [F, A1, A2],
82    call(Call).
83
84
85lgt_call(F, A1, A2, A3) :-
86    Call =.. [F, A1, A2, A3],
87    call(Call).
88
89
90lgt_call(F, A1, A2, A3, A4) :-
91    Call =.. [F, A1, A2, A3, A4],
92    call(Call).
93
94
95lgt_call(F, A1, A2, A3, A4, A5) :-
96    Call =.. [F, A1, A2, A3, A4, A5],
97    call(Call).
98
99
100lgt_call(F, A1, A2, A3, A4, A5, A6) :-
101    Call =.. [F, A1, A2, A3, A4, A5, A6],
102    call(Call).
103
104
105lgt_call(F, A1, A2, A3, A4, A5, A6, A7) :-
106    Call =.. [F, A1, A2, A3, A4, A5, A6, A7],
107    call(Call).
108
109
110% lgt_once/2-8
111%
112% if your compiler provides call/1-8 as built-in
113% predicates rewrite these definitions using call(...), !.
114
115lgt_once(F, A) :-
116    Call =.. [F, A],
117    once(Call).
118
119
120lgt_once(F, A1, A2) :-
121    Call =.. [F, A1, A2],
122    once(Call).
123
124
125lgt_once(F, A1, A2, A3) :-
126    Call =.. [F, A1, A2, A3],
127    once(Call).
128
129
130lgt_once(F, A1, A2, A3, A4) :-
131    Call =.. [F, A1, A2, A3, A4],
132    once(Call).
133
134
135lgt_once(F, A1, A2, A3, A4, A5) :-
136    Call =.. [F, A1, A2, A3, A4, A5],
137    once(Call).
138
139
140lgt_once(F, A1, A2, A3, A4, A5, A6) :-
141    Call =.. [F, A1, A2, A3, A4, A5, A6],
142    once(Call).
143
144
145lgt_once(F, A1, A2, A3, A4, A5, A6, A7) :-
146    Call =.. [F, A1, A2, A3, A4, A5, A6, A7],
147    once(Call).
148
149
150
151%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
152%
153%  file extension predicates
154%
155%  these extensions are used by Logtalk load/compile predicates
156%
157%  you may want to change the extension for Prolog files to match
158%  the one expected by your Prolog compiler
159%
160%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
161
162
163% lgt_file_extension(?atom, ?atom)
164
165lgt_file_extension(logtalk, '.lgt').
166lgt_file_extension(prolog, '.pl').
167lgt_file_extension(xml, '.xml').
168
169
170
171%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
172%
173%  default flag values
174%
175%  if your Prolog compiler supports the ISO definition of the
176%  initialization/1 then change the default value below to true
177%
178%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179
180
181% lgt_default_flag(?atom, ?atom)
182%
183% default values for all flags
184
185lgt_default_flag(iso_initialization_dir, false).
186
187lgt_default_flag(xml, on).
188lgt_default_flag(xsl, 'lgtxml.xsl').
189
190lgt_default_flag(unknown, warning).
191lgt_default_flag(misspelt, warning).
192lgt_default_flag(singletons, warning).
193lgt_default_flag(lgtredef, warning).
194lgt_default_flag(plredef, silent).
195lgt_default_flag(portability, silent).
196
197lgt_default_flag(report, on).
198
199
200
201%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
202%
203%  list predicates
204%
205%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206
207
208lgt_append([], List, List).
209lgt_append([Head| Tail], List, [Head| Tail2]) :-
210    lgt_append(Tail, List, Tail2).
211
212
213lgt_member(Head, [Head| _]).
214lgt_member(Head, [_| Tail]) :-
215    lgt_member(Head, Tail).
216
217
218lgt_member_var(V, [H| _]) :-
219    V == H.
220lgt_member_var(V, [_| T]) :-
221    lgt_member_var(V, T).
222
223
224lgt_proper_list([]).
225lgt_proper_list([_| List]) :-
226    lgt_proper_list(List).
227
228
229
230%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
231%
232%  file predicates
233%
234%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235
236
237% lgt_file_exists(+atom)
238%
239% see if a file exist in the current directory
240
241lgt_file_exists(File) :-
242    ?????
243
244
245% lgt_load_prolog_code(+atom)
246%
247% compile and load a Prolog file
248
249lgt_load_prolog_code(File) :-
250    ?????
251
252
253
254%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
255%
256%  sorting predicates
257%
258%  note that sort/2 and keysort/2 are buitl-in predicates in most Prolog
259%  compilers
260%
261%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262
263
264% lgt_keysort(+list, -list)
265
266lgt_keysort(List, Sorted) :-
267    ?????
268
269
270% lgt_sort(+list, -list)
271
272lgt_sort(List, Sorted) :-
273    ?????
274
275
276
277%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
278%
279%  time and date predicates
280%
281%  if your Prolog compiler does not provide access to the operating system
282%  time and date just write dummy definitions
283%
284%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
285
286
287% lgt_current_date(?Year, ?Month, ?Day)
288
289lgt_current_date(Year, Month, Day) :-
290    ?????
291
292
293% lgt_current_time(?Hours, ?Mins, ?Secs)
294
295lgt_current_time(Hours, Mins, Secs) :-
296    ?????
297
298
299
300%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
301%
302%  timing predicate
303%
304%  if your Prolog compiler does not provide access to a timing predicate
305%  just write dummy definition
306%
307%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
308
309
310% lgt_cpu_time(-Seconds)
311
312lgt_cpu_time(Seconds) :-
313    ?????
314
315
316
317%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318%
319%  comparison predicate
320%
321%  the usual compare/3 definition
322%
323%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
324
325
326% compare(?atom, @term, @term)
327
328compare(Order, Term1, Term2) :-
329    ?????
330
331
332
333%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334%
335%  end!
336%
337%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracBrowser for help on using the browser.