[ The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]

# library(iso)

ISO Prolog compatibility library

## Predicates

> **(?, ?, ?)
>   No description available
> abolish ?
>   No description available
> assertz(?)
>   No description available
> at_end_of_stream
>   No description available
> at_end_of_stream(?)
>   No description available
> atom_chars(?, ?)
>   No description available
> atom_codes(?, ?)
>   No description available
> atom_concat(?, ?, ?)
>   No description available
> catch(?, ?, ?)
>   No description available
> ceiling(?, ?)
>   No description available
> char_conversion(?, ?)
>   No description available
> close(?, ?)
>   No description available
> current_char_conversion(?, ?)
>   No description available
> current_input(?)
>   No description available
> current_output(?)
>   No description available
> current_prolog_flag(?, ?)
>   No description available
> float_fractional_part(?, ?)
>   No description available
> float_integer_part(?, ?)
>   No description available
> floor(?, ?)
>   No description available
> flush_output
>   No description available
> flush_output(?)
>   No description available
> get_byte(?)
>   No description available
> get_byte(?, ?)
>   No description available
> get_char(?)
>   No description available
> get_char(?, ?)
>   No description available
> get_code(?)
>   No description available
> get_code(?, ?)
>   No description available
> halt(?)
>   No description available
> initialization(?)
>   No description available
> iso_recover(?, ?, ?, ?)
>   No description available
> log(?, ?)
>   No description available
> multifile(?)
>   No description available
> number_chars(?, ?)
>   No description available
> number_codes(?, ?)
>   No description available
> peek_byte(?)
>   No description available
> peek_byte(?, ?)
>   No description available
> peek_char(?)
>   No description available
> peek_char(?, ?)
>   No description available
> peek_code(?)
>   No description available
> peek_code(?, ?)
>   No description available
> put_byte(?)
>   No description available
> put_byte(?, ?)
>   No description available
> put_code(?)
>   No description available
> put_code(?, ?)
>   No description available
> round(?, ?)
>   No description available
> set_input(?)
>   No description available
> set_output(?)
>   No description available
> set_prolog_flag(?, ?)
>   No description available
> set_stream_position(?, ?)
>   No description available
> sign(?, ?)
>   No description available
> stream_property(?, ?)
>   No description available
> sub_atom(?, ?, ?, ?, ?)
>   No description available
> throw(?)
>   No description available
> throw_handler(?, ?)
>   No description available
> truncate(?, ?)
>   No description available
> unify_with_occurs_check(?, ?)
>   No description available

## Reexports

> reexport eclipse_language
>   except floor / 2, ceiling / 2, round / 2, truncate / 2, abolish / 1, get_char / 1, get_char / 2

## 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 macro(with / 2, iso : = / 2, [])
> export macro(of / 2, iso : = / 2, [])
> export syntax_option(iso_escapes)
> export syntax_option(iso_base_prefix)
> export syntax_option(doubled_quote_is_quote)
> export syntax_option(no_array_subscripts)
> export syntax_option(bar_is_no_atom)
> export syntax_option(no_attributes)
> export syntax_option(no_curly_arguments)
> export syntax_option(blanks_after_sign)
> export syntax_option(limit_arg_precedence)
> export chtab(96, string_quote)
> export chtab(34, list_quote)
> export op(200, fy, -)
> export op(200, fy, \)
> export op(200, xfx, **)

## Description

This library provides a reasonable degree of compatibility with the definition of Standard Prolog as defined in ISO/IEC 13211-1 (Information Technology, Programming Languages, Prolog, Part 1: General Core, 1995). The areas where the library is not fully compiant are I/O and exception handling. However it should be sufficient for most applications. The library is provided in source form.

The effect of the compatibility library is local to the module where it is loaded. For maximal ISO-compatibility, an ISO-program should be contained in a separate module starting with a directive like

        :- module(myisomodule, [], iso).

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

then ISO 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 ISO.

The recommended way is therefore the former one, ie to put code written in different language dialects into different modules.

## About

- Author: Joachim Schimpf, ECRC and IC-Parc
- Copyright © Cisco Systems, Inc
- Date: $Date: 2006/12/11 18:57:58 $

Generated from iso.eci on Sat Nov 8 06:59:21 2008