[ Reference Manual | Alphabetic Index ]library(iso)
ISO Prolog compatibility library
Reexports
- reexport iso_light
Description
Overview
This library provides an implementation of Standard Prolog as
defined in ISO/IEC 13211-1 (Information Technology, Programming
Languages, Prolog, Part 1, General Core, 1995) and the technical
corrigenda ISO/IEC 13211-1 TC1 (2007) and TC2 (2012).
The library is provided in source form.
There are libraries for three degrees of compatibility:
- iso
- A blend of ISO and ECLiPSe functionality. All ISO features
are available, plus such ECLiPSe features that do not significantly
conflict with ISO. But as some of these extensions go beyond what the
letter of the standard allows, and because error checking may be
less strict than required by ISO, this is not a fully compliant mode.
- iso_light
- The same as 'iso', with the exception of error handling.
This is sufficient for code that does not rely on a particular
form of error terms being thrown by built-in predicates.
- iso_strict
- This aims to be fully ISO compliant, and represents the
'strict mode' required by the standard.
For more details on ISO compliance, see library(iso_strict).
Usage
The effect of this compatibility library is (with minor exceptions)
local to the module where it is loaded. An ISO-program should always
be contained in a separate module, starting with a directive like
:- module(myisomodule, [], iso).
Here, the last argument of the module/3 directive indicates the language.
It is not advisable to use ":-lib(iso)" or ":-ensure_loaded(library(iso))"
within an eclipse_language module, because this would lead to import
conflicts between the different versions of built-in predicates.
Alternatively, in order to use ISO-Prolog without having different
modules, one can invoke eclipse with a "-L iso" command line option,
or set the ECLIPSEDEFFAULTLANGUAGE environment variable to 'iso'.
This will launch eclipse with a default module accepting 'iso' language
instead of the usual 'eclipse_language'.
Differences
The main differences of this extended iso-language compared to the
default eclipse_language are the following:
- The syntax is more restricted, and ISO style is preferred, e.g.
for writing hexadecimal numbers.
- Double quotes denote character lists, while in ECLiPSe they denote
string constants. ECLiPSe-strings can however be written using
back-quotes, e.g. `abc`.
- Arithmetic functions like floor/1 return integer results.
- All ISO built-in predicates are available.
Limitations
ISO's idiosyncratic char_conversion features is not implemented.
About
- Author: Joachim Schimpf, ECRC, IC-Parc and Coninfer Ltd
- Copyright © Cisco Systems, Inc (2006), Coninfer Ltd (modifications 2007-2012)
- Date: $Date: 2013/03/06 22:06:45 $
See Also
library(multifile), library(iso_strict), library(iso_light)
Generated from iso.eci on 2015-10-24 09:53