lib(iso_light)

Overview
    This library provides the essential features of ISO-Prolog (ISO/IEC
    13211-1) without aiming for full conformance, in particular with respect
    to error handling.
    
    This is one of three libraries providing different degrees of ISO
    compatibility:
    
    iso_strict
        Aims to be fully ISO compliant, and represents the
        'strict mode' required by the standard.
    iso
        Aims to be fully ISO compliant, but also includes
        ECLiPSe functionality that does not conflict with the standard.
    iso_light
        Provides the essence of ISO features without aiming for full
        conformance (in particular with respect to error handling), and
        may include ECLiPSe extensions that go beyond what the letter of
        the standard allows.  Also useful for importing individual ISO
        features into a program that is otherwise written in ECLiPSe dialect.
    
    
Usage as a language-module
    The effect of this compatibility library is (with minor exceptions)
    local to the module where it is loaded.  An program written in this
    dialect should always be contained in a separate module, starting with
    a directive like
    
    :- module(myisomodule, [], iso_light).
    
    Here, the last argument of the module/3 directive indicates the language.
    It is not advisable to use ":-lib(iso_light)" or ":-ensure_loaded(library(iso_light))"
    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_light" command line option,
    or set the ECLIPSEDEFFAULTLANGUAGE environment variable to 'iso_light'.
    This will launch eclipse with a default module accepting 'iso_light' language
    instead of the usual 'eclipse_language'.
    
Using individual features
    It is possible and meaningful to import only individual predicates
    from this library, e.g.
    
    :- import sub_atom/5 from iso_light.
    
    This will only make sub_atom/5 available, without affecting syntax
    settings in the importing module.
    
Differences
    The main differences of the iso_light 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.
    


