root/tags/lgt293/configs/amzi.config

Revision 70, 12.1 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 Amzi! Prolog 4.103, 5.0
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
27initialization(Goal) :-
28    call(Goal).
29
30
31
32% lgt_iso_predicate(?callable).
33
34lgt_iso_predicate(close(_)).
35lgt_iso_predicate(compound(_)).
36lgt_iso_predicate(copy_term(_, _)).
37lgt_iso_predicate(number_codes(_, _)).
38lgt_iso_predicate(open(_, _, _)).
39lgt_iso_predicate(read_term(_, _, _)).
40lgt_iso_predicate(write_term(_, _, _)).
41
42
43close(Stream) :-
44    fclose(Stream).
45
46
47compound(Term) :-
48    structure(Term).
49
50
51copy_term(Term, Copy) :-
52    asserta(lgt_copy_term_(Term)),
53    retract(lgt_copy_term_(Copy)).
54
55
56number_codes(Number, Codes) :-
57    string_integer(String, Number),
58    string_list(String, Codes).
59
60
61open(File, read, Stream) :-
62    fopen(Stream, File, r).
63
64open(File, write, Stream) :-
65    fopen(Stream, File, w).
66
67
68read_term(Stream, Term, [singletons([])]) :-
69    !,
70    read(Stream, Term2),
71    (Term2 = '!EOF' -> Term = end_of_file; Term = Term2).
72
73read_term(Stream, Term, _) :-
74    read(Stream, Term2),
75    (Term2 = '!EOF' -> Term = end_of_file; Term = Term2).
76
77
78write_term(Stream, Term, [quoted(true)]) :-
79    !,
80    writeq(Stream, Term).
81
82write_term(Stream, Term, _) :-
83    write(Stream, Term).
84
85
86
87%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88%
89%  predicate properties
90%
91%  this predicate must return at least static, dynamic and built_in
92%  properties for an existing predicate
93%
94%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95
96
97% lgt_predicate_property(+callable, ?predicate_property)
98
99lgt_predicate_property(Predicate, built_in) :-
100    builtin(Predicate).
101
102lgt_predicate_property(Predicate, static) :-
103    is$code(Predicate, 1).
104
105lgt_predicate_property(Predicate, dynamic) :-
106    functor(Predicate, Functor, Arity),
107    current_predicate(Functor/Arity),
108    \+ is$code(Predicate, _).
109
110
111builtin(F/A) :- !, builtin(F, A).
112builtin(T) :- functor(T, F, A), builtin(F, A).
113
114builtin(!, 0).
115
116builtin(\+, 2).
117
118builtin(\=, 2).
119builtin(=, 2).
120
121builtin(=.., 2).
122
123builtin(@=<, 2).
124builtin(==, 2).
125builtin(\==, 2).
126builtin(@<, 2).
127builtin(@>, 2).
128builtin(@>=, 2).
129
130builtin(=<, 2).
131builtin(=:=, 2).
132builtin(=\=, 2).
133builtin(<, 2).
134builtin(>, 2).
135builtin(>=, 2).
136
137builtin(-, 1).
138builtin(-, 2).
139builtin(+, 2).
140builtin(*, 2).
141builtin(/, 2).
142builtin(//, 2).
143builtin(mod, 2).
144builtin(^, 2).
145builtin(\, 1).
146builtin(<<, 2).
147builtin(>>, 2).
148
149builtin(abolish, 1).
150builtin(abolish, 2).
151builtin(abort, 1).
152builtin(add, 1).
153builtin(arg, 3).
154builtin(assert, 1).
155builtin(asserta, 1).
156builtin(assertz, 1).
157builtin(atom, 1).
158builtin(atom_codes, 2).
159builtin(atomic, 1).
160builtin(atom_concat, 3).
161builtin(atom_length, 2).
162builtin(atom_uplow, 2).
163builtin(atomlist_concat, 2).
164builtin(bagof, 3).
165builtin(builtin, 1).
166builtin(builtin, 2).
167builtin(call, 1).
168builtin(catch, 3).
169builtin(clause, 2).
170builtin(clause, 3).
171builtin(closelog, 0).
172builtin(cntr_dec, 2).
173builtin(cntr_get, 2).
174builtin(cntr_inc, 2).
175builtin(cntr_set, 2).
176builtin(command_line, 1).
177builtin(compare, 3).
178builtin(compare_lists,3).
179builtin(consult, 1).
180builtin(consult_ops, 1).
181builtin(consult_project, 1).
182builtin(current_atom, 1).
183builtin(current_op, 3).
184builtin(current_prolog_flag, 2).
185builtin(current_predicate, 1).
186builtin(current_streams, 3).
187builtin(current_user, 3).
188builtin(cut_tag, 1).
189builtin(date, 3).
190builtin(db_ref, 3).
191builtin(defined, 1).
192builtin(display, 1).
193builtin(erase, 1).
194builtin(eraseall, 1).
195builtin(err_raise, 1).
196builtin(expand_term, 2).
197builtin(fail, 0).
198builtin(fatalerrors, 0).
199builtin(fatalerrors, 1).
200builtin(fclose, 1).
201builtin(fflush, 1).
202builtin(fileerrors, 0).
203builtin(fileerrors, 1).
204builtin(file_exists, 1).
205builtin(file_exists, 2).
206builtin(findall, 3).
207builtin(findfiles, 3).
208builtin(float, 1).
209builtin(flush_in, 0).
210builtin(flush_out, 0).
211builtin(fseek, 4).
212builtin(fread, 3).
213builtin(fwrite, 3).
214builtin(functor, 3).
215builtin(fopen, 3).
216builtin(for, 4).
217builtin(gc, 0).
218builtin(gensym, 2).
219builtin(get, 1).
220builtin(get, 2).
221builtin(get0, 1).
222builtin(get0, 2).
223builtin(get1, 1).
224builtin(get1, 2).
225builtin(get_mode, 2).
226builtin(get_preds, 1).
227builtin(halt, 0).
228builtin(handle_name, 2).
229builtin(help, 0).
230builtin(help, 1).
231builtin(keyb, 1).
232builtin(integer, 1).
233builtin(instance, 1).
234builtin(is, 2).
235builtin(islist, 1).
236builtin(latent_exp, 0).
237builtin(latent_opdef, 0).
238builtin(lint, 0).
239builtin(lint, 1).
240builtin(list, 1).
241builtin(listing, 0).
242builtin(listing, 1).
243builtin(load, 1).
244builtin(long, 1).
245builtin(nl, 0).
246builtin(nl, 1).
247builtin(nllog, 0).
248builtin(nonblank_string, 1).
249builtin(nofatalerrors, 0).
250builtin(nofileerrors, 0).
251builtin(nolint, 0).
252builtin(nonvar, 1).
253builtin(noprotect_db, 0).
254builtin(not, 1).
255builtin(number, 1).
256builtin(numbervars, 3).
257builtin(once, 1).
258builtin(openlog, 1).
259builtin(op, 3).
260builtin(phrase, 2).
261builtin(phrase, 3).
262builtin(press_any_key, 0).
263builtin(protect_db, 0).
264builtin(protect_db, 1).
265builtin(put, 1).
266builtin(put, 2).
267builtin(read, 1).
268builtin(read, 2).
269builtin(read_string, 1).
270builtin(read_string, 2).
271builtin(reconsult, 1).
272builtin(reconsult_project, 1).
273builtin(record, 3).
274builtin(recorda, 3).
275builtin(recordz, 3).
276builtin(recorded, 3).
277builtin(reload, 1).
278builtin(remove_dups,2).
279builtin(repeat, 0).
280builtin(replace, 0).
281builtin(respkey, 1).
282builtin(retract, 1).
283builtin(retractall, 1).
284builtin(see, 1).
285builtin(seeing, 1).
286builtin(seen, 0).
287builtin(seentold, 0).
288builtin(seetell, 1).
289builtin(setof, 3).
290builtin(set_errors, 1).
291builtin(set_mode, 2).
292builtin(set_prolog_flag, 2).
293builtin(short, 1).
294builtin(skip, 1).
295builtin(skip, 2).
296builtin(sort, 2).
297builtin(strcat, 3).
298builtin(stream_type, 2).
299builtin(string, 1).
300builtin(string_atom, 2).
301builtin(string_integer, 2).
302builtin(string_length, 2).
303builtin(string_list, 2).
304builtin(string_term, 2).
305builtin(stringlist_concat, 3).
306builtin(structure, 1).
307builtin(sub_atom, 4).
308builtin(sub_string, 4).
309builtin(substring, 4).
310builtin(tab, 1).
311builtin(tab, 2).
312builtin(tell, 1).
313builtin(telling, 1).
314builtin(throw, 1).
315builtin(told, 0).
316builtin(unget0, 1).
317builtin(unget0, 2).
318builtin(unload, 1).
319builtin(tab, 1).
320builtin(tab, 2).
321builtin(tag, 1).
322builtin(tell, 1).
323builtin(tell, 2).
324builtin(telling, 1).
325builtin(told, 0).
326builtin(true, 0).
327builtin(var, 1).
328builtin(varlist, 1).
329builtin(varsof, 2).
330builtin(verbose, 0).
331builtin(verbose, 1).
332builtin(write, 1).
333builtin(write, 2).
334builtin(writelog, 1).
335builtin(writeq, 1).
336builtin(writeq, 2).
337
338
339
340%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
341%
342%  metapredicates
343%
344%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
345
346
347abort :-
348    abort(0).
349
350
351% forall(+callable, +callble)
352
353forall(Generate, Test) :-
354    \+ call((Generate, \+ call(Test))).
355
356
357% lgt_call/2-8
358%
359% use these definitions only if your compiler does
360% not provide call/1-8 as built-in predicates
361
362lgt_call(F, A) :-
363    Call =.. [F, A],
364    call(Call).
365
366
367lgt_call(F, A1, A2) :-
368    Call =.. [F, A1, A2],
369    call(Call).
370
371
372lgt_call(F, A1, A2, A3) :-
373    Call =.. [F, A1, A2, A3],
374    call(Call).
375
376
377lgt_call(F, A1, A2, A3, A4) :-
378    Call =.. [F, A1, A2, A3, A4],
379    call(Call).
380
381
382lgt_call(F, A1, A2, A3, A4, A5) :-
383    Call =.. [F, A1, A2, A3, A4, A5],
384    call(Call).
385
386
387lgt_call(F, A1, A2, A3, A4, A5, A6) :-
388    Call =.. [F, A1, A2, A3, A4, A5, A6],
389    call(Call).
390
391
392lgt_call(F, A1, A2, A3, A4, A5, A6, A7) :-
393    Call =.. [F, A1, A2, A3, A4, A5, A6, A7],
394
395    call(Call).
396
397
398% lgt_once/2-8
399%
400% if your compiler provides call/1-8 as built-in
401% predicates rewrite these definitions using call(...), !.
402
403lgt_once(F, A) :-
404    Call =.. [F, A],
405    once(Call).
406
407
408lgt_once(F, A1, A2) :-
409    Call =.. [F, A1, A2],
410    once(Call).
411
412
413lgt_once(F, A1, A2, A3) :-
414    Call =.. [F, A1, A2, A3],
415    once(Call).
416
417
418lgt_once(F, A1, A2, A3, A4) :-
419    Call =.. [F, A1, A2, A3, A4],
420    once(Call).
421
422
423lgt_once(F, A1, A2, A3, A4, A5) :-
424    Call =.. [F, A1, A2, A3, A4, A5],
425    once(Call).
426
427
428lgt_once(F, A1, A2, A3, A4, A5, A6) :-
429    Call =.. [F, A1, A2, A3, A4, A5, A6],
430    once(Call).
431
432
433lgt_once(F, A1, A2, A3, A4, A5, A6, A7) :-
434    Call =.. [F, A1, A2, A3, A4, A5, A6, A7],
435    once(Call).
436
437
438
439%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
440%
441%  file extension predicates
442%
443%  these extensions are used by Logtalk load/compile predicates
444%
445%  you may want to change the extension for Prolog files to match
446%  the one expected by your Prolog compiler
447%
448%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
449
450
451% lgt_file_extension(?atom, ?atom)
452
453lgt_file_extension(logtalk, '.lgt').
454lgt_file_extension(prolog, '.pro').
455lgt_file_extension(xml, '.xml').
456
457
458
459%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
460%
461%  default flag values
462%
463%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
464
465
466% lgt_default_flag(?atom, ?atom)
467%
468% default values for all flags
469
470lgt_default_flag(iso_initialization_dir, false).
471
472lgt_default_flag(xml, on).
473lgt_default_flag(xsl, 'lgtxml.xsl').
474
475lgt_default_flag(unknown, warning).
476lgt_default_flag(misspelt, warning).
477lgt_default_flag(singletons, warning).
478lgt_default_flag(lgtredef, warning).
479lgt_default_flag(plredef, silent).
480lgt_default_flag(portability, silent).
481
482lgt_default_flag(report, on).
483
484
485
486%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
487%
488%  list predicates
489%
490%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
491
492
493lgt_append([], List, List).
494lgt_append([Head| Tail], List, [Head| Tail2]) :-
495    lgt_append(Tail, List, Tail2).
496
497
498lgt_member(Head, [Head| _]).
499lgt_member(Head, [_| Tail]) :-
500    lgt_member(Head, Tail).
501
502
503lgt_member_var(V, [H| _]) :-
504    V == H.
505lgt_member_var(V, [_| T]) :-
506    lgt_member_var(V, T).
507
508
509lgt_proper_list([]).
510lgt_proper_list([_| List]) :-
511    lgt_proper_list(List).
512
513
514
515%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
516%
517%  file predicates
518%
519%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520
521
522% lgt_file_exists(+atom)
523%
524% see if a file exist in the current directory
525
526lgt_file_exists(File) :-
527    file_exists(File).
528
529
530% lgt_load_prolog_code(+atom)
531%
532% compile and load a Prolog file
533
534lgt_load_prolog_code(File) :-
535    reconsult(File).
536
537
538
539%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540%
541%  sorting predicates
542%
543%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544
545
546% lgt_keysort(+list, -list)
547
548lgt_keysort(List, Sorted) :-
549    throw(error(not_implemented, keysort/2)).
550
551
552% lgt_sort(+list, -list)
553
554lgt_sort(List, Sorted) :-
555    sort(List, Sorted).
556
557
558
559%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
560%
561%  time and date predicates
562%
563%  if your Prolog compiler does not provide access to the operating system
564%  time and date just write dummy definitions
565%
566%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
567
568
569% lgt_current_date(?Year, ?Month, ?Day)
570
571lgt_current_date(Year, Month, Day) :-
572    date(Month, Day, Year).
573
574
575% lgt_current_time(?Hours, ?Mins, ?Secs)
576
577lgt_current_time(Hours, Mins, Secs) :-
578    time(Hours, Mins, Secs).
579
580
581
582%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
583%
584%  timing predicate
585%
586%  if your Prolog compiler does not provide access to a timing predicate
587%  just write dummy definition
588%
589%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
590
591
592% lgt_cpu_time(-Seconds)
593
594
595lgt_cpu_time(Seconds) :-
596    Seconds is cputime.
597
598
599
600%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
601%
602%  comparison predicate
603%
604%  the usual compare/3 definition
605%
606%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
607
608
609% compare(Order, Term1, Term2) -- built-in
610
611
612
613%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
614%
615%  end!
616%
617%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracBrowser for help on using the browser.