Difference between revisions of "Visual Prolog 10 New Features"

From wiki.visual-prolog.com

(Release build 1001)
(links)
Line 43: Line 43:
=== Language ===
=== Language ===


* Dump from code generation in object expression (http://extwebservices.pdc.xx/notificationlog/Details.aspx?notificationGroup_id=19649)
* Dump from code generation in object expression ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19649 VIP10 - Compiler Core Dump])
* hasDomain(real, 1) is a real
* hasDomain(real, 1) is a real
* Strange linker error (http://extwebservices.pdc.xx/notificationlog/Details.aspx?notificationGroup_id=19499)
* Strange linker error (notification id=19499)
* Invalid stack 64bit (http://extwebservices.pdc.xx/notificationlog/Details.aspx?notificationGroup_id=19479)
* Invalid stack 64bit (notification id=19479)
* 1 << 32 bug
* 1 << 32 bug ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19460 VIP Version 10!])


=== PFC ===
=== PFC ===


* tickAction/setTimer exception if called before show
* tickAction/setTimer exception if called before show
* gdi+ fontCollection (Problem with gdiplus fontCollection:families)
* gdi+ fontCollection ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19844 Problem with gdiplus fontCollection:families])


=== Others ===
=== Others ===


* vpi reinitialize in DLLs (incorrect dll)
* vpi reinitialize in DLLs ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19786 incorrect dll])
* vip manifest problem running on Windows 7
* vip manifest problem running on Windows 7



Revision as of 14:00, 22 June 2021

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

Build 1001

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

Language

  • 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)
  • 1 << 32 bug (VIP Version 10!)

PFC

Others

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

See also

See also Visual Prolog 10 Upgrade Notes.