Download SICStus Prolog Release Notes
Transcript
Chapter 13: Revision History 56 • SICStus Prolog does not verify that Prolog text is in Unicode NFC format. When reading terms, SICStus Prolog currently does not verify that the input text contains valid Unicode 5.0 characters in Normal Form C. See Section “Syntax of Tokens as Character Strings” in the SICStus Prolog Manual. This is not a problem as long as the input is in the proper format but it will accept some input that may be rejected or interpreted differently in a future version of SICStus Prolog. 13.16 Changes Introduced in Version 4.2.0 13.16.1 New Features • If the Prolog flag source_info is on at compile time, more information from the source code is kept around at runtime, with improved functionality including: − The debugger can show variable bindings for the current clause and its ancestors. − The Emacs interface offers a variable bindings window that is updated on every debugger port interaction. − listing/[0,1] displays the clauses with their source code variable names. − PO files and saved-states retain information about variable names and line numbers. − The SICStus Prolog IDE (SPIDER) also takes advantage of the improved debugging information, e.g. the variable bindings view in SPIDER now has information for more variables than in earlier releases. − Generic runtime systems are now available on all platforms, not only on Windows. See Section “Generic Runtime Systems” in the SICStus Prolog Manual for details. • Execution profiling has been reengineered: − The execution profile can be printed in a format similar to gprof(1). − There is no longer any need to specially instrument code for profiling. − Execution profiling is available for compiled as well as interpreted code. − Execution profiling is either globally on or globally off, reflected by the value of the new profiling Prolog flag. − The new scheme keeps track of the number of calls per caller-callee pair. − The new scheme detects calls that succeed nondeterminately. − No clause level data is maintained, all data is per predicate. − The profiledcode value of the compiling Prolog flag has been dropped. − PO files don’t store any profiling data. − The built-in predicates profile_data/4 and profile_reset/1 have been replaced by profile_reset/0, profile_data/1, print_profile/[0,1], coverage_ data/1, and print_coverage/[0,1]. − SPIDER can present the profile information. • Improved performance on Linux Intel, 32 and 64 bits. • Coverage analysis is now available, for compiled as well as interpreted code: − It uses the same infrastructure as execution profiling.