APL study session 17 (final session!)

Discussion of the 17th study group can go here. Overview

[ <<< session 16 ]

This is a wiki post - feel free to edit to add links from the lesson or other useful info.


Study session resources

Study session links/reference

Please contribute to the repo by:

  • making PRs that add prose to the notebooks, describing each glpyh and example
  • practising stencil for gradient blur kernel (note: APL can only take .bmp/.gif/.png as input images)
  • updating Anki Deck

You looked briefly at ⎕JSON but there are a lot more extremely useful tools hiding behind -names. Here are some examples: Complementing ⎕JSON for data import/export are ⎕CSV and ⎕XML, handling of text files with any encoding using ⎕NGET and ⎕NPUT, and memory-mapped files with ⎕MAP. You can interface to the Linux shell with ⎕SH, the Windows command interpreter with ⎕CMD (though a powerful set of cross-platform file handling functions exist as ⎕N-functions) , C and C++ libraries with ⎕NA, .NET with ⎕USING, regular expressions with ⎕R and ⎕S. Data conversion includes Unicode with ⎕UCS, lettercase with ⎕C, and all the worlds date-time formats with ⎕DT. Oh, and then there’s everything dealing with meta-programming; APL code can inspect and change both other code and itself, and even the IDE!

Beyond -names, there are additional tools provided as -functions, GUI objects (including native Windows elements, and a cross-platform Chromium-based HTML renderer — making JavaScript a subset of APL!), plus all the libraries written in APL…