
On Fri, Apr 25, 2014 at 6:32 PM, Chris Warburton
Rustom Mody
writes: As for APL, it failed for various reasons eg - mixing up assembly language (straight line code with gotos) with functional idioms - the character set was a major hurdle in the 60s. Thats not an issue today when most OSes/editors are unicode compliant
I know it's bikeshedding, but I think Agda and Idris are more relevant to Haskell than APL, since their semantics are closer (and they're both implemented in Haskell).
Agda makes extensive (ab)use of Unicode identifiers, eg. https://github.com/agda/agda-stdlib/blob/master/src/Algebra.agda
Idris specifically avoids Unicode identifiers, for reasons outlined at https://github.com/idris-lang/Idris-dev/wiki/Unofficial-FAQ
Personally I prefer working in Idris to Agda, since the Unicode puts me off. I usually resort to copy/pasting symbols, which is tedious compared to typing names.
Cheers, Chris
Thanks Chris for that evaluation. Not bike-shedding as far as I can see. Yes input-ing things by some GUI-picker or copy-pasting etc would quickly become a major pain. I believe that there are roughly these 5 levels to this with per-char cost decreasing and fixed cost increasing as we go down 1. GUI-picker (IBUS etc) copy-pasting from the web etc -- ok for arm-chair discussions; ridiculous for serious development 2. Editor based input methods eg tex input-method in emacs 3. Window-system (X/MS etc) input methods 4. OS-based input methods 5. Special purpose hardware-keyboards I believe 3 makes for a particularly good fixed/variable cost balance point eg in X-windows if you run this command $ setxkbmap -layout "us,gr" -option "grp:switch" then typing abcdefg with right-alt depressed, gives: αβψδεφγ For those who prefer a more moded approach (vi-users?) here is $ setxkbmap -option "grp:switch,grp:alt_shift_toggle,grp_led:scroll" -layout "us,gr" This makes the Shift-Alt chord switch in and out (ie toggle) greek keyboard with the scroll-lock light as indicator All this is clearly just an analogy; what we need is not a greek keyboard but a keyboard mapping analogous to gr(eek). Try s/gr/apl in the commands above for apl which, while distant from haskell gives a taste for what a *programmer* can use/make. regards Rusi