Difference between revisions of "Visual Prolog 10 New Features"

From wiki.visual-prolog.com

(link)
(Build 1002)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
Visual Prolog 10 has been extended with {{lang2|Terms|Object Expressions|object expressions}}, and in PFC there is support for the Microsoft Edge webView2 control and Direct 2D, Direct Write and Windows Imaging Component.
Visual Prolog 10 has been extended with {{lang2|Terms|Object Expressions|object expressions}}, and in PFC there is support for the Microsoft Edge webView2 control and Direct 2D, Direct Write and Windows Imaging Component.
{{NonReleased}}


== Build 1000 ==
== Build 1000 ==
Line 13: Line 12:
* Generate call to <vp>memory::threadAttachCurrent</vp> in not-Prolog predicates which are DLL entry points
* Generate call to <vp>memory::threadAttachCurrent</vp> in not-Prolog predicates which are DLL entry points
* Change representation of the {{lang2|Built-in entities/Domains|binary|<vp>binary</vp>}} domain
* Change representation of the {{lang2|Built-in entities/Domains|binary|<vp>binary</vp>}} domain
* Bitwise operator <vp>--</vp>
* {{lang2|Terms|Bitwise and boolean operators|Bitwise operator <vp>--</vp>}}
* Attribute {{lang2|Attributes|generated|<vp>[generated]</vp>}} for generated code (makes the compiler issue less warnings)
* Attribute {{lang2|Attributes|generated|<vp>[generated]</vp>}} for generated code (makes the compiler issue less warnings)


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


* <vp>webView2Cotrol</vp> and <vp>webView2_api</vp> for support of Microsoft Edge webView2 control
* <vp>webView2Cotrol</vp> and <vp>webView2_api</vp> for support of [[Microsoft Edge webView2|Microsoft Edge webView2 control]]
* <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.
Line 37: Line 36:
* direct2DDemo
* direct2DDemo
* Master/slave demo
* Master/slave demo
== Build 1001 ==
Build 1001 solves a number of bugs discovered in build 1000.
=== Language ===
* 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
* Strange linker error (notification id=19499)
* Invalid stack 64bit (notification id=19479)
=== PFC ===
* tickAction/setTimer exception if called before show
* gdi+ fontCollection ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19844 Problem with gdiplus fontCollection:families])
=== Others ===
* vpi reinitialize in DLLs ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19786 incorrect dll])
* vip manifest problem running on Windows 7
== Build 1002 ==
Build 1002 solves a number of bugs discovered in previous builds.
=== Language ===
* 64bit [https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19940 Bit Operations]
* 1 << 32 bug ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19460 VIP Version 10!])
=== Debugger ===
* Cannot debug a DLL project (problem with net path resolving)
=== PFC ===
* postpone textcontrol:setForegroundColor to onShow ([https://discuss.visual-prolog.com/viewtopic.php?f=2&t=19948 Custom Control Issue with workaround -- Build 1000])


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

Latest revision as of 12:06, 19 July 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)

PFC

Others

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

Language

Debugger

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

PFC

See also

See also Visual Prolog 10 Upgrade Notes.