Difference between revisions of "Visual Prolog 10 New Features"

From wiki.visual-prolog.com

(initial)
 
(update)
Line 1: Line 1:
Visual Prolog 10 has a number of new language features.
Visual Prolog 10.
{{NonReleased}}
{{NonReleased}}


Line 21: Line 21:
* <vp>direct2DControlSupport</vp> for implementing drawing using Direct 2D, Direct Write and Windows Imaging Component
* <vp>direct2DControlSupport</vp> for implementing drawing using Direct 2D, Direct Write and Windows Imaging Component
* random number generator (in an object), whose state can be serialized/deserialized.
* random number generator (in an object), whose state can be serialized/deserialized.
* Master/slave suppor packages
* Master/slave support packages, see [[Master/slave processes]].
* <vp>pipe_api</vp> more kinds of anonymous pipes (notably asynchronous ones).
* <vp>pipe_api</vp> more kinds of anonymous pipes (notably asynchronous ones).
* <vp>topLevelContainerWindow::setBackgroundColor</vp> Set the background color of dialogs and forms and their controls (i.e. standard windows controls)
* <vp>topLevelContainerWindow::setBackgroundColor</vp> Set the background color of dialogs and forms and their controls (i.e. standard windows controls)
Line 27: Line 27:
=== IDE ===
=== IDE ===


* Dialog editor and generation on parsing the code
* Dialog editor and generation by parsing the code in the generated section (instead of using .dlg, .frm and .ctl files).
* IDE and builder now run in master/slave mode. Where a number of compilers are being run as child processes, which the IDE/builder communicates with through communication pipes. See wiki articles above.
* IDE and builder now run in master/slave mode. Where a number of compilers are being run as child processes, which the IDE/builder communicates with through communication pipes. See [[Master/slave processes]].
* Disassembler intermixed with source
* Disassembler intermixed with source
* Improve predicate and closure values
* Improve predicate and closure values
Line 36: Line 36:
* webView2Demo
* webView2Demo
* direct2DDemo
* direct2DDemo
* Master/slave demo


== See also ==
== See also ==

Revision as of 10:17, 14 April 2021

Visual Prolog 10.

 


Build 1000

Language

  • Object expressions
  • Allow a clause for apicall predicate resolved externally from DLL and call it if the corresponding entry is not found in a DLL
  • Allow attribute [inline] for Prolog predicate types
  • Better codes generation for facts handling due to optimized facts access
  • Predicate argument defaults can be a non-constant expressions that is evaluated when the predicate is called.
  • Generate call to memory::threadAttachCurrent in not-Prolog predicates which are DLL entry points
  • Change representation of the binary domain
  • Bitwise operator --
  • Attribute [generated] for generated code (makes the compiler issue less warnings)

PFC

  • webView2Cotrol and webView2_api for support of Microsoft Edge webView2 control
  • direct2DControlSupport for implementing drawing using Direct 2D, Direct Write and Windows Imaging Component
  • random number generator (in an object), whose state can be serialized/deserialized.
  • Master/slave support packages, see Master/slave processes.
  • pipe_api more kinds of anonymous pipes (notably asynchronous ones).
  • topLevelContainerWindow::setBackgroundColor Set the background color of dialogs and forms and their controls (i.e. standard windows controls)

IDE

  • Dialog editor and generation by parsing the code in the generated section (instead of using .dlg, .frm and .ctl files).
  • IDE and builder now run in master/slave mode. Where a number of compilers are being run as child processes, which the IDE/builder communicates with through communication pipes. See Master/slave processes.
  • Disassembler intermixed with source
  • Improve predicate and closure values

Examples

  • webView2Demo
  • direct2DDemo
  • Master/slave demo

See also

See also Visual Prolog 10 Upgrade Notes.