HACKER Q&A
📣 distcs

Do I need a special keyboard layout to learn array programming?


Array programming paradigm fascinates me. As much as I want to learn it, whenever I search any info about it, I find APL tutorials. Now well APL uses so many special symbols that it needs a keyboard layout with those symbols.

Is there another way? Do I really need to setup a keyboard layout to learn array programming?

Are there other APL-like languages that are easier to program with normal keyboards?


  👤 Tomte Accepted Answer ✓
J is ASCII-only: https://www.jsoftware.com/#/

👤 sargstuff
Take advantage of conciseness of apl programs. Modify [0][1][2][3][4] for alternate keyboard needs. aka assemble appropriate qr symbol corresponding to apl symbol from voice command(s). Chain a few together, snap shot with camera for instant program upload.

Paste apl symbol/qr code in around room. Use [5] to orient self to select symbol to enter. Substituting smart glasses for monitor highly recommended.

--------

[0] : https://hackaday.com/2023/10/26/tims-draw-bot-gets-around-wi...

[1] : https://hackaday.com/2023/10/26/a-tiny-board-for-driving-led...

[2] : https://hackaday.com/2023/10/26/a-paper-printer-for-qr-code-...

[3] : spin up appropirate apl symbol, less noise than apl hayes modem commands : https://www.instructables.com/Spinner-Jog-Wheel-Inside-of-a-...

[4] : shoe fits department : https://hackaday.com/2023/10/25/keebin-with-kristina-the-one...

[5] : https://www.youtube.com/watch?v=6C2xUxm7c_M


👤 sargstuff
Traditional physical keyboard options:

   * Spend $$ for apl specific keyboard [0]

   * Standard keyboard modifications: use macros/insert unicode chacters via keyboard[1]; stickers[2], change keycaps.
---

" ... another way?" : Most things in life can be approached in different ways (doesn't mean it's practical / realistic for given situation).

"setting up keyobard layout": No, but do need to pick a specific method/approach to use.

Some examples:

  a)  Cursorless[3] uses spoken language to edit code.

  b) Using and IDE/editor that does apl auto complete [4]

  c)  Pick from on-screen keyboard doesn't require a physical keyboard setup.  
      
      Knowing the layout of the virutal screen keyboard may help to quickly find/narrow down the key(s) for selection (eyeball, mouse)
---------

Above results found with basic web search.

---------

[0] : https://www.dyalog.com/apl-font-keyboard.htm

[1] :a) https://dangerruss-things.blogspot.com/2021/03/getting-start...

    :b) https://aplwiki.com/wiki/Typing_glyphs
    
    :c) http://xahlee.info/kbd/creating_apl_keyboard_layout.html

    :d) https://github.com/abrudz/Kbd
[2] : https://deskthority.net/viewtopic.php?t=8944

[3] : cursorless (audio editor) : https://www.youtube.com/watch?v=NcUJnmBqHTY

[4] : https://apl.ninja/xeladotbe/blog/intelli-sense-apl-resources...

***


👤 Jtsummers
You can program in APL without a special keyboard. Most editors offer a prefix key (commonly `, but I switch it to . since that's easier to type) so you can type .i and get ι as a result. It's an extra character, but once you get accustomed to it the typing is pretty fast and avoids changing keyboard layouts or key chord. In fairness, I already type at about 120 wpm so adding an extra character per special character in an already terse language doesn't significantly impact my typing speed.

👤 tacostakohashi

👤 sargstuff
Emacs isn't APL, but can be setup for apl programming with normal keyboards.

👤 t-3
No.