root/trunk/configs/eclipse6.config

Revision 4580, 15.4 KB (checked in by pmoura, 13 days ago)

Added a "prolog" read-only compiler flag whose value is the name of the back-end Prolog compiler (an atom). This flag can be used for conditional compilation of Prolog specific code.

  • Property svn:eol-style set to native
Line 
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%
3%  Logtalk - Open source object-oriented logic programming language
4%  Release 2.33.3
5%
6%  Copyright (c) 1998-2008 Paulo Moura.        All Rights Reserved.
7%  Logtalk is free software.  You can redistribute it and/or modify
8%  it under the terms of the "Artistic License 2.0" as published by
9%  The Perl Foundation. Consult the "LICENSE.txt" file for details.
10%
11%
12%  configuration file for ECLiPSe 6.0#37 and later versions
13%
14%  last updated: November 7, 2008
15%
16%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17
18
19:- pragma(system).
20:- pragma(nodebug).
21
22:- use_module(library(multifile)).
23
24
25
26%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
27%
28%  ISO Prolog Standard predicates that we must define because they are
29%  not built-in
30%
31%  add a clause for lgt_iso_predicate/1 declaring each ISO predicate that
32%  we must define; there must be at least one clause for this predicate
33%  whose call should fail if we don't define any ISO predicates
34%
35%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36
37
38:- dynamic(lgt_exception_/1).
39
40
41initialization(Goal) :-
42    call(Goal).
43
44
45% '$lgt_iso_predicate'(?callable).
46
47'$lgt_iso_predicate'(atom_codes(_, _)).
48'$lgt_iso_predicate'(atom_concat(_, _, _)).
49'$lgt_iso_predicate'(catch(_, _, _)).
50'$lgt_iso_predicate'(current_input(_)).
51'$lgt_iso_predicate'(current_output(_)).
52'$lgt_iso_predicate'(number_codes(_, _)).
53'$lgt_iso_predicate'(throw(_)).
54'$lgt_iso_predicate'(unify_with_occurs_check(_, _)).
55
56
57atom_codes(Atom, List) :-
58    var(Atom),
59    string_list(String, List),
60    atom_string(Atom, String).
61
62atom_codes(Atom, List) :-
63    nonvar(Atom),
64    atom_string(Atom, String),
65    string_list(String, List).
66
67
68atom_concat(Atom1, Atom2, Atom3) :-
69    nonvar(Atom1), nonvar(Atom2),
70    !,
71    concat_atoms(Atom1, Atom2, Atom3).
72
73atom_concat(Atom1, Atom2, Atom3) :-
74    nonvar(Atom3),
75    name(Atom3, Codes3),
76    '$lgt_append'(Codes1, Codes2, Codes3),
77    name(Atom1, Codes1),
78    name(Atom2, Codes2).
79
80
81catch(Goal, Catcher, Recovery) :-
82    block(Goal, Tag, lgt_catch_recovery(Tag, Catcher, Recovery)).
83
84
85lgt_catch_recovery(Tag, Catcher, Recovery) :-
86    (   Tag = lgt_error ->
87        retract(lgt_exception_(Ball)),
88        !,
89        (   Catcher = Ball ->
90            call(Recovery)
91        ;   exit_block(Tag)
92        )
93    ;   exit_block(Tag)
94    ).
95
96
97lgt_uncatched_exception :-
98    (   retract(lgt_exception_(Ball)) ->
99        writeq(Ball), nl
100    ;   write('uncatched exception'), nl
101    ),
102    abort.
103
104
105:- set_error_handler(230, lgt_uncatched_exception/0).
106
107
108current_input(Stream) :-
109    get_stream(input, Stream).
110
111
112current_output(Stream) :-
113    get_stream(output, Stream).
114
115
116number_codes(Number, Codes) :-
117    var(Number),
118    string_list(String, Codes),
119    number_string(Number, String).
120
121number_codes(Number, Codes) :-
122    nonvar(Number),
123    number_string(Number, String),
124    string_list(String, Codes).
125
126
127throw(Ball) :-
128    asserta(lgt_exception_(Ball)),
129    exit_block(lgt_error).
130
131
132:- set_flag(occur_check, on).
133unify_with_occurs_check(X, X).
134:- set_flag(occur_check, off).
135
136
137
138%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
139%
140%  predicate properties
141%
142%  this predicate must return at least static, dynamic, and built_in
143%  properties for an existing predicate
144%
145%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
146
147
148% '$lgt_predicate_property'(+callable, ?predicate_property)
149
150'$lgt_predicate_property'(Predicate, built_in) :-
151    functor(Predicate, Functor, Arity),
152    current_built_in(Functor/Arity).
153
154'$lgt_predicate_property'(Predicate, dynamic) :-
155    functor(Predicate, Functor, Arity),
156    current_predicate(Functor/Arity),
157    is_dynamic(Functor/Arity).
158
159'$lgt_predicate_property'(Predicate, static) :-
160    functor(Predicate, Functor, Arity),
161    current_built_in(Functor/Arity).
162
163'$lgt_predicate_property'(Predicate, static) :-
164    functor(Predicate, Functor, Arity),
165    current_predicate(Functor/Arity),
166    \+ is_dynamic(Functor/Arity).
167
168
169
170%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171%
172%  meta-predicates
173%
174%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175
176
177% call_cleanup(+callable, +callble)
178
179call_cleanup(_, _) :-
180    throw(not_supported(call_cleanup/2)).
181
182
183% forall(+callable, +callble) -- built-in
184
185forall(Generate, Test) :-
186    \+ (Generate, \+ Test).
187
188
189% retractall(+callable) -- built-in
190
191
192% call_with_args/2-9
193%
194% use these definitions only if your compiler does
195% not provide call_with_args/2-9 as built-in predicates
196
197call_with_args(F, A) :-
198    Call =.. [F, A],
199    call(Call).
200
201call_with_args(F, A1, A2) :-
202    Call =.. [F, A1, A2],
203    call(Call).
204
205call_with_args(F, A1, A2, A3) :-
206    Call =.. [F, A1, A2, A3],
207    call(Call).
208
209call_with_args(F, A1, A2, A3, A4) :-
210    Call =.. [F, A1, A2, A3, A4],
211    call(Call).
212
213call_with_args(F, A1, A2, A3, A4, A5) :-
214    Call =.. [F, A1, A2, A3, A4, A5],
215    call(Call).
216
217call_with_args(F, A1, A2, A3, A4, A5, A6) :-
218    Call =.. [F, A1, A2, A3, A4, A5, A6],
219    call(Call).
220
221call_with_args(F, A1, A2, A3, A4, A5, A6, A7) :-
222    Call =.. [F, A1, A2, A3, A4, A5, A6, A7],
223    call(Call).
224
225call_with_args(F, A1, A2, A3, A4, A5, A6, A7, A8) :-
226    Call =.. [F, A1, A2, A3, A4, A5, A6, A7, A8],
227    call(Call).
228
229
230
231%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232%
233%  Prolog built-in meta-predicates
234%
235%  (excluding ISO Prolog Standard meta-predicates)
236%
237%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
238
239
240% '$lgt_pl_meta_predicate'(?callable, ?atom).
241
242'$lgt_pl_meta_predicate'(block(::, *, ::), predicate).
243'$lgt_pl_meta_predicate'(call_priority(::, *), predicate).
244'$lgt_pl_meta_predicate'(coverof(*, ::, *), predicate).
245'$lgt_pl_meta_predicate'(do(*, ::), predicate).
246'$lgt_pl_meta_predicate'(event_create(::, *, *), predicate).
247'$lgt_pl_meta_predicate'(make_suspension(::, *, *), predicate).
248'$lgt_pl_meta_predicate'(mutex(*, ::), predicate).
249'$lgt_pl_meta_predicate'(suspend(::, *, *), predicate).
250'$lgt_pl_meta_predicate'(suspend(::, *, *, *), predicate).
251
252
253
254%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
255%
256%  file extension predicates
257%
258%  these extensions are used by Logtalk load/compile predicates
259%
260%  you may want to change the extension for Prolog files to match
261%  the one expected by your Prolog compiler
262%
263%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264
265
266% '$lgt_file_extension'(?atom, ?atom)
267
268'$lgt_file_extension'(logtalk, '.lgt').
269'$lgt_file_extension'(prolog, '.pl').
270'$lgt_file_extension'(xml, '.xml').
271
272
273
274%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275%
276%  default flag values
277%
278%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
279
280
281% '$lgt_default_flag'(?atom, ?atom)
282%
283% default values for all flags
284
285'$lgt_default_flag'(prolog, eclipse).
286
287'$lgt_default_flag'(xmldocs, on).
288'$lgt_default_flag'(xslfile, 'lgtxml.xsl').
289'$lgt_default_flag'(xmlspec, dtd).
290'$lgt_default_flag'(xmlsref, local).
291
292'$lgt_default_flag'(unknown, warning).
293'$lgt_default_flag'(misspelt, warning).
294'$lgt_default_flag'(singletons, warning).
295'$lgt_default_flag'(lgtredef, warning).
296'$lgt_default_flag'(plredef, silent).
297'$lgt_default_flag'(portability, silent).
298
299'$lgt_default_flag'(report, on).
300
301'$lgt_default_flag'(smart_compilation, off).
302'$lgt_default_flag'(reload, always).
303
304'$lgt_default_flag'(startup_message, flags(verbose)).
305
306'$lgt_default_flag'(underscore_variables, dont_care).
307
308'$lgt_default_flag'(code_prefix, '').
309
310'$lgt_default_flag'(debug, off).
311'$lgt_default_flag'(break_predicate, supported).
312
313'$lgt_default_flag'(complements, off).
314'$lgt_default_flag'(dynamic_declarations, off).
315'$lgt_default_flag'(events, off).
316
317'$lgt_default_flag'(altdirs, off).
318'$lgt_default_flag'(tmpdir, 'lgt_tmp/').
319'$lgt_default_flag'(xmldir, 'xml_docs/').
320
321'$lgt_default_flag'(encoding_directive, unsupported).
322'$lgt_default_flag'(multifile_directive, supported).
323'$lgt_default_flag'(threads, unsupported).
324
325'$lgt_default_flag'(context_switching_calls, allow).
326
327
328
329%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
330%
331%  list predicates
332%
333%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334
335
336'$lgt_append'([], List, List).
337'$lgt_append'([Head| Tail], List, [Head| Tail2]) :-
338    '$lgt_append'(Tail, List, Tail2).
339
340
341'$lgt_member'(Head, [Head| _]).
342'$lgt_member'(Head, [_| Tail]) :-
343    '$lgt_member'(Head, Tail).
344
345
346'$lgt_member_var'(V, [H| _]) :-
347    V == H.
348'$lgt_member_var'(V, [_| T]) :-
349    '$lgt_member_var'(V, T).
350
351
352'$lgt_is_list'([]) :-
353    !.
354'$lgt_is_list'([_| Tail]) :-
355    '$lgt_is_list'(Tail).
356
357
358'$lgt_is_proper_list'(List) :-
359    List == [], !.
360'$lgt_is_proper_list'([_| Tail]) :-
361    nonvar(Tail),
362    '$lgt_is_proper_list'(Tail).
363
364
365
366%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367%
368%  file predicates
369%
370%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
371
372
373% '$lgt_file_exists'(+atom)
374%
375% see if a file exist in the current directory
376
377'$lgt_file_exists'(File) :-
378    exists(File).
379
380
381% '$lgt_directory_exists'(+atom)
382%
383% checks if a directory exists
384
385'$lgt_directory_exists'(Directory) :-
386    atom_string(Directory, DirectoryString),
387    canonical_path_name(DirectoryString, Path),
388    exists(Path).
389
390
391% '$lgt_current_directory'(-atom)
392%
393% gets current working directory
394
395'$lgt_current_directory'(Directory) :-
396    getcwd(Directory).
397
398
399% '$lgt_change_directory'(+atom)
400%
401% changes current working directory
402
403'$lgt_change_directory'(Directory) :-
404    cd(Directory).
405
406
407% '$lgt_make_directory'(+atom)
408%
409% makes a new directory; succeeds if the directory already exists
410
411'$lgt_make_directory'(Directory) :-
412    (   exists(Directory) ->
413        true
414    ;   mkdir(Directory)
415    ).
416
417
418% '$lgt_load_prolog_code'(+atom, +atom, +list)
419%
420% compile and load a Prolog file, resulting from a
421% Logtalk source file, given a list of options
422
423'$lgt_load_prolog_code'(File, _, _) :-
424    get_flag(debug_compile, Current),
425    set_flag(debug_compile, off),
426    compile(File),
427    set_flag(debug_compile, Current).
428
429
430% '$lgt_compare_file_mtimes'(?atom, +atom, +atom)
431%
432% compare file modification times
433
434'$lgt_compare_file_mtimes'(Result, File1, File2) :-
435    get_file_info(File1, mtime, Time1),
436    get_file_info(File2, mtime, Time2),
437    compare(Result, Time1, Time2).
438
439
440
441%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
442%
443%  sorting predicates
444%
445%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
446
447
448% '$lgt_keysort'(+list, -list)
449
450'$lgt_keysort'(List, Sorted) :-
451    keysort(List, Sorted).
452
453
454% '$lgt_sort'(+list, -list)
455
456'$lgt_sort'(List, Sorted) :-
457    sort(List, Sorted).
458
459
460
461%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
462%
463%  time and date predicates
464%
465%  if your Prolog compiler does not provide access to the operating system
466%  time and date just write dummy definitions
467%
468%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
469
470
471:-  use_module(library(calendar)).
472
473
474% '$lgt_current_date'(?Year, ?Month, ?Day)
475
476'$lgt_current_date'(Year, Month, Day) :-
477    mjd_now(MJD),
478    mjd_to_date(MJD, Day/Month/Year).
479
480
481% '$lgt_current_time'(?Hours, ?Mins, ?Secs)
482
483'$lgt_current_time'(Hours, Mins, Secs) :-
484    mjd_now(MJD),
485    mjd_to_time(MJD, Hours:Mins:Secs).
486
487
488
489%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
490%
491%  timing predicate
492%
493%  if your Prolog compiler does not provide access to a timing predicate
494%  just write dummy definition
495%
496%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
497
498
499% '$lgt_cpu_time'(-Seconds)
500
501'$lgt_cpu_time'(Seconds) :-
502    cputime(Seconds).
503
504
505
506%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
507%
508%  comparison predicate
509%
510%  the usual compare/3 definition
511%
512%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
513
514
515% compare(?atom, @term, @term) -- built-in
516
517
518
519%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520%
521%  callable predicate
522%
523%  the usual callable/1 definition
524%
525%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
526
527
528% callable(@term) -- built-in
529
530
531
532%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
533%
534%  read character predicate
535%
536%  read a single character echoing it and writing a newline after
537%
538%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
539
540
541'$lgt_read_single_char'(Char) :-
542    flush(user), tyi(Code), put(Code), nl, char_code(Char, Code).
543
544
545
546%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547%
548%  pretty print a term by naming its free variables
549%  (avoid instantiating variables in term by using double negation if necessary)
550%
551%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
552
553
554'$lgt_pretty_print_vars'(Stream, Term) :-
555    write_term(Stream, Term, [numbervars(true)]).
556
557
558'$lgt_pretty_print_vars_quoted'(Stream, Term) :-
559    write_term(Stream, Term, [numbervars(true), quoted(true)]).
560
561
562
563%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
564%
565%  getting stream current line number
566%  (needed for improved compiler error messages)
567%
568%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
569
570
571% '$lgt_stream_current_line_number'(@stream, -integer)
572
573'$lgt_stream_current_line_number'(Stream, Line) :-
574    get_stream_info(Stream, line, Last),
575    Line is Last + 1.
576
577
578
579%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
580%
581%  customized version of the read_term/3 predicate for returning the line
582%  where the term starts (needed for improved compiler error messages)
583%
584%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
585
586
587% '$lgt_read_term'(@stream, -term, +list, -integer)
588
589'$lgt_read_term'(Stream, Term, Options, -1) :-
590    read_term(Stream, Term, Options).
591
592
593
594%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
595%
596%  handling of Prolog-proprietary directives on Logtalk source files
597%
598%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
599
600
601% '$lgt_ignore_pl_directive'(@callable)
602
603'$lgt_ignore_pl_directive'(mode(_)).
604
605
606% '$lgt_rewrite_and_copy_pl_directive'(@callable, -callable)
607
608'$lgt_rewrite_and_copy_pl_directive'(_, _) :-
609    fail.
610
611
612% '$lgt_rewrite_and_recompile_pl_directive'(@callable, -callable)
613
614'$lgt_rewrite_and_recompile_pl_directive'(local(Functor/Arity), private(Functor/Arity)).
615
616'$lgt_rewrite_and_recompile_pl_directive'(lib(Library), use_module(library(Library), Exports)) :-
617    '$lgt_eclipse_list_of_exports'(library(Library), Exports).
618
619'$lgt_rewrite_and_recompile_pl_directive'(use_module(Library), use_module(Library, Exports)) :-
620        '$lgt_eclipse_list_of_exports'(Library, Exports).
621
622
623'$lgt_eclipse_list_of_exports'(Library, Exports) :-
624    (   atom(Library) ->
625        Module = Library
626    ;   Library =..[_, Module]
627    ),
628    current_module(Module),
629    get_module_info(Module, interface, Interface),
630    '$lgt_eclipse_filter_exports'(Interface, Exports).
631
632
633'$lgt_eclipse_filter_exports'([], []).
634
635'$lgt_eclipse_filter_exports'([export(Predicate)| Interface], [Predicate| Exports]) :-
636    '$lgt_eclipse_filter_exports'(Interface, Exports).
637
638
639
640%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
641%
642%  Shortcut to the Logtalk built-in predicate logtalk_load/1
643%
644%  defined in the config files in order to be able to comment it out in case
645%  of conflict with some Prolog native feature; it implies conformance with
646%  the ISO Prolog standard regarding the definition of the {}/1 syntax
647%
648%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
649
650{File, Files} :-
651    !,
652    logtalk_load(File),
653    {Files}.
654{File} :-
655    logtalk_load(File).
656
657
658
659%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
660%
661%  end!
662%
663%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracBrowser for help on using the browser.