Difference between revisions of "Visual Prolog 11 New Features"

From wiki.visual-prolog.com

(init)
 
(News (initial))
Line 1: Line 1:
{{Template:NonReleased}}
{{Template:NonReleased}}
Visual Prolog 11 has been extended with {{lang|Suspending Predicates|Suspending Predicates}}.
The development system can only run on 64 bit Windows, but can still build program for both 32 and 64 bit Windows.
== Build 1104 ==
=== Language ===
* {{lang|Suspending Predicates|Suspending Predicates}}
* {{lang2|Attributes|feature|feature}} attribute, built-in predicate <vp>is_feature_available</vp>, compiler option '''/ENABLEFEature:feature_name'''
* Built-in predicates <vp>convertAllowNull</vp> and <vp>tryConvertAllowNull</vp>
* Built-in constants <interface><vp>::null</vp> for all interfaces
* Warning: explicit <vp>programmingPoint</vp> 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) <vp>1_000_000</vp>, 0x_1A2B_3C4D
=== PFC ===
* Support for asynchronous programming by means of suspending predicates:
** New: <vp>executionContext_pool</vp> a multi threaded pool for asynchronous and background work
** New: <vp>executionContext_single</vp> a single threaded worker for asynchronous work
** New: Suspending predicates can be executed in a GUI thread (using <vp>future::submit</vp>)
** New: Diverse suspending predicate domains in <vp>core</vp>
** Updated: <vp>asyncSocket</vp> & <vp>asyncSocketListener</vp>
** Updated: master/slave support
** Updated: <vp>future</vp>/<vp>promise</vp>
** Updated: HTTP server & JSON RPC & <vp>webSocket</vp>
** Updated: <vp>webView2</vp>
** Updated: <vp>watchDirectory</vp>
** Removed: <vp>continuation</vp> class and inteface due to redundancy.
** Removed: <vp>threadpool</vp> and all related classes and interfaces due to redundancy.
** New support class: <vp>resumable</vp> class for internal support of suspending predicates
** New support classes: <vp>tp</vp> (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 <vp>iXMLHTTPRequest3</vp>
* Predicate <vp>messageBox::displayWarningYesNo_dt</vp> replacement for <vp>displayWarning_dt</vp>
* Deprecate <vp>messageBox::displayWarning_dt</vp>: UX: It is reccomended to use Yes/No warnings instead of OK/Cancel
* Color predicates <vp>blendColor</vp>, <vp>darken</vp> and <vp>lighten</vp> in <vp>gdiplus</vp>.
* <vp>fetchString8asString</vp> and <vp>useLocalTimeValue</vp> properties on <vp>odbcConnection</vp> and <vp>odbcStatement</vp>.
* <vp>delayCallLimit</vp> predicate on <vp>window</vp> for delay calls with a MaxDelay.
* <vp>inputStream_binary</vp> and <vp>outputStream_binary</vp> supports/allows ansi(utf8) mode.
* Improved <vp>outputStream</vp> performance for <vp>messageControl</vp>.
* <vp>event0</vp>, <vp>event1</vp>, ... classes: lock free threadsafe.
* 'Sergoe Fluent Icons'/'Segoe MDL2 Assets' glyph icons in ribbonControl/commands
* Explorer theme is applied to <vp>treeControl</vp> by default.
* <vp>monitorQueue</vp> and <vp>monitorQueue_length</vp> are updated with <vp>close</vp> functionality.  As a result the <vp>dequeue</vp> operation has become determ.
* Console projects supports [https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences Console Virtual Terminal Sequences] (by off default).
* flag <vp>jsonRpcApi{@Context}::exceptionTraceLevel</vp> controlling which/when exception dumps that are send to the client side.
=== IDE ===
* Main IDE is now always 64bit
* [[Ide/Debugger#Debug_Adapter|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 [[Ide/Debugger#Debug_Adapter|Debug Adapter]]
=== Other ===
* Remove superfluous webRpc demo & update webServiceDemo to dispose the session.
* [[vipLaunch]] - utility for launching projects in correct IDE
* The <vp>webServiceDemo</vp> is updated to demonstrate usage of the flag <vp>jsonRpcApi{@Context}::exceptionTraceLevel</vp>.
* Add zip / unzip functionality


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

Revision as of 16:23, 4 January 2024

 


Visual Prolog 11 has been extended with Suspending Predicates.

The development system can only run on 64 bit Windows, but can still build program for both 32 and 64 bit Windows.

Build 1104

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, 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

Other

  • Remove superfluous webRpc demo & update webServiceDemo to dispose the session.
  • vipLaunch - utility for launching projects in correct IDE
  • The webServiceDemo is updated to demonstrate usage of the flag jsonRpcApi{@Context}::exceptionTraceLevel.
  • Add zip / unzip functionality

See also

See also Visual Prolog 11 Upgrade Notes.