[ Reference Manual | Alphabetic Index ]

# library(sicstus)

SICStus Prolog Compatibility Package [more]

## Predicates

> block(?)
>   No description available
> call_residue(+Goal,-Residue)
>   This is only approximate, the variables in the second argument are dummies
> dif(?, ?)
>   No description available
> fcompile(?)
>   No description available
> freeze(?, ?)
>   No description available
> frozen(?, ?)
>   No description available
> if(?, ?, ?)
>   No description available
> load(?)
>   No description available
> on_exception(?, ?, ?)
>   No description available
> raise_exception(?)
>   No description available
> rename_head(?, ?)
>   No description available
> when(?, ?)
>   No description available

## Reexports

> reexport quintus
>   except load / 1, chtab(_, _)

## Other Exports

> export op(1150, fx, block)
> export chtab(92, escape)
> export chtab(96, string_quote)
> export chtab(34, list_quote)

## Description

ECLiPSe includes a SICStus Prolog compatibility package to ease the task of porting SICStus Prolog applications to ECLiPSe Prolog. This package includes the C-Prolog compatibility package (lib(cprolog)) and the Quintus-Prolog compatibility package (lib(quintus)).

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

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

        :- module(mymodule, [], sicstus).

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(sicstus)).

then Sicstus 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 Sicstus-Prolog.

A sockets library is provided for compatibility with the sockets manipulation predicates of SICStus. To use these predicates, the sockets library has to be loaded:

        :- use_module(library(sockets)).

For SICStus 3.0, the sockets predicates are also in a sockets library, so no changes are needed to load the library. However, for older versions of SICStus, the predicates are available as built-ins, and no library has to be loaded. So if the code is written for older versions of SICStus, then the above line has to be added.

The sockets library can be used independently of the sicstus library. Note also that ECLiPSe also provides its own socket manipulation predicates that provides similar functionalities to the sockets library.

Since the SICStus package contains the Quintus one, the syntax differences are the same.

## About

- Author: Micha Meier, ECRC Munich
- Copyright © Cisco Systems, Inc
- Date: $Date: 2016/10/07 02:13:06 $

## See Also

library(cio), library(cprolog), library(quintus), library(sockets), library(swi)

Generated from sicstus.eci on 2022-09-03 14:26