I'm sure it's a brief lapse, but just a heads up that dyalogaplcompetition.com is down! Was up 5 minutes ago though, so could just be a restart. Anyway, it's a "504 Gateway Time-out: The server didn't respond in time." :)
@Adám Hmm, odd! Must have some sort of funky connection, because it was working moments ago, but no more ⍤
Also, curious how idiomatic/reasonable/crazy it is to do something like ↓/¯1 1 '–Hello–' to extract the hello from the center! (In place of ¯1↓1↓'–Hello–')
Never seen reduceused for such a non-commutative operator, if you see what I mean...
@Adám That's also true! Though, I meant commutative, in the sense that + - × ⌊ ⌈ and other common ones treat all arguments in reasonably the same way. And take the same type of argument on either side, so 'commutative over types' if such a thing existed! Whereas this takes takes one type on one side and another on the other → the init and last don't match, to use Haskell terminology!
(Or does that come originally from something older, like LISP?)
@Adám I understood the end, and that is exactly what I meant: that they should have the same left/right domains (types). But I'm not sure I understood the first part?
Before the ie, re: "Basically, all functions f where X f Y in general is as normal as Y f X"
@AviF.S. The two parts are the same. Saying that the application of f with swapped arguments is normal too, is like saying the two sides' domains are the same.
@AviF.S. When the init and last don't match, think of foldr with three arguments - the dyadic function of type a->b->b, an initial value of type b, and the list of type [a].
@AviF.S. Originally, operators could only use scalar functions, so there'd be no observable difference between rank-reducing and insertion reduction. When the operators were extended, dialects differed in how they extended them, and we got the short straw.
@Adám Understood. Well I won't bother you with the why & the wherefore now, but all these historical bits about how/why things were done the way they were and how it might have been better are super interesting to me! Maybe good fodder for an APL Cultivation, or maybe just one of the Zoom/otherTech Tuesdays in between (since not strictly a lesson)?
@Adám good morning Adám; apart from the APL Cultivation would you suggest me catching up on anything else that happened here yesterday? I don't want to read the entire transcript :/
And I am also curious about who is the guest that will talk about plotting things in APL!
@RGS Not much. Bubbler collected some info on floor, and then we did complex maths in the Cultivation, so you've got all the content you need to create a notebook on complex maths.
@Adám I need to go over the Cultivation lesson to see what I missed. But writing about maths is something I really enjoy so that shouldn't be a cumbersome (TODO)
@RGS The lesson was pretty basic mathematics-wise, but you might want to check out some tricks using ○, e.g. inverse relationships of 9 11∘.○ ←→ ¯9 ¯11+.○ and 10 12∘.○ ←→ ¯10 ¯12×.○
unfortunately for me, 99% of my usage of reduction is on vectors, and i need no useless enclosings (so much so that i'm fine with making reduction in general a bit weird)
@dzaima Will ⊇∘X⍢↑Y work (in ⎕IO←0) where Y is a ragged vector of vectors, thus padding with 0s and getting the first of X for those, then discarding them again?
@Adám for a Dyalog ⍢↑ it would make sense padding with prototype and discarding, but i want to not introduce prototype requirements in as many places as possible
@Adám Something off with the university wifi, I suppose... My bad. Jsoftware.com also won't load, so it must just be too intensive? But then that alternate URL does work, so who knows?! Also, good idea trying the isitdown site! I suppose due to my wifi being off, I get even odd results... But anyway, it's resolved, just weird!
@AviF.S. Hm, I know both the competition site and jsoftware.com are rather slow, so maybe, coupled with your mediocre connection, it isn't so much that the sites are unavailable, but rather that they simply take too long; time-out.