Current issue

Vol.26 No.4

Vol.26 No.4


© 1984-2017
British APL Association
All rights reserved.

Archive articles posted online on request: ask the archivist.


Volume 20, No.1

This article might contain pre-Unicode character-mapped APL code.
See here for details.

BAA Meeting - Vendor Presentation

Adrian Smith

John Scholes of Dyalog Ltd

John gave his usual laconic amble through the latest release of the Dyalog APL interpreter.

“We’ve been short-changing you for years – we never used the right-hand column of the session! With Version 10 you get 2% more columns!!”

Dyalog have also followed +Win in adding the option of automatic ŒPW and have taken a small walk on the wild side by allowing deletion of unwanted material from the APL session. Personally, I still rate the total anarchy of APL*PLUS/PC where you just typed over anything!

John showed how easy it now is to export your application as a bound executable (you also get to choose the icon) which is quite a step forward for serious developers. It makes it very much simpler to set up the ‘associations’ for your filetypes, allowing Windows to start you automatically on (for example) the user double-clicking one of your datafiles. Many of us have written ‘trivial’ launcher applications in C++ or Delphi which have little purpose other than providing Windows with a genuine .EXE to call. Hopefully, these can now head straight for the long grass where they belong.

In answer to a question from the audience, John gave us a brief outline of how the tokeniser treated idioms. Basically a ‘spare’ token 1B acts as a marker “Here comes an idiom” and is followed by the token for the idiom. However the original code is left inplace so that version-9 can still run the V10 workspace (this was required as PocketAPL is effectively V10 but came out before the real V10 for general users). There is effectively no cost attached to the addition of more idioms, except that the interpreter gets a little bigger each time. All the recognition happens when the function is fixed, which is also why loading a V8 or V9 workspace into V10 takes noticeably longer. John recommended taking the time to resave applications destined for shipping in V10. Two more things to mention – memory mapped files are now implemented, and everything is around 10% faster simply as a result of switching to the Microsoft compiler.

script began 1:30:11
caching off
debug mode off
cache time 3600 sec
indmtime not found in cache
cached index is fresh
recompiling index.xml
index compiled in 0.2982 secs
read index
read issues/index.xml
identified 26 volumes, 101 issues
array (
  'id' => '10013630',
regenerated static HTML
article source is 'HTML'
source file encoding is ''
read as 'Windows-1252'
completed in 0.327 secs