LocalWords: apl jpt

March 13, 2023 · View on GitHub

#+STARTUP: inlineimages

  • jpt-apl-mode

#+CAPTION: Screenshot #+ATTR_HTMl: :width 600px [[./apl-mode.png]]

This code gives a APL interface to Emacs for april - a common lisp embedded APL language See: https://github.com/phantomics/april The interface inspired by https://tryapl.org as I was not that happy with the gnu-apl-mode interface. The unicode characters of APL are entered with two key strokes and a tab - called a cord. They are a mnemonic where the keys when combined look simular to what the unicode chacter looks like. I find that makes them more intuitive and easy to remember. Examples: aa → ⍺, xx → ×, 0~ → ⍬, <> → ◊ There is a optional header which displays the APL characters. When you click them they are entered in the code at the cursor position. When you hover over them a popup is displayed. I contains: the operator, the monadic and dyadic meaning and the key cord. You can enter the key cord from the keyboard if you don't want to mouse-click the header character.

  • Setup

With straight and use-package installed:

(use-package jpt-apl-mode :straight (jpt-apl-mode :type git :host github :repo "jthing/apl-mode"))

  • Customization

Setting jpt-apl-use-header to nil will disable the header line with the APL symbols. The Key-cords will still work. There is also a variable jpt-apl-exclude. The (local) variable jpt-apl-data contains information on all apl operators in Dyalog and gnu APL. It then filters out the ones that can be typed on the keyboard (:ascii) and the ones that Dyalog (:dyalog) uses, but april does not. To make a header that looks like the one in tryapl.org you could change it to '(:gnu) .

LocalWords: apl jpt