root/tags/lgt2311/configs/swi.config

Revision 3986, 15.5 KB (checked in by pmoura, 13 months ago)

Updated the release number to 2.31.1.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%
3%  Logtalk - Open source object-oriented logic programming language
4%  Release 2.31.1
5%
6%  configuration file for SWI Prolog 5.6.x and later versions
7%
8%  last updated: November 3, 2007
9%
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
12
13:- set_prolog_flag(iso, true).
14:- set_prolog_flag(prompt_alternatives_no_bindings, true).
15:- set_prolog_flag(generate_debug_info, false).
16:- system_module.
17
18goal_expansion(CallWitArgs, Call) :-
19    CallWitArgs =.. [call_with_args| Args],
20    Call =.. [call| Args].
21
22goal_expansion(thread_property(Thread, status(Status)), current_thread(Thread, Status)) :-
23    \+ predicate_property(thread_property(_, _), built_in).
24
25
26
27%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
28%
29%  ISO Prolog Standard predicates that we must define because they are
30%  not built-in
31%
32%  add a clause for lgt_iso_predicate/1 declaring each ISO predicate that
33%  we must define; there must be at least one clause for this predicate
34%  whose call should fail if we don't define any ISO predicates
35%
36%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37
38
39% '$lgt_iso_predicate'(?callable).
40
41'$lgt_iso_predicate'(_) :-
42    fail.
43
44
45
46%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
47%
48%  predicate properties
49%
50%  this predicate must return at least static, dynamic, and built_in
51%  properties for an existing predicate
52%
53%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54
55
56% '$lgt_predicate_property'(+callable, ?predicate_property)
57
58'$lgt_predicate_property'(Pred, Prop) :-
59    predicate_property(Pred, Prop).
60
61'$lgt_predicate_property'(thread_sleep(_), built_in).
62
63
64
65%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66%
67%  meta-predicates
68%
69%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70
71
72% call_cleanup(+callable, +callble) -- built-in
73
74
75% forall(+callable, +callble) -- built-in
76
77
78% retractall(+callable) -- built-in
79
80
81% call_with_args/2-9
82%
83% use these definitions only if your compiler does
84% not provide call_with_args/2-9 as built-in predicates
85
86call_with_args(F, A) :-
87    call(F, A).
88
89call_with_args(F, A1, A2) :-
90    call(F, A1, A2).
91
92call_with_args(F, A1, A2, A3) :-
93    call(F, A1, A2, A3).
94
95call_with_args(F, A1, A2, A3, A4) :-
96    call(F, A1, A2, A3, A4).
97
98call_with_args(F, A1, A2, A3, A4, A5) :-
99    call(F, A1, A2, A3, A4, A5).
100
101call_with_args(F, A1, A2, A3, A4, A5, A6) :-
102    call(F, A1, A2, A3, A4, A5, A6).
103
104call_with_args(F, A1, A2, A3, A4, A5, A6, A7) :-
105    call(F, A1, A2, A3, A4, A5, A6, A7).
106
107call_with_args(F, A1, A2, A3, A4, A5, A6, A7, A8) :-
108    call(F, A1, A2, A3, A4, A5, A6, A7, A8).
109
110
111
112%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113%
114%  Prolog built-in meta-predicates
115%
116%  (excluding ISO Prolog Standard meta-predicates)
117%
118%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
119
120
121% '$lgt_pl_meta_predicate'(?callable).
122
123'$lgt_pl_meta_predicate'(;(*->(::, ::), ::)).
124'$lgt_pl_meta_predicate'(block(*, ::, *)).
125'$lgt_pl_meta_predicate'(call_cleanup(::, ::)).
126'$lgt_pl_meta_predicate'(call_cleanup(::, *, ::)).
127'$lgt_pl_meta_predicate'(call_with_depth_limit(::, *, *)).
128'$lgt_pl_meta_predicate'(dde_register_service(*, ::)).
129'$lgt_pl_meta_predicate'(freeze(*, ::)).
130'$lgt_pl_meta_predicate'(ignore(::)).
131'$lgt_pl_meta_predicate'(not(::)).
132'$lgt_pl_meta_predicate'(notrace(::)).
133'$lgt_pl_meta_predicate'(on_signal(*, *, ::)).
134'$lgt_pl_meta_predicate'(time(::)).
135
136'$lgt_pl_meta_predicate'(thread_at_exit(::)).
137'$lgt_pl_meta_predicate'(thread_create(::, *, *)).
138'$lgt_pl_meta_predicate'(thread_signal(*, ::)).
139'$lgt_pl_meta_predicate'(with_mutex(*, ::)).
140
141
142
143%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144%
145%  file extension predicates
146%
147%  these extensions are used by Logtalk load/compile predicates
148%
149%  you may want to change the extension for Prolog files to match
150%  the one expected by your Prolog compiler
151%
152%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
153
154
155% '$lgt_file_extension'(?atom, ?atom)
156
157'$lgt_file_extension'(logtalk, '.lgt').
158'$lgt_file_extension'(prolog, '.pl').
159'$lgt_file_extension'(xml, '.xml').
160
161
162
163%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164%
165%  default flag values
166%
167%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
168
169
170% '$lgt_default_flag'(?atom, ?atom)
171%
172% default values for all flags
173
174'$lgt_default_flag'(xmldocs, on).
175'$lgt_default_flag'(xslfile, 'lgtxml.xsl').
176'$lgt_default_flag'(xmlspec, dtd).
177'$lgt_default_flag'(xmlsref, local).
178
179'$lgt_default_flag'(unknown, warning).
180'$lgt_default_flag'(misspelt, warning).
181'$lgt_default_flag'(singletons, warning).
182'$lgt_default_flag'(lgtredef, warning).
183'$lgt_default_flag'(plredef, silent).
184'$lgt_default_flag'(portability, silent).
185
186'$lgt_default_flag'(report, on).
187
188'$lgt_default_flag'(smart_compilation, off).
189'$lgt_default_flag'(reload, always).
190
191'$lgt_default_flag'(startup_message, flags(verbose)).
192
193'$lgt_default_flag'(underscore_variables, singletons).
194
195'$lgt_default_flag'(code_prefix, '$').
196
197'$lgt_default_flag'(debug, off).
198'$lgt_default_flag'(break_predicate, true).
199
200'$lgt_default_flag'(events, off).
201
202'$lgt_default_flag'(altdirs, off).
203'$lgt_default_flag'(tmpdir, 'lgt_tmp/').
204'$lgt_default_flag'(xmldir, 'xml_docs/').
205
206'$lgt_default_flag'(encoding_directive, full).
207'$lgt_default_flag'(threads, Threads) :-
208    (   current_prolog_flag(threads, true) ->
209        Threads = on
210    ;   Threads = off
211    ).
212
213'$lgt_default_flag'(context_switching_calls, allow).
214
215
216
217%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
218%
219%  list predicates
220%
221%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222
223
224'$lgt_append'([], List, List).
225'$lgt_append'([Head| Tail], List, [Head| Tail2]) :-
226    '$lgt_append'(Tail, List, Tail2).
227
228
229'$lgt_member'(Head, [Head| _]).
230'$lgt_member'(Head, [_| Tail]) :-
231    '$lgt_member'(Head, Tail).
232
233
234'$lgt_member_var'(V, [H| _]) :-
235    V == H.
236'$lgt_member_var'(V, [_| T]) :-
237    '$lgt_member_var'(V, T).
238
239
240'$lgt_is_list'([]) :-
241    !.
242'$lgt_is_list'([_| Tail]) :-
243    '$lgt_is_list'(Tail).
244
245
246'$lgt_is_proper_list'(List) :-
247    List == [], !.
248'$lgt_is_proper_list'([_| Tail]) :-
249    nonvar(Tail),
250    '$lgt_is_proper_list'(Tail).
251
252
253
254%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
255%
256%  file predicates
257%
258%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259
260
261% '$lgt_file_exists'(+atom)
262%
263% checks if a file exist in the current directory
264
265'$lgt_file_exists'(File) :-
266    exists_file(File).
267
268
269% '$lgt_directory_exists'(+atom)
270%
271% checks if a directory exists
272
273'$lgt_directory_exists'(Directory) :-
274    expand_file_name(Directory, [Path]),
275    exists_directory(Path).
276
277
278% '$lgt_current_directory'(-atom)
279%
280% gets current working directory
281
282'$lgt_current_directory'(Directory) :-
283    working_directory(Directory, Directory).
284
285
286% '$lgt_change_directory'(+atom)
287%
288% changes current working directory
289
290'$lgt_change_directory'(Directory) :-
291    prolog_to_os_filename(Directory, Path),     % fix possible mix of forward and backward slashes
292    expand_file_name(Path, [Expanded]),         % expand environment variables
293    prolog_to_os_filename(Fixed, Expanded),     % convert to SWI-Prolog notation for paths
294    working_directory(_, Fixed).
295
296
297% '$lgt_make_directory'(+atom)
298%
299% makes a new directory; succeeds if the directory already exists
300
301'$lgt_make_directory'(Directory) :-
302    prolog_to_os_filename(Directory, Path),     % fix possible mix of forward and backward slashes
303    expand_file_name(Path, [Expanded]),         % expand environment variables
304    prolog_to_os_filename(Fixed, Expanded),     % convert to SWI-Prolog notation for paths
305    (   exists_directory(Fixed) ->
306        true
307    ;   make_directory(Fixed)
308    ).
309
310
311% '$lgt_load_prolog_code'(+atom, +atom)
312%
313% compile and load a Prolog file
314
315'$lgt_load_prolog_code'(File, Source) :-
316    '$lgt_file_extension'(logtalk, Extension),
317    atom_concat(Source, Extension, SourceFile),
318    absolute_file_name(SourceFile, ExpandedSourceFile),
319    load_files(File, [derived_from(ExpandedSourceFile)]).
320
321
322% '$lgt_compare_file_mtimes'(?atom, +atom, +atom)
323%
324% compare file modification times
325
326'$lgt_compare_file_mtimes'(Result, File1, File2) :-
327    time_file(File1, Time1),
328    time_file(File2, Time2),
329    compare(Result, Time1, Time2).
330
331
332
333%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334%
335%  sorting predicates
336%
337%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
338
339
340% '$lgt_keysort'(+list, -list)
341
342'$lgt_keysort'(List, Sorted) :-
343    keysort(List, Sorted).
344
345
346% '$lgt_sort'(+list, -list)
347
348'$lgt_sort'(List, Sorted) :-
349    sort(List, Sorted).
350
351
352
353%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
354%
355%  time and date predicates
356%
357%  if your Prolog compiler does not provide access to the operating system
358%  time and date just write dummy definitions
359%
360%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361
362
363% '$lgt_current_date'(?Year, ?Month, ?Day)
364
365'$lgt_current_date'(Year, Month, Day) :-
366    get_time(Time),
367    convert_time(Time, Year, Month, Day, _, _, _, _).
368
369
370% '$lgt_current_time'(?Hours, ?Mins, ?Secs)
371
372'$lgt_current_time'(Hours, Mins, Secs) :-
373    get_time(Time),
374    convert_time(Time, _, _, _, Hours, Mins, Secs, _).
375
376
377
378%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
379%
380%  timing predicate
381%
382%  if your Prolog compiler does not provide access to a timing predicate
383%  just write dummy definition
384%
385%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
386
387
388% '$lgt_cpu_time'(-Seconds)
389
390'$lgt_cpu_time'(Seconds) :-
391    Seconds is cputime.
392
393
394
395%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396%
397%  comparison predicate
398%
399%  the usual compare/3 definition
400%
401%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402
403
404% compare(?atom, @term, @term) -- built-in
405
406
407
408%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
409%
410%  callable predicate
411%
412%  the usual callable/1 definition
413%
414%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
415
416
417% callable(@term) -- built-in
418
419
420
421%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
422%
423%  read character predicate
424%
425%  read a single character echoing it and writing a newline after
426%
427%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
428
429
430'$lgt_read_single_char'(Char) :-
431    get_single_char(Code), put_code(Code), nl, char_code(Char, Code).
432
433
434
435%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
436%
437%  pretty print a term by naming its free variables
438%  (avoid instantiating variables in term by using double negation if necessary)
439%
440%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
441
442
443'$lgt_pretty_print_vars'(Stream, Term) :-
444    \+ \+ (
445        numbervars(Term, 0, _),
446        write_term(Stream, Term, [numbervars(true)])).
447
448
449'$lgt_pretty_print_vars_quoted'(Stream, Term) :-
450    \+ \+ (
451        numbervars(Term, 0, _),
452        write_term(Stream, Term, [numbervars(true), quoted(true)])).
453
454
455
456%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
457%
458%  getting stream current line number
459%  (needed for improved compiler error messages)
460%
461%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
462
463
464% '$lgt_stream_current_line_number'(@stream, -integer)
465
466'$lgt_stream_current_line_number'(Stream, Line) :-
467    stream_property(Stream, position(Position)),
468    stream_position_data(line_count, Position, Line).
469
470
471
472%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
473%
474%  handling of Prolog-proprietary directives on Logtalk source files
475%
476%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
477
478
479% '$lgt_ignore_pl_directive'(@callable)
480
481'$lgt_ignore_pl_directive'(style_check(Option)) :-
482    style_check(Option).
483
484
485% '$lgt_rewrite_and_copy_pl_directive'(@callable, -callable)
486
487'$lgt_rewrite_and_copy_pl_directive'(license(License), license(License)).
488'$lgt_rewrite_and_copy_pl_directive'(set_prolog_flag(generate_debug_info, false), set_prolog_flag(generate_debug_info, false)).
489'$lgt_rewrite_and_copy_pl_directive'(thread_local(PIs), thread_local(CPIs)) :-
490    '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs).
491'$lgt_rewrite_and_copy_pl_directive'(index(Head), index(THead)) :-
492    '$lgt_rewrite_and_copy_pl_directive_ch'(Head, THead).
493'$lgt_rewrite_and_copy_pl_directive'(hash(Head), hash(THead)) :-
494    '$lgt_rewrite_and_copy_pl_directive_ch'(Head, THead).
495
496
497'$lgt_rewrite_and_copy_pl_directive_pis'(PIs, _) :-
498    var(PIs),
499    throw(instantiation_error).
500'$lgt_rewrite_and_copy_pl_directive_pis'([], []) :-
501    !.
502'$lgt_rewrite_and_copy_pl_directive_pis'([PI| PIs], [CPI| CPIs]) :-
503    !,
504    '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI),
505    '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs).
506'$lgt_rewrite_and_copy_pl_directive_pis'((PI, PIs), (CPI, CPIs)) :-
507    !,
508    '$lgt_rewrite_and_copy_pl_directive_pis'(PI, CPI),
509    '$lgt_rewrite_and_copy_pl_directive_pis'(PIs, CPIs).
510'$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity) :-
511    '$lgt_pp_object_'(_, Prefix, _, _, _, _, _, _, _, _, _),
512    '$lgt_construct_predicate_functor'(Prefix, Functor, Arity, TFunctor),
513    functor(Meta, Functor, Arity),
514    (   '$lgt_pp_meta_predicate_'(Meta) ->
515        TArity is Arity + 4
516    ;   TArity is Arity + 3
517    ).
518
519'$lgt_rewrite_and_copy_pl_directive_ch'(Head, THead) :-
520    functor(Head, Functor, Arity),
521    '$lgt_rewrite_and_copy_pl_directive_pis'(Functor/Arity, TFunctor/TArity),
522    functor(THead, TFunctor, TArity),
523    Head =.. [Functor| Args],
524    THead =.. [TFunctor| Targs],
525    '$lgt_append'(Args, _, Targs).
526
527
528% '$lgt_rewrite_and_recompile_pl_directive'(@callable, -callable)
529
530'$lgt_rewrite_and_recompile_pl_directive'(use_module(Module), use_module(Module, Exports)) :-
531    '$lgt_pp_module_'(Source),  % module that is being compiled as an object
532    absolute_file_name(Module, Path, [file_type(prolog), access(read), file_errors(fail), relative_to(Source)]),
533    open(Path, read, In),
534    (peek_char(In, #) ->        % deal with #! script; if not present
535        skip(In, 10)            % assume that the module declaration
536        ;                       % is the first directive on the file
537        true),
538    call_cleanup(read(In, ModuleDecl), close(In)),
539    ModuleDecl = (:- module(_, Exports)).
540
541
542
543%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
544%
545%  multi-threading predicates
546%
547%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
548
549
550% thread_property(+atom, ?nonvar) -- see the goal_expansion/2 predicate definition
551
552
553% thread_self(?atom) -- built-in
554
555
556% thread_create(@callable, -thread_id, +list) -- built-in
557
558
559% thread_join(+atom, -nonvar) -- built-in
560
561
562% thread_detach(+atom) -- built-in
563
564
565% thread_exit(@term) -- built-in
566
567
568% thread_send_message(+atom, @callable) -- built-in
569
570
571% thread_peek_message(+atom, ?callable) -- built-in
572
573
574% thread_get_message(+atom, ?callable) -- built-in
575
576
577% thread_get_message(?callable) -- built-in
578
579
580% thread_sleep(+number)
581
582thread_sleep(Time) :-
583    sleep(Time).
584
585
586
587%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
588%
589%  Shortcut to the Logtalk built-in predicate logtalk_load/1
590%
591%  defined in the config files in order to be able to comment it out in case
592%  of conflict with some Prolog native feature; it implies conformance with
593%  the ISO Prolog standard regarding the definition of the {}/1 syntax
594%
595%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
596
597{File, Files} :-
598    !,
599    logtalk_load(File),
600    {Files}.
601{File} :-
602    logtalk_load(File).
603
604
605
606%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
607%
608%  end!
609%
610%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracBrowser for help on using the browser.