Visual Prolog 10 New Features

From wiki.visual-prolog.com

Revision as of 10:34, 14 April 2021 by Thomas Linder Puls (talk | contribs) (links)

Visual Prolog 10 has been extended with object expressions, and in PFC there is support for the Microsoft Edge webView2 control and Direct 2D, Direct Write and Windows Imaging Component.

 


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 default arguments 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.