Now, in KAP I cannot do that, since ∇ is a special character (syntactic, rather than a symbol) so I needed another one. I picked ⍓, because it kinda looks like an arrow pointing back up to the definition of the function.
I did consider using ∇, but that would have required some ugly hacks in the parser to make the behaviou rof that symbol context-sensitive, which I don't want. The parser is complicated enough as it is.
@Adám Yeah, there was a time where there was a lot of apparent momentum behind MS technologies. I hated it, and I guess I was lucky it didn't happen. :-)
@Adám OK, I started reading the tutorial. I have to say that I can see why they did this. It's actually kinda cool. I think it was a mistake basing it on top of C# of course, but the general idea isn't terrible.
Another thing that likely doomed it was that it was a commercial product. Building momentum behind a new language is not really possible unless the product is at least freely available.
With all due respect to Dyalog, but I was curious about APL for years, but it wasn't until I could get a freely available version that I actually bothered learning about it. First using GNU APL, and then realising that Dyalog started making their product freely available, I started playing around with it too.
I don't know if anyone from Dyalog want to (or can) confirm, but I have a guess that GNU APL being the first truly free APL helped trigger Dyalog making free downloads of their tool?
I don't think it had any influence at all. Rather, it was people inside Dyalog that pushed for it because they realised that it was the right way forward.
@Adám It would appear that APL people and Lisp people both have a common opinion: That most lamguages tend to pile on useless syntax instead of making the core language flexible enough to handle (almost?) everything.
@Garklein "under" as in "surgery under anaesthesia". I.e. do a preparatory action, then perform the main work, then undo the preparatory work to finish up.
@KamilaSzewczyk it's indeed not that useful for general ⍵⍵s, but there's a decent set of ⍵⍵s for which it's useful
and Under also has an alternate structural definition, with which f⍢⊃ would be "apply g to the first element", f⍢(1 0 1∘/) or f⍢(1 3∘⊇) for "apply to 1st and 3rd element" etc