Visual Prolog 10 New Features


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


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


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


  • 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


  • webView2Demo
  • direct2DDemo
  • Master/slave demo

Build 1001

Build 1001 solves a number of bugs discovered in build 1000.


  • Dump from code generation in object expression (VIP10 - Compiler Core Dump)
  • hasDomain(real, 1) is a real
  • Strange linker error (notification id=19499)
  • Invalid stack 64bit (notification id=19479)



  • vpi reinitialize in DLLs (incorrect dll)
  • vip manifest problem running on Windows 7

Build 1002

Build 1002 solves a number of bugs discovered in previous builds.



  • Cannot debug a DLL project (problem with net path resolving)


See also

See also Visual Prolog 10 Upgrade Notes.