<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 25, 2014 at 6:32 PM, Chris Warburton <span dir="ltr"><<a href="mailto:chriswarbo@googlemail.com" target="_blank">chriswarbo@googlemail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">Rustom Mody <<a href="mailto:rustompmody@gmail.com">rustompmody@gmail.com</a>> writes:<br>


<br>
> As for APL, it failed for various reasons eg<br>
> - mixing up assembly language (straight line code with gotos) with<br>
> functional idioms<br>
> - the character set was a major hurdle in the 60s. Thats not an issue today<br>
> when most OSes/editors are unicode compliant<br>
<br>
</div>I know it's bikeshedding, but I think Agda and Idris are more relevant<br>
to Haskell than APL, since their semantics are closer (and they're both<br>
implemented in Haskell).<br>
<br>
Agda makes extensive (ab)use of Unicode identifiers,<br>
eg. <a href="https://github.com/agda/agda-stdlib/blob/master/src/Algebra.agda" target="_blank">https://github.com/agda/agda-stdlib/blob/master/src/Algebra.agda</a><br>
<br>
Idris specifically avoids Unicode identifiers, for reasons outlined at<br>
<a href="https://github.com/idris-lang/Idris-dev/wiki/Unofficial-FAQ" target="_blank">https://github.com/idris-lang/Idris-dev/wiki/Unofficial-FAQ</a><br>
<br>
Personally I prefer working in Idris to Agda, since the Unicode puts me<br>
off. I usually resort to copy/pasting symbols, which is tedious compared<br>
to typing names.<br>
<br>
Cheers,<br>
Chris<br></blockquote><div><br></div><div>Thanks Chris for that evaluation. Not bike-shedding as far as I can see.<br><br></div><div>Yes input-ing things by some GUI-picker or copy-pasting etc would quickly become a major pain. <br>

</div><div>I believe that there are roughly these 5 levels to this with<br></div><div>per-char cost decreasing and fixed cost increasing as we go down<br><br></div><div>1. GUI-picker (IBUS etc) copy-pasting from the web etc -- ok for arm-chair discussions; ridiculous for serious development<br>

</div><div>2. Editor based input methods eg tex input-method in emacs<br></div><div>3. Window-system (X/MS etc) input methods<br>4. OS-based  input methods <br></div></div>5. Special purpose hardware-keyboards<br></div><div class="gmail_extra">

<br></div><div class="gmail_extra">I believe 3 makes for a particularly good fixed/variable cost balance point<br><br></div><div class="gmail_extra">eg in X-windows if you run this command<br>$ setxkbmap -layout "us,gr" -option "grp:switch"<br>

</div><div class="gmail_extra">then typing<br></div><div class="gmail_extra">abcdefg<br></div><div class="gmail_extra">with right-alt depressed, gives:<br>αβψδεφγ<br><br></div><div class="gmail_extra">For those who prefer a more moded approach (vi-users?) here is<br>

$ setxkbmap -option "grp:switch,grp:alt_shift_toggle,grp_led:scroll" -layout "us,gr"<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">This makes the Shift-Alt chord switch in and out (ie toggle) greek keyboard<br>

</div><div class="gmail_extra">with the scroll-lock light as indicator<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">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.<br>

<br clear="all"></div><div class="gmail_extra">regards<br></div><div class="gmail_extra">Rusi<br></div><div class="gmail_extra"><br><br><br>
</div></div>