Dyalog APL 2022 Conference Edition READ ME FIRST

This is the Dyalog 2022 Conference Edition, and has a version number of 120.22. It is only available for 64-bit Unicode for Microsoft Windows. It must not be used for production, and Dyalog Ltd will offer no formal support for this version.

Any features that appear in this version may or may not be included in future releases of Dyalog and may differ in their final implementation, however any feedback would be appreciated and will be considered in our future plans.

Please let us (support@dyalog.com) know what you like, what you don't like, and what doesn't work as you expect.

This file is dyalog_readme.htm and is included in the help directory in the Dyalog installation.

Experimental Features in the 2022 Conference Edition

All features described below may change with new versions of the Conference Edition.

This version is based on (as yet unreleased) version 19.0, so there are other differences to 18.2 which are not documented here.

Recordings of John Daintree's presentations discussing these features are available at https://dyalog.tv/Dyalog22.

Session Log Changes

Download Dyalog '22 slides as a .PPSX file

The session log has been extended in the following ways:

Token by Token Tracing

Token by Token tracing allows APL code to be "stepped" through in more detail than can be achieved with the traditional line-by-line method. By default the keystroke Shift+Alt+Enter enters this tracing mode. This keystroke can be changed by setting the value for TP in the "Keyboard Shortcuts" tab of the Configure dialog box.

Note that: other than in dfns, TBT tracing can be used to trace into diamondised expressions. The TP keystroke will stop on each diamondised sub expression before stopping on its tokens. To skip to the next diamondised expression use the ER keystroke.

703⌶

703⌶ can be used to convert both thread IDs and .NET Tasks into futures. This makes it much easier to have a consistent inferface to asynchronous programming elements

⎕AWAIT System Function

Download Dyalog '22 PowerPoint (Also covers the 703⌶ changes)

The ⎕AWAIT system function provides the C# async/await mechanism in Dyalog. Put simply, ⎕AWAIT takes a either a future or .NET Task (the "argument future") as its argument and causes the current function ("the function") to return immediately with a future (the "result future") as its result. When the "argument future" is complete, "the function" resumes execution with the value of the future/Task being returned as the result of ⎕AWAIT. When "the function" finally reaches a normal exit (that is, one not through ⎕AWAIT), its result is used as the value of "the result future".

This mechanism allows a function to wait for the result of an asynchronous operation but still operate asynchronously from the perspective of its caller.

For a future:

For a .NET Task:

Last updated $Date: 2022-12-05 15:23:09 +0000 (Mon, 05 Dec 2022) $ and is associated with $Revision: 46446 $.