« first day (1341 days earlier)      last day (1321 days later) » 

10:02 AM
@Moonchild i do have true first-class functions. Also, you cannot define a function that refers to another function which has not yet been defined. This is because the parser is affected by whether a symbol is defined as a function or not.
If you really need to do it (such as self-recursion with two different functions), you can always use the apply operation which calls a function object.
You use the λ symbol to indicate that a function should be treated as an object rather than something that is called.
 
 
5 hours later…
3:03 PM
@ngn good news: i've removed rank :p
 
3:51 PM
Now I support both kinds of statement separator characters, both ◊ and ⋄
 
@EliasMårtenson How about the other 2?
 
Which other two?
 
See APL Wiki.
 
I see, and no, I don't think I'll support those.
Do you know if any APL implementation has generalised the ; symbol? I decided that I didn't want to create a magic syntax for array dereferencing. What I mean is that in APl you can do: foo[a;b;c], but the ; inside the square brackets is special syntax only used there. What I decided to do was to make a;b;c a general syntax, creating a multiple-value thingy.
so you can do stuff like a ← (1;2;3) if you want.
Is this a new idea, or did some other implementation do something similar?
 
@EliasMårtenson "a multiple-value thingy" is that a new type, or just an array?
 
4:02 PM
It's a separate datatype.
 
@EliasMårtenson Yeah, APL\360 ;-)
 
You can only extract values from it by passing it to a function that is prepared to handle it. The main one is the array dereferencing, but you can also define your own functions that destructure it into individual variables. This is how multiple arguments are implemented.
so foo (1;2) calls the function foo with two arguments.
@Adám interesting. Where can I read more about this?
 
hei
I'm just here to lurk
 
I honestly thought I had thought of something new and clever. I should I have known someone else already did it :-)
 
@EliasMårtenson I don't have time to search for it right now, but check the documentation for it and its successors.
 
4:08 PM
No problems. Thanks a lot for your advice.
 
 
1 hour later…
5:09 PM
@EliasMårtenson Old pre-nested APL's still needed this for "nested" arrays in some cases. They allowed ; to "strand" multiple flat arrays into a single entity that could be used inside brackets as we still do, printed together on a single line, and used as multiple arguments for "magic" functions like /⎕FMT, iirc. This still worked in APL*PLUS/PC. See here for an example of printing such an entity.
@EliasMårtenson Here.
 
ngn
@dzaima good. less duplication of information.
 
5:44 PM
huh. ¯\_(ツ)_/¯
 

« first day (1341 days earlier)      last day (1321 days later) »