@Zacharý No, the precise definition is given right after: all left angle brackets '<' must be "closed" with right angle brackets '>' before another occurrence of a left angle bracket
@FrownyFrog ⌿ is anomalous for historic reasons, so while you're trying to use it as a function (replicate) it is in your train acting as an operator (reduce). You can force ⌿ to behave as a function by forcing it to be an operand of ⍨: ⊃∘(⊢⍪∘(∊⊖¨)⊢(⌿⍨)1<≢¨)
@FrownyFrog No problem. It is one of the few major irritants in Dyalog APL, which isn't so bad for a half-century old language. Compare to various wats of other languages. Hopefully, in 18.0 we'll get the atop operator which makes it easier to force ⌿ et al. into submission as ⊢⍤⌿ (where ⍤ is atop).
@EriktheOutgolfer It disturbs me that two "primitives" are written as "nothing", just like traditional mathematics' multiplication is. Isn't that exactly what APL came to fight?
@EriktheOutgolfer The primitives being the atop operator, written as the "nothing" between f and g in (f g) and the the juxtaposition function, written as the "nothing" between ⍺ and ⍵ in {⍺ ⍵}. Iverson gave them symbols: ⍥ and ⊆ in Sharp APL; @ and ; in J.
@Adám yeah, 1) APL is a thinking language, since it's actually a global notation 2) "nothing" is too overloaded, it can mean 3 different things 3) {⍺⍵} isn't practical (and un-ISO-APL-ish too, since the APL-ish variant is parentheses everywhere, yay), let alone the equivalent of putting two functions next to each other on their own (which should at least be done explicitly, as well as putting three functions next to each other, which makes trains confusing...)
@Adám or just a "pair" primitive, which sounds golfy but, well, who wants to use {⍺⍵} in trains
{⍺⍵} is an idiom anyway, so it's not like it's off grounds
nested arrays have been implemented for a reason after all, no?
@EriktheOutgolfer I actually lobbied for dyadic ⊆ to mean {(⊂⍺),⊆⍵} which pairs nicely with the monadic form (as implemented). This was Iverson's definition for it. But it was voted down. We still have a chance using ⍮ but it does have its problems as there is no one function which can universally replace the spaces in a b c. But yes, even a simple pair function would be useful, and I'd counter a claim that it is too trivial with the example of the much-loved (at least by golfers and me) ⍨.
I often want something AND something related, like ± on non-scalars. For scalars it is +,- but +⍮- would be nice. Same is with head and tail, ↑{⍺⍵}↓ which would be way more elegant (and tool-of-thought-y) as ↑⍮↓.
@Adám yeah, the spaces can't be replaced by a function, since the function doesn't know anything about its surroundings (is it the right-most occurrence in this expression?)
@Adám is there any change that there will be operators that should be used in conjunction with ⍠ in the future, by the way? or a syntactic element like that
@Adám thanks, did you try to reproduce it on windows? I'm curious what might be causing that. It's very strange that the presence of the 3rd subnamespace has any significance.
@ngn Docs say: If X is the name of an existing namespace (name class 9), the contents of Y, including any GUI components, are merged into X. Any items in X with corresponding names in Y (names with the same path in both Y and X) will be replaced by the names in Y, unless they have a conflicting name class in which case the existing items in X will remain unchanged.
@ngn Yes. It isn't publicly accessible, but for your records, and notes from a future release or update may include it. Since this discussion has been public, why not have me post here when it is fixed?