Difference between revisions of "Visual Prolog 11 New Features"
From wiki.visual-prolog.com
(vipLaunch and version number) |
m (examples link) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Visual Prolog 11 has been extended with {{lang|Suspending Predicates|Suspending Predicates}}. | Visual Prolog 11 has been extended with {{lang|Suspending Predicates|Suspending Predicates}}. | ||
Line 7: | Line 5: | ||
New utility "[[vipLaunch]]" for launching projects in correct IDE. The installer is included in the Visual Prolog 11 installer, but you can also install the latest version directly here [https://www.visual-prolog.com/link/vipLaunch.php vipLaunch installer]. | New utility "[[vipLaunch]]" for launching projects in correct IDE. The installer is included in the Visual Prolog 11 installer, but you can also install the latest version directly here [https://www.visual-prolog.com/link/vipLaunch.php vipLaunch installer]. | ||
Download Visual Prolog 11 [https://www.visual-prolog.com/link/ | Download Visual Prolog 11 [https://www.visual-prolog.com/link/examples.php?version=11 Demo Examples]. | ||
== Build 1105 == | == Build 1105 == | ||
Line 20: | Line 18: | ||
* Embedded string8 (utf8) support (literals and conversions) | * Embedded string8 (utf8) support (literals and conversions) | ||
* Warning c665 for a fact which is always initialized with a constant and is not changed (switched off by the default) | * Warning c665 for a fact which is always initialized with a constant and is not changed (switched off by the default) | ||
* Digit separator support (syntax only) <vp>1_000_000</vp> | * Digit separator support (syntax only) <vp>1_000_000</vp> and <vp>0x_1A2B_3C4D</vp> | ||
=== PFC === | === PFC === | ||
Line 82: | Line 80: | ||
* The <vp>webServiceDemo</vp> is updated to demonstrate usage of the flag <vp>jsonRpcApi{@Context}::exceptionTraceLevel</vp>. | * The <vp>webServiceDemo</vp> is updated to demonstrate usage of the flag <vp>jsonRpcApi{@Context}::exceptionTraceLevel</vp>. | ||
* Add zip / unzip functionality | * Add zip / unzip functionality | ||
== Build 1106 == | |||
=== Language === | |||
* Fix: Subtype presenter problem | |||
* Fix: Stack overflow exception on binary constant allocation | |||
* Fix: Wrong debug info for unbound variable (functor component) | |||
* Fix: Debugger/presenters: false objects | |||
=== PFC === | |||
* webView2 | |||
** Fix: Windows 7 and Windows 8 compatibility./li> | |||
** Additional CompleteHandler handling (suspending predicates). | |||
* Fix: <vp>ribbonControl</vp>: Release native graphics context. | |||
* odbc: add column/parameter number for results longer than the buffer. | |||
* <vp>window::centerTo</vp>: map to Windows parent (not pfc parent). | |||
=== IDE === | |||
* <vp>webView2</vp> control show on Windows 7/8 & update build number | |||
* show correct build number | |||
=== Other === | |||
* <vp>comWrap</vp>: Handle more winRT CompleteHandlers (for webView2) | |||
* Fix: Runtime debugger/presenters: false objects | |||
== Build 1107 == | |||
=== PFC === | |||
* New class <vp>gcUcBuffer</vp>: for buffers that cannot be caught by false pointers. | |||
* odbc: utilize <vp>gcUcBuffer</vp> to avoid that odbc buffers are caught by false pointers. | |||
* New predicate <vp>clipBoard::putFileList</vp> for putting files on the clipboard in the pre-defined hDrop format. | |||
* <vp>command</vp> and <vp>ribbonControl</vp>: new responder <vp>queryBadgeState</vp>. | |||
* Prevent <vp>vpi::processEvents</vp> from interfering with <vp>postAction</vp> order. | |||
=== IDE === | |||
* Personal edition supports 64 bit targets. | |||
* Open external browser for registration, wiki-help and forum links. | |||
* '''Help -> Prolog Foundation Classes (PFC)''' opens vip.chm. | |||
=== Other === | |||
Fix: MemoryProfiler wrong scaling of total graph. | |||
== Build 1108 == | |||
=== PFC === | |||
* New property <vp>remoteAddress</vp> on interface <vp>httpRequest</vp>. | |||
* New predicate <vp>memory::mkCopy_atomic</vp> for copying structs. | |||
* New predicates <vp>formatSocketAddress</vp> and <vp>formatSockAddr</vp> in class <vp>winSock2_api</vp>. | |||
* <vp>winSock2_api</vp> correct and simplify various domains. | |||
=== IDE === | |||
* Fix: Exceptions when git is not installed. | |||
== Build 1110 == | |||
=== Language === | |||
* <vp>match</vp> and <vp>case</vp> has been reserved as keywords in next major release. | |||
=== PFC === | |||
* Fix: Wrong type of parameter type in predicate <vp>winHttp_native::winHttpSetOption</vp> declaration. | |||
* Fix: Eliminate race condition for <vp>postAction</vp>. | |||
* Deprecate <vp>time::getTickCount</vp> in favour of <vp>performanceCounter</vp>'s. | |||
* Deprecate <vp>regEx::match</vp> because <vp>match</vp> will become a keyword. | |||
== Build 1111 == | |||
=== PFC === | |||
* Fix: time_api::getTimeZoneOffset hours -> minutes | |||
* Fix: odbcStatement::free: allow to be called more than once | |||
* Fix: stringFormat (gdiplus): nullary constructor must create a fresh object | |||
=== Debugger === | |||
Fix: Dictionary loading timeout for large programs in debug adaptor | |||
== See also == | == See also == |
Latest revision as of 11:50, 24 April 2024
Visual Prolog 11 has been extended with Suspending Predicates.
The development system can only run on 64 bit Windows, but can still build programs for both 32 and 64 bit Windows.
New utility "vipLaunch" for launching projects in correct IDE. The installer is included in the Visual Prolog 11 installer, but you can also install the latest version directly here vipLaunch installer.
Download Visual Prolog 11 Demo Examples.
Build 1105
Language
- Suspending Predicates
- feature attribute, built-in predicate is_feature_available, compiler option /ENABLEFEature:feature_name
- Built-in predicates convertAllowNull and tryConvertAllowNull
- Built-in constants <interface>::null for all interfaces
- Warning: explicit programmingPoint available
- Embedded string8 (utf8) support (literals and conversions)
- Warning c665 for a fact which is always initialized with a constant and is not changed (switched off by the default)
- Digit separator support (syntax only) 1_000_000 and 0x_1A2B_3C4D
PFC
- Support for asynchronous programming by means of suspending predicates:
- New: executionContext_pool a multi threaded pool for asynchronous and background work
- New: executionContext_single a single threaded worker for asynchronous work
- New: Suspending predicates can be executed in a GUI thread (using future::submit)
- New: Diverse suspending predicate domains in core
- Updated: asyncSocket & asyncSocketListener
- Updated: master/slave support
- Updated: future/promise
- Updated: HTTP server & JSON RPC & webSocket
- Updated: webView2
- Updated: watchDirectory
- Removed: continuation class and inteface due to redundancy.
- Removed: threadpool and all related classes and interfaces due to redundancy.
- New support class: resumable class for internal support of suspending predicates
- New support classes: tp (etc) internal win32 threadpool interface for dealing with asynchronous io, timers, syncObject waiting, etc
- Deprecated/removed diverse continuation based stuff
- MSXML import free threaded xmlhttp: including iXMLHTTPRequest3
- Predicate messageBox::displayWarningYesNo_dt replacement for displayWarning_dt
- Deprecate messageBox::displayWarning_dt: UX: It is reccomended to use Yes/No warnings instead of OK/Cancel
- Color predicates blendColor, darken and lighten in gdiplus.
- fetchString8asString and useLocalTimeValue properties on odbcConnection and odbcStatement.
- delayCallLimit predicate on window for delay calls with a MaxDelay.
- inputStream_binary and outputStream_binary supports/allows ansi(utf8) mode.
- Improved outputStream performance for messageControl.
- event0, event1, ... classes: lock free threadsafe.
- 'Sergoe Fluent Icons'/'Segoe MDL2 Assets' glyph icons in ribbonControl/commands
- Explorer theme is applied to treeControl by default.
- monitorQueue and monitorQueue_length are updated with close functionality. As a result the dequeue operation has become determ.
- Console projects supports Console Virtual Terminal Sequences (by off default).
- flag jsonRpcApi{@Context}::exceptionTraceLevel controlling which/when exception dumps that are send to the client side.
IDE
- Main IDE is now always 64bit
- Debug Adapter makes cross-debugging to 32bit possible
- Dynamic Help (based on browse information and syntax parsing results)
- New toolbar
- vipId support
- Use new Sergoe Fluent Icons
- Default SDI project includes 'Sergoe Fluent Icons'/'Segoe MDL2 Assets' glyph icons the ribbonControl/commands
- Add variable $(node_modules)
- New Menu item handlers (move code expert to properties window)
- Alt+X converts (unicode) hex to char
- changes.htm and appData\doc\vip.chm handling
- Updated Welcome window
- splitterControl in welcome page
- Build system: pre-build command
- Automatic parallel obj/deb directories
Debugger
- Debugging now uses a Debug Adapter
Other
- Remove superfluous webRpc demo & update webServiceDemo to dispose the session.
- The webServiceDemo is updated to demonstrate usage of the flag jsonRpcApi{@Context}::exceptionTraceLevel.
- Add zip / unzip functionality
Build 1106
Language
- Fix: Subtype presenter problem
- Fix: Stack overflow exception on binary constant allocation
- Fix: Wrong debug info for unbound variable (functor component)
- Fix: Debugger/presenters: false objects
PFC
- webView2
- Fix: Windows 7 and Windows 8 compatibility./li>
- Additional CompleteHandler handling (suspending predicates).
- Fix: ribbonControl: Release native graphics context.
- odbc: add column/parameter number for results longer than the buffer.
- window::centerTo: map to Windows parent (not pfc parent).
IDE
- webView2 control show on Windows 7/8 & update build number
- show correct build number
Other
- comWrap: Handle more winRT CompleteHandlers (for webView2)
- Fix: Runtime debugger/presenters: false objects
Build 1107
PFC
- New class gcUcBuffer: for buffers that cannot be caught by false pointers.
- odbc: utilize gcUcBuffer to avoid that odbc buffers are caught by false pointers.
- New predicate clipBoard::putFileList for putting files on the clipboard in the pre-defined hDrop format.
- command and ribbonControl: new responder queryBadgeState.
- Prevent vpi::processEvents from interfering with postAction order.
IDE
- Personal edition supports 64 bit targets.
- Open external browser for registration, wiki-help and forum links.
- Help -> Prolog Foundation Classes (PFC) opens vip.chm.
Other
Fix: MemoryProfiler wrong scaling of total graph.
Build 1108
PFC
- New property remoteAddress on interface httpRequest.
- New predicate memory::mkCopy_atomic for copying structs.
- New predicates formatSocketAddress and formatSockAddr in class winSock2_api.
- winSock2_api correct and simplify various domains.
IDE
- Fix: Exceptions when git is not installed.
Build 1110
Language
- match and case has been reserved as keywords in next major release.
PFC
- Fix: Wrong type of parameter type in predicate winHttp_native::winHttpSetOption declaration.
- Fix: Eliminate race condition for postAction.
- Deprecate time::getTickCount in favour of performanceCounter's.
- Deprecate regEx::match because match will become a keyword.
Build 1111
PFC
- Fix: time_api::getTimeZoneOffset hours -> minutes
- Fix: odbcStatement::free: allow to be called more than once
- Fix: stringFormat (gdiplus): nullary constructor must create a fresh object
Debugger
Fix: Dictionary loading timeout for large programs in debug adaptor
See also
See also Visual Prolog 11 Upgrade Notes.