« first day (981 days earlier)      last day (1676 days later) » 

12:38 AM
@Adám is 32 bits Win version also available?
 
 
5 hours later…
5:47 AM
@adelidris It is, but you have to ask for it. Just email sales@
 
 
2 hours later…
8:02 AM
]plot ⍳10 gives a * Command Execution Failed: LIMIT ERROR in the command line version (but works fine with RIDE), any idea why that might be the case?
 
@Cowsquack Did you update to 17.1?
 
yes this is after the update
 
@Cowsquack You're on macOS, right?
 
yes
 
8:19 AM
@Cowsquack On the macOS desktop you have to use the RIDE interface; the tty interface is not supported on the desktop.
 
okay thanks
 
Ven
9:10 AM
Hello, world!
 
Ven
9:23 AM
Trying to figure how to "surround" (for this challenge). I thought I was smart and could ⍕⊂M and replace the bars with #, but no, they get stripped
my current solution for "surround" is pretty costly, and aplcart didn't seem to help too much
 
ngn
@Ven (⌽'#',⍉)⍣4
 
Ven
-22! Amazing
 
#tio do apl-dyalog-extended ⎕←'#'@(~∊∘⎕A)⍕⌂disp⊂2 3⍴⎕A
 
@Adám #####
 
#tio run apl-dyalog-extended ⎕←'#'@(~∊∘⎕A)⍕⌂disp⊂2 3⍴⎕A
 
9:37 AM
@Adám
#####
#ABC#
#DEF#
#####
 
@Ven As ngn said, but just for lols ↑
 
Ven
I wasn't (yet) looking for an Extended variant (but was fairly sure I'd find one anyway)
Thanks :-)
 
Look ma, no parens:
⎕←'#',∘⌽∘⍉⍣4⍕2 3⍴⎕A
 
@Adám
#####
#ABC#
#DEF#
#####
 
Ven
for -0 bytes :P
I'm still trying to unrust the APL part of my brain... Will try to make it point less^W free
 
9:47 AM
@Ven Depends what you're doing. If it is part of a larger function, having it be dyadic (my version) is possibly better. However, if you're doing just this task, then ngn's is better.
 
Ven
Time to golf ('#',∘⌽∘⍉⍣4(⊢⍴(((⊂?⍨∘≢)⌷⊢)(↑⍨∘(×/))))) down :D
∘(×/) in non-extended still pains me...
 
Ven
10:07 AM
@Adám would you mind adding it to APLCart, btw? Sounds like it could be useful
 
@Ven Question is which one:
3
A: Wrap a seasonal present

AdámDyalog APL, 31 19 13 12 bytes Almost a transliteration (31 bytes) of @Zgarb's solution. An anonymous function. Left argument is wrapping, right argument is gift. ⊣h⍤1⊣h⍤2(h←⍪⍪⊣) ⊣h⍤1 h applied, with the anonymous function's left argument, to the columns of ⊣h⍤2 h applied, with the anonymo...

@Ven I'm down to 25 in Extended. I have a feeling 24 is possible.
 
Ven
ah, I haven't yet tried Extended
waiting for lunch break now, I need to get some work done :-P.
 
@Ven (×/⊢)↑⊣ may be easier to understand.
 
11:15 AM
@Ven Done
 
Ven
thanks :)
 
 
1 hour later…
12:28 PM
 
12:40 PM
@Ven Will you try for Extended or should I post mine?
 
1:26 PM
I should be getting home, but here's an interesting challenge: Is there an easy way unravel a matrix by its diagonals? Or a 3D-array by its diagonal planes
 
@Sherlock9 i do have this in my apl but i have only implemented it for matrices
 
1:51 PM
@Sherlock9 Like this:
⍞←{⍵[i[⍋+/¨i←,⍳⍴⍵]]}3 4⍴⎕A
 
@Adám ABECFIDGJHKL
 
Compare with:
#tio do apl-dzaima ⎕←∊⊂⍁3 4⍴⎕A
 
@Adám ABECFIDGJHKL
 
@ngn You mean …+/↑⍳⍴⍵… no?
 
ngn
@Adám yep, sorry
 
1:55 PM
⍞←{(,⍵)[⍋,+/↑⍳⍴⍵]}3 4⍴⎕A
 
@Adám ABECFIDGJHKL
 
@dzaima should probably either be ⊂⍁ or just an overload of some other primitive though
 
@dzaima Well, if you want to sum along diagonals, then +⌿⍁ is good.
 
@Adám but +/¨⍁ isn't much worse, and properly displays that there's an ¨ involved
 
@dzaima AFAICT, your is exactly like J's /.
 
2:00 PM
@Adám ah right, that's from where that 'decision' came
 
@dzaima You could make that argument about every grouping operator,
Lots of monadic functions…
#tio do apl-dyalog-extended ⎕←(+/⍤↑⍤⍳⍤⍴⍋⍤,⍛⊇,)3 4⍴⎕A
 
@Adám ABECFIDGJHKL
 
@Adám eh, yeah. why is that though - trains?
 
@dzaima APLs are array focused. I guess they want to avoid ¨ even when implicit.
 
@Adám huh. i'd definitely have chosen to make ¨ explicit everywhere it practically is
 
2:09 PM
Notice the implicit ¨ here:
⎕←a←⍳10 ⋄ a[3 1 4]{⎕←'⍺:',⍺,'⍵:',⍵ ⋄ ⍺+⍵}←1 ⋄ ⎕←a
 
@Adám
1 2 3 4 5 6 7 8 9 10
⍺: 3 ⍵: 1
⍺: 1 ⍵: 1
⍺: 4 ⍵: 1
2 2 4 5 5 6 7 8 9 10
 
@dzaima There's also a performance question. Linked lists are expensive. The operators can take shortcuts by analysing their operands and avoiding unnecessary intermediate representation.
@dzaima Then even a reductions would fall prey, no?
⎕←+⌿3 4⍴⍳12 ⋄ ⎕←+/¨⊂[1]3 4⍴⍳12
 
@Adám
15 18 21 24
15 18 21 24
 
@dzaima Not to mention that all scalar functions have an infinite number of ¨s implied…
@dzaima So you'd say scan should be a monadic "prefixes" function?
⎕←+\⍳10 ⋄ ⎕←+/¨,\⍳10
 
@Adám
1 3 6 10 15 21 28 36 45 55
1 3 6 10 15 21 28 36 45 55
 
2:18 PM
@Adám TIL. I would definitely expect a f←b and a[⍳⍴a] f←b to be the same.
(i accidentally did a[⍳a] and linux forced me to restart it because linux can't handle full RAM..)
 
@dzaima Linux or Dyalog for Linux?
 
@Adám that's not ¨y though. it's loopy but not ¨y
@Adám linux alone. it happens with any case of full ram and is the thing i hate the most about linux
 
@dzaima You don't even need the content of the brackets:
⎕←a←⍳3 ⋄ a[]{⎕←⍺⍵ ⋄ ⍺+⍵}←1 ⋄ ⎕←a
 
@Adám
1 2 3
1 1
2 1
3 1
2 3 4
 
@dzaima Why don't you decrease your MAXWS so it doesn't fill your RAM?
 
2:21 PM
Jun 26 at 21:33, by dzaima
you can think of \ as {⍺⍺/¨ prefixes ⍵}
@Adám because no matter how low I set it to, it can be the last straw, or some other app could be.
 
]runtime -c +\⍳100 +/¨,\⍳100
 
@Adám

  +\⍳100    → 4.9E¯7 |       0%
  +/¨,\⍳100 → 1.2E¯3 | +236500% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
 
@Adám that'd also inform people how horribly, horribly inefficient \ is (and also the fact that my APLs \ is not stupid helps my case)
@Adám ^ exactly. \ can't be fast without being special-cased
 
@dzaima So how would you get the high performance if you only had reduction, each, and prefixes?
 
@Adám use my kind of \ of executing left-to-right
 
2:27 PM
@dzaima A bit un-APL'y, no? Shouldn't reduction be left-to-right too, then?
Otherwise, the last element of a scan won't match the reduction.
 
ngn
@Adám apl is rtl for expressions, but ltr for arrays
 
@ngn I.e. reduction should be left-to-right?
 
@Adám idk what's the best move about that, but imo anything's worth the non-O(n^2)-ness
 
ngn
@Adám if i was designing the language, yes
 
@ngn If I was, I'd probably make everything left-to-right. My only problem with it is that whenever I try it in my head, I end up with I, which is not pleasant to use.
 
ngn
2:31 PM
@Adám +1 for everything ltr. i was assuming "given the way apl already parses ..."
 
@ngn Have you tried I?
 
ngn
@Adám only for a quick test
 
I really like that it doesn't have the parity issue of APL/J-style trains.
Functions are first (and only) class citizens.
All functions are dyadic.
 
ngn
@Adám why "not pleasant" then?
 
@ngn Not sure, it just doesn't feel right. Maybe I just need to get used to it, but even Marshall calls it not nice.
 
2:36 PM
@Adám wouldn't it then be just the parity issue? :p
 
@dzaima What? It only allows trains with an odd number of carriages.
 
@Adám but the parity of each still matters
 
@dzaima True. I meant that when you start reading an APL/J train from the left, you can't tell what parity from the right you have.
 
@dzaima stage 1. just reversing the token list & fixing stuff afterwards seems like the easy solution, but i have no idea how bad that'd get
 
3:01 PM
things are starting to make sense. would changing /+ to +/ (aka the reverse in regular APL) break things?
 
@dzaima I'm not sure +/ is better than /+ for LPA. Seeing the / tells you immediately that we're now going to reduce by something, whereas you otherwise might be confounded why (#$%) is being applied, only to then notice the trailing /
Maybe it should be called ⅃ꟼA.
@dzaima You might want to swap the / and \ symbols etc.
 
also now | can have its args swapped and everyone can be happy about it yay
 
@dzaima Yes, I've thought about that.
1 2 3\+ looks better for applying summation over the list, methinks.
 
Ven
@Adám Sorry, pair programming ended up making it difficult to work on APL stuff. Go ahead
 
ngn
@Adám um... i wonder how universal this is: at school, when the teachers wanted to sum over several lines, they used to draw a big } on the right and write /+ next to it
 
3:09 PM
@ngn Wow, I've never seen that or heard of it before, but if it wasn't just a local custom, then that settles it, I think. Wonder if we can find a reference for it online.
 
ngn
@Adám i know eastern and western maths notations differ slightly, it might be one of those things like tan/tg, or [] vs () around matrices
 
more random things. i'm noticing i'm reading the expressions right-to-left, as in regular APL :|
should probably have arguments swapped too, probably with many others (, )
 
@dzaima Most non-traditional functions take the "modifier" on their left and the "data" on the right. They'd all need swapping.
@dzaima Notable exceptions (i.e. have "data" on left and "modifier" on right in APL) are and
 
Ven
@ngn never seen that
 
@ngn Not mentioned here, but interesting read nonetheless.
 
Ven
3:24 PM
@Adám did you start off the 25 dyalog unicode version?
 
@Ven No, I started with your originally posted version. I still haven't posted. Want me to hold off?
 
Ven
I'll try for a bit. You can post it though.
 
@dzaima dyadic is now ugly (and, to a lesser extent, *) though
 
@dzaima But on the other hand, monadic ! becomes nice. It is a tradeoff, but I think you should rather be consistent. You could make an exception for legacy reasons, like APL treats dyadic ÷.
 
3:41 PM
more things. what should be done about ?
swapping & & & should make sense
 
@dzaima Absolutely. It makes much more sense that is the first argument, too.
 
Ven
@Adám Didn't find anything convincing. Stopping search here. Feel free to post yours.
 
mooore. should (replicate) be swapped? & ?
 
@dzaima Yes and yes. But maybe operands of should be swapped too?
 
@Adám swapping would make sense in execution order, but then "over" doesn't fit
 
3:54 PM
@dzaima Right, it should be called after or something, but you can keep the symbol for now.
@ngn Like this?
 
ngn
@Adám exactly!
i tried googling this for a while but got nothing
it was usually equations, for instance a system of linear equations
to express that you want to multiple each side by, say -2, you wrote / . (-2) on the right of the corresponding equation (the dot should be a middle dot)
 
Ven
Ahhhh, that } is a thing my teachers did, but nevewr with the /+ that I remember
 
ngn
then, to express summation of the two equations you had to write a big } and a /+ or just + near its tip
 
Ven
Is there no way to get the box-style output in a string format?
 
@ngn heh, we differ by tilting that / to | for that (summing systems of equations is +{eqs though)
@Ven dfns.display?
 
ngn
4:02 PM
@dzaima so you use { for a system?
 
@ngn yeah
 
ngn
in bulgaria it's usually | but sometimes { can be seen too
i suppose having a { on the left would make a teacher reluctant to use } with completely different meaning on the right
 
In Brazil we learn to represent systems as {eq1 \n eq2 \n...
 
Ven
I guess {⌂display⍵⍴⊃¨↓∘⍺¨?⍨×/⍵} gives -2 bytes :(
 
@Ven what's that for?
 
Ven
4:07 PM
4
A: Fill a bowl with alphabet soup

VenAPL (Dyalog Unicode), 25 bytesSBCS '#',∘⌽∘⍉⍣4{⍵⍴⊃¨↓∘⍺¨?⍨×/⍵} Try it online! -22 thanks to @ngn, -7 thanks to @ngn and @Adám

 
Ven
@dzaima is ⋄ sane in your APL? :D
 
@Ven huh, for a moment i thought that i had written exactly that in the docs, but i guess not
but yeah, it is
 
0
Q: Summing over multiple lines with }/+

AdámA Bulgarian friend of mine told me that at school, when the teachers wanted to sum over several lines, they wrote $ \left. \begin{array}{l} a-b\\c-d\\e-f\\g-h \end{array} \right\} /+ $ meaning what we would write as $ \begin{array}{l} (a-b)+\\(c-d)+\\(e-f)+\\(g-h) \end{array} $. I would appreci...

 
ngn
@Ven what would they write if they had to add a constant to each individual equation and then multiply them together?
 
Ven
@ngn no /
 
4:25 PM
@ngn Hold on, that's multiplying each, how are they then combined?
@Ven Don;t you want ⌂disp instead of ⌂display?
 
ngn
@Ven i mean, to both sides of each equation. if they just wrote +C without a /, it would look like it's part of only one side of the equation, wouldn't it?
 
@dzaima @Ven You don't need at all, will do, no?
 
Ven
@Adám I guess, yes
 
ngn
and would they still use a } and × or something? (without a /)
 
Ven
@Adám I don't know how to turn on box display on TIO
I need to do something to enable and/or load SALT?
 
4:34 PM
@Adám : though (and , which currently is still asked for on the lines start)
 
@dzaima Ah, right. Shouldn't goto be at the end of the line?
 
@Adám dzaima/APL has no goto, i was talking about the returning thing ({1 ⋄ ←2 ⋄ 3}⍬2 in regular)
 
Ven
@Adám Mmh?
 
@dzaima The return should be a on the far righ, no?
 
@Ven oh yeah, ⌂disp⊂ would work
@Adám exactly, but that'd split apart {c:← a ⋄ b} (unless : was reversed too)
 
4:39 PM
 
Ven
@Adám Already updated my answer :)
(I can remove it if you want to post yours)
 
@dzaima I don't think splitting from : is bad, but actually, TMN puts the condition on the right.
 
@Adám Belatedly holy cow that's cool
 
@Ven No no, mine is longer; 25 bytes: '#',∘⌽∘⍉⍣4⊣⍴(?⍨⍤≢⍛⊇⍨×/⍛↑) TIO
 
Ven
@Adám I knew I wanted to use . I tried several different combinations... but not that one.
 
4:52 PM
@Ven I wonder if your interpretation of consistent across program runs and input values. is correct. You may want to ask OP.
 
Ven
@Adám Why? They are consistent.
 
@Ven Sure, but it isn't the same character all the way around.
 
Ven
yeah, but the corner are always the same characters across program runs and input values
 

« first day (981 days earlier)      last day (1676 days later) »