The idea for this predicate was raised by Vitor Santos Costa in a discussion to reach as a portability framework between SWI-Prolog and YAP.
This library defines :- expects_dialect/1, telling the system for which Prolog dialect was written, as well as useful tests in conditional compilation:
- expects_dialect(+Dialect:atom) is det
- Tell Prolog all subsequent code to the end of the file or the next :- expects_dialect/1 directive is written for the indicated Dialect. The current dialect is available through prolog_load_context/2.
- source_exports(+Source, +Export) is semidet
- source_exports(+Source, -Export) is nondet
- True if Source exports Export. Fails without error if this is not the case. See also exists_source/1.
- open_source(+Source, -In:stream) is semidet[private]
- Open a source location.
The following predicates are exported, but not or incorrectly documented.