Visual Prolog 9 New Features

Visual Prolog 9 has a number of new language features.

Language

 * Bounded polymorphism.
 * The nondeterm fact databases have been made threadsafe (lock free)
 * that does not change value after initialization.
 * New ways to pass . Named, default and optional parameters and functor originals.
 * New attribute.
 * New predicate.
 * **, ++, ...
 * New attribute [attribute].
 * Attribute can now also be used for output arguments [byVal, out].
 * New attribute
 * New directive.
 * Lazy/late fact initialization is made.
 * More compact layout of functor terms on the 64 bit platform
 * bit::isSet/2 is handled intrinsically by the compiler
 * bit::isSet/2 is handled intrinsically by the compiler

PFC

 * More encryption support through the classes crypt, cryptHash and bCrypt_api.
 * Support for JSON Web Tokens (jwt).
 * Support for Password Hashing.
 * OLE drag and drop and clipboard support.
 * Support for Slim Reader/Writer locks (srwLock)
 * New package winHttp_api</vp> for client side HTTP/HTTPS operations.

Examples

 * jsonWebToken</vp> demonstrates how to create and unpack JSON Web Tokens (jwt) and a way to hash passwords.
 * tail</vp> a program that display changes to files as they happens (e.g. for live following of log files).
 * dragDropTargetOle</vp> that illustrates how OLE drag and drop and clipboard handling can be used.

Build 901
Build 901 fixes bugs as listed below.

Language

 * Constant used in inline</vp> attribute is used
 * Code generation for </vp> breaks stack
 * retired</vp> entities should not cause inheritance ambiguities

IDE

 * The PIE example could not be compiled on Windows 7 computers (and earlier).

PFC

 * Raising an exception in a class initializer

Build 902
Build 902 fixes a runtime bug with finalizers (see Memory corruption in finalizer).

See also Visual Prolog 9 Upgrade Notes.