13.12.1 New Features
- SPIDER, the SICStus Prolog IDE, is a new Eclipse-based development
environment for SICStus with many powerful features. See SICStus Prolog IDE for more information.
- Do-loops, a new control structure and built-in predicate
for performing simple iterations.
- Conditional compilation, a pre-processing step that selectively
discards parts of a file at compile time. This is especially useful
for writing code that needs to be compatible with more than one Prolog
implementation. See Conditional Compilation for more
- New Prolog flags:
- make it easier
to determine which version of SICStus is running. Especially useful with
- make it easier
to determine on which operating system SICStus is running.
The range of small integers.
Not a new flag but is no longer read-only. Setting it can be useful,
e.g. in test cases.
- Added stream property
interactive for interactive streams, like
the standard input and output streams when invoking SICStus on a
terminal or with the -i command line option.
- Meta-predicate declarations now allow an integer instead of
(colon) in order to help analysis tools follow code references. All
documentation and libraries have been updated to reflect this. (This was
always allowed in SICStus as a substitute for
: (colon) but was
- Compound terms denoting references to dynamic clauses are
recognized by the new built-in predicate
- The previously reserved argument to
SP_initialize() can now be
used to pass initialization options.
- Saved-states and ‘.po’ files are portable across architectures
that have the same word size. Pre-4.1 ‘.sav’ and ‘.po’ files
are not compatible with this and future releases.
- Several new statistics keywords are available. Also,
now resets the “time spent since the latest call” counters.
a new ODBC library for interfacing with databases. ODBC (Open Database
Connectivity) is a standard API for using a DBMS (DataBase Management
System). By using ODBC you can access data from a multitude of DBMSs
without having to know the details of each DBMS.
- It is now possible to pass environment variables to the sub-process
using the new
environment/1 option to
random:setrand/1 can now be passed an arbitrary integer for
initializing the state of the random number generators. This is easier
than constructing a valid random state like those returned by
geost/[2,3,4] is a new powerful constraint that constrains the
location in space of non-overlapping multi-dimensional objects.
table/[2,3] is more scalable and has
several new options for controlling its DAG construction.
automaton/3 is a shorthand for the most common use of
automaton/8 with options.
- Unary minus (
-) is allowed in arithmetic expressions.
- Several new demo examples.
library(zinc): upgraded to FlatZinc version 1.0.
library(system): a new predicate,
environ/3, for reading system properties,
environment variables or a merged view of both. See below for the new concept
“System Properties” that has replaced most uses of environment
library(sockets): The predicates that create socket streams now
eol/1 with the same meaning as
Send feedback on this subject.