@Pavel ^ It will be one of my main responsibilities to devise a new array notation for things like that. I'm thinking [1 2 3 ⋄ 4 5 6]. What do you think?
@Adám I had the thought that [[1 2 ⋄ 3 4] ⋄ [5 6 ⋄ 7 8]] could be a "regular" syntax, which does allow linebreaks, and [1 2 ⋄ 3 4 ⋄⋄ 5 6 ⋄ 7 8] be a "shorthand" syntax that does not; that's probably a bad idea in general though.
I finally understand how to read them but I'm still not sure how to make them come together. Especially when you have more than 3 functions being combined into trains of trains, I just get lost.
@Pavel Tacit doesn't usually refer to the arguments, only the the result of applying a function to them. But if you really just need an argument as-is, you apply an identity function.
@EriktheOutgolfer Apparently quite a few people think trains are pretty hard. That includes several people inside Dyalog, and probably many other APL old-timers too.
@EriktheOutgolfer Yes. I was confused at first too, but somehow I learned it. I think Dan (who made the two videos linked in the chat bot's profile) taught me.
@EriktheOutgolfer I thought links were essentially trains (with quicks being operators), but all Jelly trains are atops, so Jelly's fgh is like Dyalog's h(gf).
@Adám you haven't got a full grasp of Jelly as it seems, you should read the tutorial :) this is only the case for monadic chains, and "f" isn't actually a function but the result of the preceding part of the link (should be referred to as v instead), and g and h in lowercase strongly suggest dyadic functions, while they're really monadic in what you describe...and no, forget about "Jelly trains", they're "chains"
in fact, there are forks in Jelly too, but only at the start of a dyadic chain (the ɗ quick can be used to create a 3-link dyadic chain to force a fork)
the exception is that, in a fork fgh, h must be dyadic (if it's monadic you need to put it as an argument to a { quick to force a fork)
If f is monadic, then, technically, you still don't have a fork, but it does behave like one in practice
if you want to discuss this further, you can ping me @ the Jelly room (ID 32533)
@EriktheOutgolfer Are you really using Classic? Anyway, it doesn't matter, I'd write just "APL (Dyalog)" if it wasn't that TIO auto-generated the posts. Maybe I should ask Dennis to change "Dyalog Unicode" to just Dyalog, as that is the main product, and leave Classic as-is.
@H.PWiz For emphasis, you can write that you saw how cool it was in the webinar.
@EriktheOutgolfer Right, but that is only because you in theory could store it in a classic workspace where it truly is represented in 8 bits per char. But really, everybody URL encodes their solutions for TIO…
@EriktheOutgolfer Yeah, well, that particular character is not in ⎕AV so classic can't represent it. The whole counting thing is a bit iffy. Really, Dyalog APL tokenises code at fix time, so if I understand correctly, even {(+/∨\' '≠⌽⍵)↑¨↓⍵} is a single byte.
@EriktheOutgolfer Yes, lately, we've been making a lot of progress in issuing helpful error messages. In version 17.0, getting a value error tells you the missing name, and the caret position is much more precise.