« first day (272 days earlier)      last day (2400 days later) » 

8:13 AM
@Adám Thank you... "expert" meaning "old and tired" ;-) I am afraid I won't be able to hang around much here, though. Nowhere near as much as I'd like to... Real life calling...
 
@lstefano I remember you doing APL when I was just coming over to play.
 
indeed: that's the "old" bit...
it was a lively house
and lovely
 
@MorisZucca is here too. This room growing!
 
8:34 AM
Hi @Adám!
 
9:31 AM
@ngn Michele's Key solution works with the assumption that ⍺⍺ is a pure function (has no side-effects and is not affected by outside conditions): {↑∪⍵⍺⍺¨⍸¨⍵=⊂⍵}
 
ngn
10:04 AM
and that it is injective
In mathematics, an injective function or injection or one-to-one function is a function that preserves distinctness: it never maps distinct elements of its domain to the same element of its codomain. In other words, every element of the function's codomain is the image of at most one element of its domain. The term one-to-one function must not be confused with one-to-one correspondence (a.k.a. bijective function), which uniquely maps all elements in both domain and codomain to each other (see figures). Occasionally, an injective function from X to Y is denoted f : X ↣ Y, using an arrow with a barbed...
 
10:20 AM
@ngn You're right. The solution is plain wrong then. (And my test cases not comprehensive enough). {0} would fail.
 
10:42 AM
@dzaima FYI, your Unicode superscript bug has been fixed.
 
@Adám that was a strange bug.
 
@dzaima Not really. Windows reports them as digits, and then our scanner would look them up in its digit table. Not finding them, they would remain 0 (unset).
 
@Adám ah, interesting
 
 
2 hours later…
12:28 PM
@Adám why isn't this working?
{24(⊢⍣(⍳3)=⍋⍵)+/⍵}
 
@EriktheOutgolfer doesn't sort; it returns the indices that would sort.
 
then what is sort?
wait that was quick
 
I'm arguing that APL should have a sort primitive, e.g. <.
 
oh so there isn't really any sort primitive in apl?
 
@EriktheOutgolfer Nope. The idiom is {⍵[⍋⍵]}
 
12:31 PM
...ugh
 
Hello!
 
@EriktheOutgolfer Hence by suggestion.
 
Good morning everyone o/
 
Any CMC to solve for APL beginners?
 
@Mr.Xcoder Sort simple vector ascending.
 
12:33 PM
Nice. Isn't that a built-in though?
 
@Mr.Xcoder Nope. But I think it should be <.
 
@Adám you should nag for it to be put in 17.0
 
@EriktheOutgolfer Probably not going to happen. I'm pushing for a much greater project; multi-line APL arrays (and code).
 
ooh nice
 
sounds complicated
 
12:36 PM
@EriktheOutgolfer I only got one of my two desired primitives into 16.0.
 
multiline is very important
 
@Adám I think I could use ... :P
 
@Adám the "enclose if not all are lists" thingy?
 
@Mr.Xcoder Yes.
@EriktheOutgolfer Yes. The dyadic function was made {⎕ML←3 ⋄ ⍺⊂⍵} but I originally suggested {(⊂⍺),⊆⍵}.
@Mr.Xcoder For sorting? Yes.
I can sort a simple vector in 4 chars.
 
duh doesn't work
 
12:38 PM
@EriktheOutgolfer Not as-is, no. ;-)
 
@Adám are you counting {} here?
 
Well 4 bytes here too.
Without counting {}
 
Yeah, I got 4 bytes
 
Mine too yeah.
 
that's 5 bytes...
 
12:40 PM
Oh yeah crap 5 bytes...
 
In here, I count (in chars) everything to the right of the assignment arrow (or the entire function body).
 
I should learn to count.
 
oh so you include the {}
 
@EriktheOutgolfer Yes.
 
@Mr.Xcoder lol same
 
12:41 PM
@Adám then I guess it's {⌷¨}
although it doesn't make sense
 
@Adám Yours is {<thing><thing>}
?
 
@Mr.Xcoder No, a train. Braces are expensive :-)
I find that the most valuable trick for golfing APL in the session (REPL) is holding the APL key and Shift down, then pressing '[ which makes ≢⍞. Then press Enter and paste your solution and press Enter again. Voilà; char count.
 
duh ⌷⍨¨⍋ isn't it
 
@Adám So (<thing><thing>) or <thing><thing><thing><thing>?
 
@EriktheOutgolfer Doesn't work.
@Mr.Xcoder I don't count parens, as you don't need them after the assignment arrow.
 
12:49 PM
@Adám that's why I said it isn't it
 
@EriktheOutgolfer Oh, I thought you meant "duh, ⌷⍨¨⍋, isn't it?"
 
I don't see why we'd need
maybe I'm slow
 
umm, because is the indexing primitive?
because with [] it gets to be 5 bytes
 
@EriktheOutgolfer And you can't (easily) use [] in trains.
 
@EriktheOutgolfer oh, duh
 
12:51 PM
@J.Salle You don't have to. My original train doesn't use it.
 
I completely ignored that fact
@Adám you still had 4 chars?
 
Yup.
 
I keep getting Domain Errors, that means I'm not using the function correctly, right?
(the error is in all caps if that matters)
 
@Adám is descending sort indices (grade down)?
 
@J.Salle Yes, the function is being fed at least one argument which is not in its domain.
@EriktheOutgolfer Yes.
 
12:55 PM
heh
 
And length error means the arguments are not of the same length?
 
@J.Salle Or don't have lengths that conform to each other (or the to the function's specs).
 
Okay
 
CMP: Which solutions would be interesting to explain in Thursday's dyalog.tv webcast?
 
@Adám I vote for Disease Spread, GoL and Fill Steps
 
1:00 PM
@Adám what was your original train on the sort thing?
 
@EriktheOutgolfer ⍋⊃¨⊂
 
I don't get how dyadic works
 
@J.Salle It doesn't use dyadic . Do you want me to explain dyadic to you anyway?
 
@Adám Sure.
 
1:13 PM
@J.Salle ⍺⊂⍵ takes a Boolean and partitions by beginning a new enclosure on every 1 in . E.g. 0 1 0 1 0⊂'World' gives 'or' 'ld'
 
@Adám why is it 'or' 'ld' instead of just 'o' 'l' ?
 
why not (⊂'W') 'or' 'ld'?
 
@J.Salle It is not a filtering, that would be /. It cuts as specified.
 
@EriktheOutgolfer a sidenote: in Dyalog APL (⊂'W')≡'W', that is, the enclosure of a simple scalar remains a simple scalar (no enclosure applied)
 
@EriktheOutgolfer Because there is no 1 beginning a partition to the left (or at) the W. You'd need 1 1 0 1 0⊂'World' but the W would be a vector too.
 
1:16 PM
it acts a bit different than jelly...
 
@EriktheOutgolfer Which atom?
 
(œṗ)
ah ninja
 
@EriktheOutgolfer How does œṗ work?
 
@Adám so 0 1 1 1 0⊂'World' would return 'orld'?
 
@Adám for example 0,0,1,1,0,0,0,1œṗ1,2,3,4,5,6,7,8,9,10 would return [[1, 2], [3], [4, 5, 6, 7], [8, 9, 10]]
 
1:19 PM
@J.Salle No, ,¨'o' 'r' 'ld' or (,'o') (,'r') 'ld' if you want.
 
and if there was a 1 instead of the first 0 there would have been a leading [] in the output
 
@EriktheOutgolfer Ah, so the 1s indicate the end of each partition.
 
@Adám then 0 1 0 0 1⊂'World' would be 'orl' 'd'?
 
@Adám in apl it's the beginning huh?
 
@J.Salle Yes, except the final 'd' would be a vector.
@EriktheOutgolfer Yup.
 
1:22 PM
@Adám okay I think I get it
 
There's also ⍺⊆⍵ which partitions according to a different set of rules.
 
@Adám that one acts more like a 'pick', right?
so 1 0 1 0 1⊆'World' would return 'W' 'r' 'd' ?
 
also @Adám what's the difference between and ?
 
@J.Salle No, it begins a new partition when an element of is larger than its predecessor. (There is an imagined 0 to the left of the beginning.) 0s indicate elements to omit entirely.
(It takes integer , not Boolean)
@EriktheOutgolfer I assume you mean ⍺⌷⍵?
 
yes dyadic
 
1:25 PM
@Adám ooooh, I see
 
@EriktheOutgolfer Basically is for selecting in high rank, and for selecting in deep depth. Each successive element of will reduce the rank/depth of the result by 1.
 
then why doesn't support list ?
 
@EriktheOutgolfer It does. 1⌷ selects the first layer of a 3D array. 1 2⌷ selects the second row of the first layer. 1 2 3⌷ selects the third element of the second row of the first layer.
 
so just keeps the same rank while doesn't?
 
1⊃ selects the first element of a vector. 1 2⌷ selects the second element of the first element. 1 2 3⊃ selects the third element of the second element of the first element.
 
1:32 PM
so they're the same
 
@EriktheOutgolfer No! Remember that APL (uniquely) has both rank and depth.
 
and which of those two has precedence?
 
@EriktheOutgolfer Huh? Define "precedence".
 
the difference between depth and rank is very confusing...
 
@EriktheOutgolfer Then you need to review

Lesson 1

Oct 18 at 17:18, 1 hour 54 minutes total – 364 messages, 7 users, 4 stars

Bookmarked Oct 19 at 11:59 by Adám

 
1:37 PM
but I was still confused back then iirc
 
@EriktheOutgolfer Oh. Then I didn't explain well enough.
 
rank was the dimensions and depth - number of dimensions, right?
 
APL arrays have a shape (… layers, rows, columns). Each element can be any array.
@dzaima No, rank is the number of dimensions. Depths is the nesting level. How many "layers" of elements are non-simple scalars.
┌───┬───┬─────┐
│0 1│2 3│4 5  │
├───┼───┼─────┤
│6 7│8 9│10 11│
└───┴───┴─────┘
The above array has shape 2 3 and thus rank 2.
It has depth 2 because even if you extracted one of its 6 elements, you'd not get a simple scalar, but would have extract again to get a simple scalar. The two needed extractions = depth 2.
┌─────────────┬───────────────┐
│┌───┬───┬───┐│┌───┬───┬─────┐│
││0 1│2 3│4 5│││6 7│8 9│10 11││
│└───┴───┴───┘│└───┴───┴─────┘│
└─────────────┴───────────────┘
The above array has shape 2 and thus rank 1.
 
and it has two arrays each with shape 3 right?
 
It has depth 3 because even if you extracted one of its 2 elements, you'd not get a simple scalar, but would have extract another two times to get a simple scalar. The three needed extractions = depth 3.
@EriktheOutgolfer Last one? Yes. (Helps if you use the reply feature.)
 
1:43 PM
how can I get the depth? (programmatically)
 
@dzaima Monadic
but note that it returns a negative number if the depth is uneven. E.g. 'ab' 'c' has depth ¯2.
 
@Adám so ((1 2)(3 4)(5 6)) doesn't have shape 3 2
 
@EriktheOutgolfer No, it has shape (monadic ) 3.
 
so it has rank 1 but depth 2
 
@EriktheOutgolfer Correct.
 
1:46 PM
I don't think there is really a way to represent a rank >= 1 array with a literal, only with dyadic
 
And you can up the rank (at the cost of one level of depth) with monadic and lower the rank (thus gaining depth) with monadic .
@EriktheOutgolfer Correct. Hence my proposal as seen in Dyalog '17.
@EriktheOutgolfer Any clearer?
 
yes
but what's the point
 
^ that. Where is depth useful?
 
I'd say where is rank useful
 
Arrays cannot be ragged. Functions that act on each element go to all elements of an array, but do not dig into depth.
 
1:54 PM
@EriktheOutgolfer I guess the two can be swapped in usefulity somewhat
 
@Adám hmm
 
┌───────────┬───────┐
│Programming│Puzzles│
├───────────┼───────┤
│Code       │Golf   │
└───────────┴───────┘
 
so 3+(2 3⍴1 2 3 4 5 6) would result in (2 3⍴4 5 6 7 8 9) while 3+((1 2 3)(4 5 6)) would error?
 
We can get the length of each with ≢¨, no matter how many dimensions the array has.
@EriktheOutgolfer It would indeed error in J. But APL allows arithmetic functions to permeate.
┌─────────────────────┬───────────┐
│┌───────────┬───────┐│┌────┬────┐│
││Programming│Puzzles│││Code│Golf││
│└───────────┴───────┘│└────┴────┘│
└─────────────────────┴───────────┘
We would have to know the depth to know how many ¨ to add after .
 
btw @Adám is there any way other than json to get some string representation of an object?
 
1:57 PM
@EriktheOutgolfer ⎕SE.Dyalog.Utils.repObj
 
oh thanks
@Adám ⎕OPT doesn't seem to work by itself...it's some char right?
 
@EriktheOutgolfer Rank allows you to have multi-dimensional empty arrays.
@EriktheOutgolfer It is the same as . Either works, but it is a dyadic operator. You've got to feed it at least one operand.
 
oh so it's not a char
 
@EriktheOutgolfer What do you mean by "char"?
 
@Adám I thought it was '⍠' for some reason
 
2:03 PM
@EriktheOutgolfer No, it is just a synonym for .
@Feeds Yay, this room has achieved official recognition by Dyalog.
 
@Adám huh
feeds is lazy? :p
 
@EriktheOutgolfer Shh! I'm trying to encourage it.
 
well (also you do know feeds can't read our messages right)
 
@Adám we definitely need an honourable mention somewhere in Dyalog's website
btw: D(ie)alog or D(ee)alog?
 
@J.Salle Yes. We will be added to the website's Community menu momentarily.
@J.Salle D(ie)alog. Like /dialogue/.
 
2:17 PM
@Adám I imagined so hahahah
 
@Adám imagine how many people will attend lesson 2
 
An informal APL learning session has been scheduled by Adam for Wednesday 17:30 UTC (18:30 UK, 19:30 DK) at https://chat.stackexchange.com/rooms/52405/apl
 
@Feeds Thanks.
 
@Feeds finally
 
6 messages moved to Yiddish
 
 
2 hours later…
4:39 PM
@Adám apart from the long function you mentioned before, is there any function that can convert an integer to a string?
 
 
the cheat sheet is so unsearchable :p thanks
> Format
 
@EriktheOutgolfer Which cheat sheet?
 
the docs one
is there perhaps any, well, more human- (or golfer-, to be precise) readable cheat sheet?
 
4:43 PM
it doesn't have the symbols
;-)
@Adám
 
@EriktheOutgolfer I think you need the Reference Card.
(unfortunately not available online, yet)
 
sorry I can't buy stuff
(or just get them irl)
 
@EriktheOutgolfer No, it doesn't cost anything. The file just isn't online. I'll mail you one if you email me your address. adam@
 
51 secs ago, by Erik the Outgolfer
(or just get them irl)
@Adám oh you mean email?
 
@EriktheOutgolfer No, snailmail.
 
4:47 PM
well, I'm afraid that won't be welcome in our house, greece has financial crisis and, even though it doesn't cost anything, who knows if it's thieves or something these days, sorry but we're not in a position to open the door to people we don't know
 
@EriktheOutgolfer Wait, you don't have regular post? You never get letters, cards, bills‽
 
you mean po box? yeah
but we don't use it for anything except than very important stuff :D
and no, we don't get letters or cards from non-business (e.g. insurance, car vendor, etc.) unless it's a very, very rare occasion
 
Anyone's got a CMC to push the boredom away?
 
@EriktheOutgolfer APL? I can certainly get the PDF for you but it has an odd format (made for custom print).
@EriktheOutgolfer I see that we don't really have such a thing like Jelly's cheat sheet. I'll try to get us to publish one.
 
@Adám that would be sweet.
 
4:58 PM
@Adám very important stuff as in debt, bills, anything else about money and life services, apl would be the very least lol
 
@EriktheOutgolfer But what prevents you from receiving a regular letter there?
 
we search in there very rarely
@Adám and who knows what we'll have to pay to receive that from post office in first place
because who knows if ΕΛΤΑ will allow po box delivery
and btw can't a pdf just be made that contains exactly what the reference card contains?
 
@EriktheOutgolfer The reference card is a pdf.
 
so, can't it be uploaded?
like, in a non-custom-print version
@Adám
 
@EriktheOutgolfer Sure it can, I just know that it currently isn't available for download. ANd the only reason for this is its awkward paper-size.
 
5:07 PM
it's too big huh
 
@EriktheOutgolfer No, just uses long paper. I might even be able to dig it out from our server. Hang on…
 
ok waiting
(what's the problem with long paper that makes it unavailable for download at all)
 
@EriktheOutgolfer No no, just nobody bothered to put it on the website because they figured no-one would want it.
 
I can assure you they were wrong
 
@EriktheOutgolfer I second that
 
5:09 PM
@EriktheOutgolfer I know. You're not the first. For some reason, managment/media dept thinks that printed/printable materials are the right thing. I think accessible HTML is.
 
well, let's blame them then :D
 
Because it's the 21st century ffs, stop printing stuff instead of putting them online flips table
 
@J.Salle
 
@Adám lol I had to open APL to get that (more reasons to have that cheat sheet)
 
@Adám well, I guess it wouldn't be that weird to hang an APL cheatsheet poster in my room
 
5:13 PM
@Uriel It isn't big. Like a normal page on the short side, but a bit longer than the long side of a normal page.
 
@Adám Back to the apple APL poster then...
 
> Listen to me very carefully. You must modernize yourself, sir! Nowadays, there exists a thing called internet, a thing called download and a thing called view whatever you want on-screen, and you still insist on printing ‽ You have understood something very wrongly, and you better fix that or you go!
(possible way to make stuff more, well, accessible without cussing :p I imagine their boss rightfully shouting to him like that lol)
 
ngn
@EriktheOutgolfer pehaps use these as a substitute for a cheat sheet?
http://help.dyalog.com/16.0/Content/Language/Primitive%20Functions/Scalar%20Functions.htm
http://help.dyalog.com/16.0/Content/Language/Primitive%20Functions/Mixed%20Functions.htm
 
@ngn or @Adám do you guys know if there's a ) command to clear the screen? (not )CLEAR, that one just clears the workspace)
 
ngn
oh, now that I scrolled up a little, I realise you've found the relevant docs already; ignore me...
@J.Salle I'm not aware of one that clears the screen.
 
5:25 PM
@ngn I see, thanks anyway :p
so, if I do 250⊤number I'll be encoding the number to base-250 right? How do I encode it back to base 10 assuming the base-250 number is also a base 10 number?
 
ngn
I rarely use the session, but if do and I want to clear the screen, this is the first thing that will come to mind:
⍪100⍴''
@J.Salle 10⊥
actually, 250⊤ would only give you the last base-250 "digit"
to get more digits you'd have to do (N⍴250)⊤number
 
@ngn how would I encode it to base-250 then? I recall Adam saying something about that but I couldn't find it
Oh, I see
 
@J.Salle If you want as many digits as needed, do 250⊥⍣¯1
 
ngn
250⊥⍣¯1⊢number ⍝ note the ⊢
 
Well, any function or operator on the right, e.g. 250⊥⍣¯1⍳ or 250⊥⍣¯1¨
 
ngn
5:34 PM
right
 
Hm, that's giving me the same number in scientific notation
I'm trying to encode 122333344455566 to base-250
 
ngn
the tack (⊢) is only needed to prevent ¯1 and "number" from forming a strand (a vector)
 
250⊥⍣¯1⊢122333344455566 returns 1.223334E14
 
ngn
@J.Salle
250⊥⍣¯1⊢122333344455566
125 67 84 11 72 66
 
oh
lol I was using the wrong tack flips table again
I used 250⊤ instead of 250⊥
 
ngn
5:37 PM
⊥ and ⊤ are commonly confused, even by experienced APLers
 
@J.Salle "⊤o base" is on N as in "eNcode iN" while ⊥ is a base on B as in "evaluate as Base".
 
Okay, now that I have that, how do I turn it back to base 10? 125 67 84 11 72 66⊥10 ?
 
ngn
10⊤125 67...
 
@ngn I tried that one, it returns the wrong number (I think because it doesn't know it's in b-250?)
 
ngn
is that what you need? treat each base-250 digit as if it's a base-10 digit?
or maybe you just want to reconstruct the original number?
 
5:41 PM
Actually I only needed the value of that 15digit number in base-250
so I can convert it to b-10 and output
@ngn this
 
ngn
if the latter: 250⊥125 67...
 
@ngn nope, that returns 4.893333778E11
 
ngn
when you say "convert to b-10", you mean just print?
ah, I see
⎕pp←34
⎕pp is a system variable that controls the "print precision"
if ⎕pp too small and your number too big, you get scientific notation
 
Nice! But it's still not giving me the original number D:
 
ngn
is this what you typed?
250⊥ 250⊥⍣¯1⊢ 122333344455566
122333344455566
 
5:48 PM
Although I'm sure I'm not using the optimal approach to this challenge
@ngn I only typed 250⊥125 67 84 11 72
output is 489333377822
 
ngn
where did the final 66 go?
 
oh god
>.> apparently I can't even
Thanks for the patience though
 
ngn
and I've just realised I've conflated ⊥ and ⊤ in one of my comments above :) which confirms my statement about them :)
 
rofl
 
ngn
the way I remember them is to imagine lines like this:
1 | 2
------
12
so when we combine 1 and 2 to produce 12, we need ⊥
and respectively for ⊤:
12
------
1 | 2
we split 12 into its digits 1 and 2
 
5:54 PM
Even Unicode got it wrong.
 
@ngn that's handy
 
@Adám hmm...tried to do base conversion with ⊤⊥
but 2⊤4 seems to return 0
0 1⊤4 seems to return 4 0
 
@EriktheOutgolfer in binary, the last digit of 4 is 0
 
@EriktheOutgolfer Try 2⊥⍣¯1⊢4
 
@Adám care to explain?
what does the (right argument) do in there?
 
ngn
6:04 PM
29 mins ago, by ngn
the tack (⊢) is only needed to prevent ¯1 and "number" from forming a strand (a vector)
 
@EriktheOutgolfer is really mixed-base. For every position (from the right) in your number system, you need another base on the left of , e.g. 24 60 60 ⊤ converts seconds to HMS. If you give too few bases (e.g. just one), any overflow will be chopped. is the inverse, but there, if you give it just one base but multiple values on the right, it will assume you mean that all positions are the same.
 
yeah figured out thanks
@ngn hmm, clever trick
 
@EriktheOutgolfer This slight difference between and means that their inverses ⍣¯1 are slightly different too. ⊥⍣¯1 will "assume they are all the same" and use as many positions as needed.
 
so your function is actually the inverse of decode?
 
@EriktheOutgolfer Yes.
APL's inverses' system is very clever, actually. It can invert complicated tacit functions you wouldn't think possible.
 
ngn
6:06 PM
when I first learned about ⍣¯1 my first thought was: I should try md5⍣¯1 :)
 
@ngn If you can express md5 as a tacit function, it should work.
 
@ngn and that's how you generate a collision ;)
 
ngn
@Adám not necessarily
@EriktheOutgolfer yeah :)
 
(even though it might take ages :p)
 
@ngn Well, it won't give you the original text, just one that shares hash.
 
ngn
6:09 PM
@Adám which would be a collision
 
@ngn Right, so?
 
ngn
collisions in cryptographic hash functions are very, very bad
actually, they already found a collision in md5 a couple of years ago
(I don't think they used APL)
and now nobody uses it for critical stuff
 
I think it would've taken ages to find a collision with apl lol
 
ngn
@EriktheOutgolfer well, if you use bruteforce, yeah...
but it would have taken several Universe lifetimes in other languages! :)
I don't know how md5 was broken, but I'm sure it was something clever, not enumeration of all possible inputs.
 
aw ((∘.×⍨⍳)⍣¯1)((∘.×⍨⍳)10) doesn't work :p
 
6:16 PM
@ngn that's just slow brute force
 
@dzaima inverse←⍳⍣¯1(.5*⍨1 1∘⍉)
 
7:07 PM
@Adám explain
 
@dzaima This is the inverse of ∘.×⍨⍳
@dzaima Try it!
 
@Adám That much I understood, but only that much :p
 
@dzaima It isn't so hard. The inverse of ∘.×⍨ is the squareroot .5*⍨ of the diagonal 1 1∘⍉
@dzaima ⍳⍣¯1 is the inverse of
 
@Adám oh, so it doesn't domain error on 2 2⍴1 2 3 4. Then I could just do inverse ← ≢ :p
 
 
2 hours later…
8:55 PM
@Adám inverse of iota x0
 
@Uriel that's not that hard (although it works for more complicated things like the result of ⍳2 3)
 
9:17 PM
@dzaima yea, but why does that exist?
@Adám is there a list of the inverse functionalities?
 
@Uriel ..because it should. That's what with negative values needs to do
 
9:36 PM
@ngn does ngn APL support inversions?
 
@Uriel No, only which operators you may use. However, almost any function which preserves the data in its result will work.
 
@Adám Nice advertisement :P
 
oh wow, (!⍣¯1) 5.1 works
 
9:54 PM
@Adám Hey, how do I print to StdErr?
 
@Pavel I think it was ⍞←text, may be wrong
 
K, thanks
 
ngn
@Uriel no, too complicated
 
@Pavel Yes, ⍞← is correct.
@cairdcoinheringaahing Thanks. Dare I run it again once or twice in TNB tomorrow?
 
@Adám Up to you, I don't mind
 
10:16 PM
@ngn not that complicated. just handling the single operators and defining rules for chains
 
ngn
10:29 PM
@Uriel "just"? :) I'd rather remove functionality from APL, it's too big :)
 
@ngn surely it's easier than flying a rocket to the moon
But as pointless as.
 
ngn
10:45 PM
@Uriel you're comparing a government's space program budget with a lone developer's free time :)
 
@ngn when it comes to writing code, some people can handle a workload comparable to a dozen dozens of others.
 

« first day (272 days earlier)      last day (2400 days later) »