Difference between revisions of "Visual Prolog 9 New Features"
From wiki.visual-prolog.com
(initial) |
(constant facts) |
||
Line 8: | Line 8: | ||
* {{Lang2|Predicates|Extension Predicates|Extension Predicates}}. | * {{Lang2|Predicates|Extension Predicates|Extension Predicates}}. | ||
* The nondeterm fact databases have been made [[Threadsafe facts|threadsafe]] (lock free) | * The nondeterm fact databases have been made [[Threadsafe facts|threadsafe]] (lock free) | ||
* {{Lang2|Facts|Constant fact variable|Constant fact variables}} that does not change value after initialization. | |||
* New ways to pass {{Lang2|Terms|Arguments|arguments}}. Named, default and optional parameters and functor originals. | * New ways to pass {{Lang2|Terms|Arguments|arguments}}. Named, default and optional parameters and functor originals. | ||
* New attribute {{Lang2|Attributes|mandatoryOut|<vp>[mandatoryOut]</vp>}}. | * New attribute {{Lang2|Attributes|mandatoryOut|<vp>[mandatoryOut]</vp>}}. |
Revision as of 14:51, 21 February 2019
Visual Prolog 11 preliminary documentation. This article contains preliminary documentation for the upcoming release |
Visual Prolog 9 has a number of new language features.
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.
See also Visual Prolog 9 Upgrade Notes.