[ Reference Manual | Alphabetic Index ]

library(quintus)

Quintus prolog compatibility package   [more]

Predicates

abolish(?)
No description available
abolish(?, ?)
No description available
absolute_file_name(?, ?)
No description available
arg(?, ?, ?)
No description available
atom_chars(?, ?)
No description available
break
No description available
character_count(?, ?)
No description available
current_input(?)
No description available
current_key(?, ?)
No description available
current_module(?, ?)
No description available
current_output(?)
No description available
display(?)
No description available
dynamic(?)
No description available
ensure_loaded(?)
No description available
erase(?)
No description available
expand_term(?, ?)
No description available
flush_output(?)
No description available
gc
No description available
get0(?, ?)
No description available
incore(?)
No description available
instance(?, ?)
No description available
is_digit(?)
No description available
is_lower(?)
No description available
is_upper(?)
No description available
line_count(?, ?)
No description available
manual
No description available
name(?, ?)
No description available
no_style_check(?)
No description available
nogc
No description available
nospyall
No description available
number_chars(?, ?)
No description available
op(?, ?, ?)
No description available
open_null_stream(?)
No description available
otherwise
No description available
portray_clause(?)
No description available
predicate_property(?, ?)
No description available
prolog_flag(?, ?)
No description available
prolog_flag(?, ?, ?)
No description available
public(?)
No description available
put(?, ?)
No description available
put_line(?)
No description available
recorda(?, ?, ?)
No description available
recorded(?, ?, ?)
No description available
recordz(?, ?, ?)
No description available
save(?)
No description available
set_input(?)
No description available
set_output(?)
No description available
source_file(?)
No description available
source_file(?, ?)
No description available
statistics
No description available
statistics(?, ?)
No description available
stream_code(?, ?)
No description available
stream_position(?, ?)
No description available
stream_position(?, ?, ?)
No description available
style_check(?)
No description available
term_expansion(?, ?)
No description available
tr_lib(?, ?)
No description available
trace
No description available
ttyflush
No description available
ttyget(?)
No description available
ttyget0(?)
No description available
ttynl
No description available
ttyput(?)
No description available
ttyskip(?)
No description available
ttytab(?)
No description available
unix(?)
No description available
unknown(?, ?)
No description available
use_module(?)
No description available
use_module(?, ?)
No description available
version
No description available
version(?)
No description available

Reexports

reexport cio
reexport foreign
reexport multifile
reexport eclipse_language
except \= / 2, delete / 3, gcd / 3, memberchk / 2, maplist / 3, member / 2, not / 1, union / 3, eval / 2, pathname / 2, get / 1, put / 1, put / 2, instance / 2, abolish / 1, arg / 3, dynamic / 1, display / 1, ensure_loaded / 1, erase / 1, name / 2, op / 3, recorda / 3, recordz / 3, recorded / 3, statistics / 0, statistics / 2, use_module / 1, use_module_body / 2
reexport . / 3 from cprolog
reexport consult / 1 from cprolog
reexport current_functor / 2 from cprolog
reexport current_predicate / 2 from cprolog
reexport db_reference / 1 from cprolog
reexport erased / 1 from cprolog
reexport fileerrors / 0 from cprolog
reexport get / 1 from cprolog
reexport get0 / 1 from cprolog
reexport heapused / 1 from cprolog
reexport leash / 1 from cprolog
reexport log10 / 2 from cprolog
reexport log / 2 from cprolog
reexport nofileerrors / 0 from cprolog
reexport primitive / 1 from cprolog
reexport prompt / 2 from cprolog
reexport put / 1 from cprolog
reexport reconsult / 1 from cprolog
reexport sh / 0 from cprolog
reexport op(_, _, _) from cprolog
reexport numbervars
reexport format

Other Exports

export op(0, xfx, of)
export op(0, xfx, with)
export op(0, xfy, do)
export op(0, xfx, @)
export op(0, fx, -?->)
export op(0, fy, not)
export op(0, fy, spied)
export op(0, fx, delay)
export macro(with / 2, = / 2, [])
export macro(of / 2, = / 2, [])
export syntax_option(nl_in_quotes)
export syntax_option(no_array_subscripts)
export syntax_option(limit_arg_precedence)
export syntax_option(doubled_quote_is_quote)
export syntax_option(bar_is_no_atom)
export syntax_option(bar_is_semicolon)
export syntax_option(no_attributes)
export syntax_option(no_curly_arguments)
export syntax_option(blanks_after_sign)
export syntax_option(float_needs_point)
export chtab(92, symbol)
export chtab(128, string_quote)
export chtab(34, list_quote)
export chtab(96, symbol)
export op(1150, fx, [meta_predicate, multifile, discontiguous, public, mode, dynamic, initialization, volatile])
export macro(library_directory / 1, tr_lib / 2, [clause])

Description

ECLiPSe includes a Quintus Prolog compatibility package to ease the task of porting Quintus Prolog applications to ECLiPSe Prolog. This package does not provide the user with a system completely compatible to Quintus Prolog, however it provides most of the Quintus built-in predicates, moreover some of the Quintus library predicates are available in the ECLiPSe library. This package includes the C-Prolog compatibility package (see Appendix A.6).

Please note that this appendix does not detail the functionality of Quintus Prolog, refer to the Quintus Prolog documentation for this information.

The effect of the compatibility library is local to the module where it is loaded. For maximum compatibility, a Quintus program should be wrapped in a separate module starting with a directive like

    :- module(mymodule, [], quintus).
    
In this case, Eclipse-specific language constructs will not be available.

If the compatibility package is loaded into a standard module, e.g. like

    :- module(mymixedmdule).
    :- use_module(library(quintus)).
    
then Quintus and Eclipse language features can be used together. However, ambiguities must be resolved explicitly and confusion may arise from the different meaning of quotes in Eclipse vs Quintus-Prolog.

The following differences remain even with the compatibility package:

expand_term/2
This predicate is dummy, since the ECLiPSe macro facility works on every input term, provided that the flag macro_expansion is set to on.
get0/2
This predicate is identical to get/2 in ECLiPSe.
help/1
This is the normal ECLiPSe help/1 predicate.
meta_predicate/1
This declaration does not cause passing of module information in Quintus-style, as ECLiPSe's concept of meta predicates differs substantially. The meta-predicates very likely have to be modified manually to use ECLiPSe tools (see User Manual).
multifile/1
This is implemented by declaring the predicates as dynamic, so to obtain more efficient programs it is better to put all clauses of the same procedure into one file (or to concatenate all files where multifile predicates occur).
predicate_property/2
The property interpreted is not provided. The property exported is returned if the predicate is exported or global. Use of get_flag/3 should be preferred.
prolog_flag/2, 3
There are some differences in the flags, as they are mostly simulated with the ECLiPSe flags:
  • not all the character escapes used in the Quintus Prolog are available.
  • gc_margin is taken as the ECLiPSe flag gc_interval (see Section 19.2)
  • setting gc_trace to on sets also gc to on
public/1
synonym for export/1
statistics/0, 2
these predicates are slightly different than in Quintus, in particular the meaning of the memory statistics is approximate, and the output format is different.
ttyflush/0, ttyget/1, ttyget0/1, ttynl/0, ttyput/1, ttyskip/1, ttytab/1
these predicates work with the stdout stream
line_position/2
Not implemented. To perform sophisticated output formatting, printf/2,3 or string streams can be used.
The list below describes the syntax differences between ECLiPSe and Quintus Prolog. The following properties of Quintus Prolog are simulated by the compatibility package: The following Quintus properties are not simulated:

About

See Also

library(cio), library(cprolog), library(sicstus), library(swi), library(multifile)
Generated from quintus.eci on 2022-09-03 14:26