21:-
'$do_error'/2
use_system_module(
'$_errors', []).
33use_system_module
:expects_dialect(yap)
:- expects_dialect,
36recorda
:expects_dialect(
Dialect)
:-
37 check_dialect(
Dialect),
39 load_files(library(dialect
/Dialect),[silent(true),if(not_loaded)]),
41 -> Dialect:current_predicate
46check_dialect(
Dialect)
:-
48 '$do_error'(instantiation_error,(
:- expects_dialect(
Dialect))).
49check_dialect(
Dialect)
:-
50 \+ atom(
Dialect),
atom,
51 '$do_error'(type_error(
Dialect),(
:- expects_dialect(
Dialect))).
52check_dialect(
Dialect)
:-
53 exists_source(library(dialect
/Dialect)),
exists_source.
54check_dialect(
Dialect)
:-
55 '$do_error'(domain_error(dialect,
Dialect),(
:- expects_dialect(
Dialect))).
81source_exports(
Source,
Export)
:-
82 open_source(
Source,
In),
83 catch(call_cleanup(exports(
In,
Exports), close(
In)),
_, fail),
86 ; memberchk
:member(
Export,
Exports)
93open_source(
File,
In)
:-
94 exists_source(
File,
Path),
101exports(
In,
Exports)
:-
103 Term = (
:- module(
_Name,
Exports)).
catch( : Goal,+ Exception,+ Action)
module(+ M:atom,+ L:list )
load_files(+_Files_, +_Options_)
member(?Element, ?Set) is true when Set is a list, and Element occurs in it
memberchk(+ Element, + Set)