10.1 Changes in Release 3
     
- Backslashes (`\') in strings, quoted atoms, and integers written in `0''
notation denote escape sequences.  Character escaping can be switched off.
     
- Multifile declarations are required in all files where
clauses to a multifile predicate are defined.  This complies with the ISO
Prolog Standard.
     
- The built-in predicate call_residue/2has been modified so that
goals that are disjunctively blocked on several variables are returned
correctly in the second argument.
- The built-in predicate setarg/3has been removed.  Its
functionality is provided by the new built-in predicatescreate_mutable/2,get_mutable/2,update_mutable/2, andis_mutable/2,
which implement a timestamp technique for value-trailing with low-level
support.
- The built-in predicates unix/1andplsys/1have been
removed.  Their functionality is provided byprolog_flag(argv,X), by the newhalt/1built-in predicate, and
by the newlibrary(system)module, which also contains several new
predicates.
- The socket I/O built-in predicates have been moved to the new
library(sockets)module.
- The built-in predicate time_out/3has been moved to the newlibrary(timeout)module.
- The built-in predicates term_hash/[2,4],subsumes_chk/2, andterm_subsumer/3have been moved to the newlibrary(terms)module, which also contains operations for unification with occurs-check,
testing acyclicity, and getting the variables of a term.
- The foreign language interface (Prolog-to-C) has been extended with the types
+chars,-charsand[-chars]for fast conversion between
C strings and Prolog code-lists.  Several new interface functions
are available.
- The memory handling of the C-to-Prolog interface has been simplified by
passing each Prolog term as a “handle” object, called an SP_term_ref,
making the functions SP_show_term()andSP_hide_term()obsolete.
- The InterViews 2.6 based GUI module library(gmlib)has been replaced by
the Tcl/Tk basedlibrary(tcltk).  A version oflibrary(gmlib)converted to SICStus Prolog release 3 is available from
ftp://ftp.sics.se/archive/sicstus3/gmlib.tar.gz.
- The library(objects)module has been enhanced.
- Inheritance is static, i.e. determined at object creation
time, and is implemented as module importation.
          
- A new, very light-weight, type of object: instance.
          
- Attributes, efficient storage of terms in objects.
          
- Unprefixed goals in methods denote message passing to self. 
Prolog goals in methods must be prefixed by `:'.
 
- In library(charsio), theopen_chars_stream/[3,4]predicates
have been replaced byopen_chars_stream/2andwith_output_to_chars/[2,3].
- The library(assoc)module now implements AVL trees instead of
unbalanced binary trees.
- The new library(atts)implements
attributed variables, a general mechanism for associating logical variables
with arbitrary attributes. Comes with a number of hooks that make it
convenient to define and interface to constraint solvers.
- The Boolean constraint solver has been moved to the new library(clpb)and is implemented on top oflibrary(atts).
- New constraint solvers for rationals (library(clpq)) and reals
(library(clpr)), implemented on top oflibrary(atts).
- user:goal_expansion/3is a new hook predicate for macro-expansion.
- bb_put/2,- bb_get/2,- bb_delete/2, and- bb_update/3are new built-in predicates implementing blackboard primitives.
- prolog_load_context/2is a new built-in predicate
for accessing aspects of the context of files being loaded.
- user:file_search_path/2is a new hook predicate
providing a path expansion mechanism for filenames.
- gcd/2is a new built-in function.
- The statistics keyword walltimemeasures elapsed absolute time.
- In runtime systems, ensure_loaded/1anduse_module/[1,2,3]have the same semantics as in development systems.
- Native code compilation available for MIPS platforms.
     
- Problems in native code compilation for certain SPARC models
have been eliminated.
     
- Performance improvements include emulated code speed,
native code speed, and the foreign language interface.
     
- The system has been ported to the DEC OSF/1 Alpha (a 64-bit platform).