"Learn APL" Notes

(luksamuk.codes)

49 points | by todsacerdoti 2 days ago ago

11 comments

  • smartmic 2 days ago ago

    I worked with GNU APL for a while and really liked it. It's also possible to extend it with the C foreign function interface (FFI). The best way I found to input the APL2 symbols with my normal keyboard was with a customized XCompose definition where the input chords are mnemonics of the actual symbols: https://gist.github.com/smartmic/cdb8b0b3936ab965213748813b6...

  • throwaway81523 2 days ago ago

    Old RMS song, to the tune of "row row row your boat":

    Rho, rho, rho of x, always equals 1

    Rho's dimension, rho rho rank; APL is fun!

  • mmooss 2 days ago ago

    APL was developed in the 1960s. Between then and whenever its symbols were added to Unicode (U+2336 and following, at least), how were its symbols encoded?

    • undefined 2 days ago ago
      [deleted]
    • 7thaccount 2 days ago ago

      Early on, the selectric typewriter thing had a spherical ball that could rotate to stamp the characters. So when you typed a key the IBM hardware would type a character on a piece of paper exactly like a typewriter and also the IBM computer would keep track of this and when you ran the expression it would calculate the result and print that out as well. You can see videos of this.

    • dzaima 2 days ago ago

      Custom encodings, as was standard (or, well, mandatory) before Unicode (1991). Hell, Dyalog APL to this day supports its classic 1-byte-per-char encoding (not even ASCII-compatible! Nor EBCDIC!) in addition to Unicode.

      Looks like the APL chars were added in Uncicode 1.1 (1993), two years after 1.0, which is quick enough.

    • electroly 2 days ago ago

      I believe it depends on the era and system, but there were various APL codepages (i.e. definitions for the upper 128 characters) for both EBCDIC and ASCII.

      https://en.wikipedia.org/wiki/Digital_encoding_of_APL_symbol...

      In the very earliest IBM Selectric teletype-based systems, some APL symbols were constructed by entering one character, hitting backspace, and overstriking a second character. For instance, ⍋ is | overstruck on ∆. It's why a lot of APL symbols look like that.

      https://aplwiki.com/wiki/Overstrike