Other New Features
- Exception Handler: Allows the programmer to specify a recovery
action to be taken if an exception occurs during the execution of a
particular goal. All errors detected by the system now cause an
exception to be raised; exceptions can also be raised by calling the
built-in predicate
raise_exception/1
(see ref-ere).
- Message Handler: Allows customization of the text of system
messages and of how they are displayed to the user. Major uses are
customization or internationalization of error messages, and building
user interfaces. (See ref-msg)
- New I/O: The new I/O system has substantially faster character I/O
and more efficient (buffer-based rather than character-based)
user-defined streams. There is now no limit on the number of open
streams other than that imposed by the operating system.
- New Arithmetic: Standard 32-bit integers and 64-bit floats are supported.
Exceptions are raised on overflows. Variables in arithmetic expressions can
be bound to expressions (not just numbers).
- Advice Package: Allows a developer to associate consistency checks
("advice") to be performed whenever specified predicates are entered or exited.
Advice checking can be enabled/disabled selectively or globally during the
development process (see dbg-adv).