Difference between revisions of "Visual Prolog 9 New Features"
From wiki.visual-prolog.com
 (Build 906)  | 
				 (Build 906)  | 
				||
| Line 76: | Line 76: | ||
== Build 906 ==  | == Build 906 ==  | ||
Build   | Build 906 changes:  | ||
* Code generation bug for 64bit bitwise operators ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=17006 unsigned64 bit operations]).  | * Code generation bug for 64bit bitwise operators ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=17006 unsigned64 bit operations]).  | ||
* 8KB buffer problem for editor save to stream ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=17123 Source file too large?]).  | * 8KB buffer problem for editor save to stream ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=17123 Source file too large?]).  | ||
* <vp>trailingZeroBits64</vp> has been added to <vp>bit</vp>, and bit counts has been changes to <vp>positive</vp> ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=17493 Wishlist Item])  | |||
== See also ==  | == See also ==  | ||
Latest revision as of 09:31, 2 June 2020
Visual Prolog 9 has a number of new language features.
Build 900
Language
- Bounded polymorphism.
 - Extension Predicates.
 - The nondeterm fact databases have been made threadsafe (lock free)
 - Constant fact variables that does not change value after initialization.
 - New ways to pass arguments. Named, default and optional parameters and functor originals.
 - New attribute [mandatoryOut].
 - New predicate notErroneous/1->.
 - Bitwise and boolean operators **, ++, ...
 - New attribute [attribute].
 - Attribute [byVal] can now also be used for output arguments [byVal, out].
 - New attribute [pack(N)]
 - New directive #stringinclude.
 - Lazy/late fact initialization is made atomic/threadsafe.
 - More compact layout of functor terms on the 64 bit platform
 - bit::isSet/2 is handled intrinsically by the compiler ([intrinsic])
 
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 for client side HTTP/HTTPS operations.
 
Examples
- jsonWebToken demonstrates how to create and unpack JSON Web Tokens (jwt) and a way to hash passwords.
 - tail a program that display changes to files as they happens (e.g. for live following of log files).
 - dragDropTargetOle 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 attribute is used
 - Code generation for ~~ breaks stack
 - retired entities should not cause inheritance ambiguities
 
IDE
- The PIE example could not be compiled on Windows 7 computers (and earlier).
 
PFC
Build 902
Build 902 fixes a runtime bug with finalizers (see Memory corruption in finalizer).
Build 903
Build 903 fixes issues in the debugger.
Build 904
Build 904 fixes issues a number of issues in reported build 903.
- The IDE triggers an exception dump.
 - VIP 9.03 Optimal Includes Exception The involved readonly file will not nee update.
 - Naming of resource identifies have been reverted to the Visual Prolog 8 conventions [1]
 
Build 905
Build 905 fixes a number of IDE and debugger issues reported in build 904.
Build 906
Build 906 changes:
- Code generation bug for 64bit bitwise operators (unsigned64 bit operations).
 - 8KB buffer problem for editor save to stream (Source file too large?).
 - trailingZeroBits64 has been added to bit, and bit counts has been changes to positive (Wishlist Item)
 
See also
See also Visual Prolog 9 Upgrade Notes.
