Visual Prolog 10 New Features
From wiki.visual-prolog.com
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 (http://extwebservices.pdc.xx/notificationlog/Details.aspx?notificationGroup_id=19649)
- hasDomain(real, 1) is a real
- Strange linker error (http://extwebservices.pdc.xx/notificationlog/Details.aspx?notificationGroup_id=19499)
- Invalid stack 64bit (http://extwebservices.pdc.xx/notificationlog/Details.aspx?notificationGroup_id=19479)
- 1 << 32 bug
PFC
- tickAction/setTimer exception if called before show
- gdi+ fontCollection (Problem with gdiplus fontCollection:families)
Others
- vpi reinitialize in DLLs (incorrect dll)
- vip manifest problem running on Windows 7
See also
See also Visual Prolog 10 Upgrade Notes.