|
From: | Elias Mårtenson |
Subject: | Re: [Bug-apl] Feature suggestion: multiple function arguments |
Date: | Tue, 15 Mar 2016 11:35:59 +0800 |
I was thinking of something similar, but the problem is that creating a plugin API that lets you implement trains is incredibly difficult, since you need to hook deep into the parser.
As for more simple extensions, we already have almost all that is needed in the plugin API, with the exception of being able to define new function symbols.
The latter is something that I would like very much. In other words, I would like the ability to define functions (single-letter ideally) using characters outside of quad-AV.
Jürgen has previously explained that there are technical difficulties in expanding the character repertoire outside 255 characters, but I still feel this is one old limitation that deserves being eliminated.
On Mar 14, 2016, at 7:58 PM, Louis de Forcrand <address@hidden> wrote:Although I personally like tacit style, I agree that they shouldn't make
their way into the main branch. It could be interesting to see them
added to a fork (heh) of GNU APL however.
Alexey:
As to the lack of APL symbols in J, I sometimes miss the nice symbols
present in APL. J thus loses some "handwriteability". This shouldn't
however keep you from trying it out; it's quite similar to APL and the
concepts of verb rank and function composition make you think
differently about the way you solve problems. It's definitely worth
a try.
LouisOn 13 Mar 2016, at 19:35, Kacper Gutowski <address@hidden> wrote:
On Sun, Mar 13, 2016 at 6:20 PM, Juergen Sauermann
<address@hidden> wrote:it actually does create conflicts.
In IBM APL2 and in GNU APL, the _expression_
⍺ (f g h) ⍵
gives a 3 item vector with the items being ⍺, (f g h), and ⍵.
In Dyalog APL it gives (quote):
(⍺ f ⍵) g (⍺ h ⍵) ⍝ dyadic (fgh) fork
I'm not certain whether it does create conflicts or not in general,
but I think this particular example is flawed: ⍺ (f g h) ⍵ could be
anything depending on what name classes those symbols have
(particularly if g were an operator). When f, g, and h are all
functions, then it's not a vector, but a syntax error. No conflict
here.
-k
[Prev in Thread] | Current Thread | [Next in Thread] |