Difference between revisions of "Visual Prolog 9 New Features"

From wiki.visual-prolog.com

(constant facts)
m (→‎Build 902: runtime)
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Template:NonReleased}}
Visual Prolog 9 has a number of new language features.


Visual Prolog 9 has a number of new language features.
== Build 900 ==


=== Language ===
=== Language ===


* [[Bounded polymorphism]]
* {{Lang|Bounded polymorphism|Bounded polymorphism}}.
* {{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)
Line 14: Line 14:
* {{Lang2|Terms|Bitwise and boolean operators|Bitwise and boolean operators }} <vp>**</vp>, <vp>++</vp>, ...
* {{Lang2|Terms|Bitwise and boolean operators|Bitwise and boolean operators }} <vp>**</vp>, <vp>++</vp>, ...
* New attribute [[Program Defined Attributes|<vp>[attribute]</vp>]].
* New attribute [[Program Defined Attributes|<vp>[attribute]</vp>]].
* Attribute {{Lang2|Attributes|byVal|<vp>[byVal]</vp> }}can now also be used for output arguments <vp>[byVal, out]</vp>.
* Attribute {{Lang2|Attributes|byVal|<vp>[byVal]</vp>}} can now also be used for output arguments <vp>[byVal, out]</vp>.
* New attribute {{Lang2|Attributes|pack|<vp>[pack(N)]</vp>}}
* New attribute {{Lang2|Attributes|pack|<vp>[pack(N)]</vp>}}
* New directive {{Lang2|Directives|Text File Inclusion|<vp>#stringinclude</vp>}}.
* New directive {{Lang2|Directives|Text File Inclusion|<vp>#stringinclude</vp>}}.
Line 24: Line 24:


* More encryption support through the classes <vp>crypt</vp>, <vp>cryptHash</vp> and <vp>bCrypt_api</vp>.
* More encryption support through the classes <vp>crypt</vp>, <vp>cryptHash</vp> and <vp>bCrypt_api</vp>.
* Support for [[JSON Web Tokens (jwt)]].
* Support for JSON Web Tokens (jwt).
* Support for [[Password Hashing]].
* Support for [[Password Hashing]].
* OLE drag and drop and clipboard support.
* OLE drag and drop and clipboard support.
Line 32: Line 32:
=== Examples ===
=== Examples ===


* <vp>jsonWebToken</vp> demonstrates how to create and unpack [[JSON Web Tokens (jwt)]] and a way to  [[Password Hashing|hash passwords]].
* <vp>jsonWebToken</vp> demonstrates how to create and unpack JSON Web Tokens (jwt) and a way to  [[Password Hashing|hash passwords]].
* <vp>tail</vp> a program that display changes to files as they happens (e.g. for live following of log files).
* <vp>tail</vp> a program that display changes to files as they happens (e.g. for live following of log files).
* <vp>dragDropTargetOle</vp> that illustrates how OLE drag and drop and clipboard handling can be used.
* <vp>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 <vp>inline</vp> attribute is used
* Code generation for <vp>~~</vp> breaks stack
* <vp>retired</vp> entities should not cause inheritance ambiguities
=== IDE ===
* The PIE example could not be compiled on Windows 7 computers (and earlier).
=== PFC ===
* [https://discuss.visual-prolog.com/viewtopic.php?t=16719 Raising an exception in a class initializer]
== Build 902 ==
Build 902 fixes a runtime bug with finalizers (see [https://discuss.visual-prolog.com/viewtopic.php?f=2&t=15794 Memory corruption in finalizer]).


See also [[Visual Prolog 9 Upgrade Notes]].
See also [[Visual Prolog 9 Upgrade Notes]].


[[Category:Release Notes|9 New Features]]
[[Category:Release Notes|9 New Features]]

Revision as of 12:40, 26 April 2019

Visual Prolog 9 has a number of new language features.

Build 900

Language

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).

See also Visual Prolog 9 Upgrade Notes.