« first day (1056 days earlier)      last day (1599 days later) » 
00:00 - 17:0017:00 - 00:00

12:00 AM
Also โŠ‚'abc' vs 'abc' etc. etc.
It took us over 300 emails (many of them long), and several emails, all over the course of many months to design the system. I think it turned out very well.
 
Then I guess the "with TAO" for e.g. = or < mainly means there is an ordering specified between a number and a char?
because it maps through the arrays so there's no need to handle array vs. array
 
= doesn't matter for obvious reasons. TAO was not applied to < etc. because it isn't very meaningful on scalars, and it'd be confusing behaviour. It thus applies to โ‹ โ’ โธ.
 
> GreaterThan > ๐Ÿ”ถ with TAO
 
You can easily define the precedes etc. functions based on those.
 
โจ
 
12:12 AM
@Bubbler What?
 
Oh, I forgot to mention that it's about Extended
 
Oh, yes, I added the extension, but again, it isn't very useful.
Actually, now we're discussing language theory, โ‰ก is a more fundamental function than = since = can be defined in terms of โ‰ก but not vice-versa. = is simply โ‰กโฅ0.
So one of the ideas I have for a redone APL is to get rid of all the scalar functions and replace them with "big" functions, since the scalar functionality can be accessed with fโฅ0
That'd make a kind of RISC APL.
Here's another one: × could mean +.× since × is simply +.×โฅ0 which would allow matrix multiplication as A×B.
 
And the comparisons check for TAO of the whole arrays
 
Yes.
 
That's interesting.
 
12:18 AM
Also, this could get rid of all the "axis pairs" like / โŒฟ and , โช and โŒฝ โŠ– since the last axis function can be expressed in terms of the first function โค1.
Similarly, the various set functions could be made progressive (without replacement), since โค0 โˆž or โคโˆž 0 would give you the current definitions.
 
That means, they operate on major cells?
 
Yes.
While interesting in principle, actual practical code would be littered with โค and โฅ everywhere, and the right operand would often clash with the right argument, requiring lots of โŠข or parentheses.
Of course, one of the things I'd straighten out if I could start over, would be enforcing that โบ f dop g โต should always be the same as โบ f dop (โบ g โต)โŠขโต, so one could use braces like in Xโค{0 โˆž}Y.
Also, common construct like โฅ0 and โค0 โˆž might be convenient to name (Perv, EachLeft) which would also avoid the operand-argument clash.
 
Then it breaks fun dop fun usage of existing dops...
 
Hrmmm, so supposing we don't have โŒฟ, is there some trick to get / to play nice with rank?
โž←1=โ‰ขโˆช(+/โค1โŠขm)(+/โค¯1โŠขm)(+/m←3 3โดโณ9)
 
@voidhawk 1
 
12:28 AM
@Bubbler Ah, yes, I meant the other way around. โบ (f dop k) โต should be always be the same as โบ f dop{k}โต.
@voidhawk Is f/[1]โคk allowed?
 
Ah right
I always forget about that notation
 
And you should. It is an abomination, imho.
@voidhawk Alternatively, you can do / under โ‰.
 
True
 
โŽ•←(+/m)(โ‰+/โ‰m)(+โŒฟm←3 3โดโณ9)
 
@Adám
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚6 15 24โ”‚12 15 18โ”‚12 15 18โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 
12:32 AM
Did I hear that we might be getting under/obverse in 18.0?
 
Actually I thought โŒฟ did reduction on major cells until recently, but then I found that it reduces individual columns
 
@Bubbler Yeah, that's a bit sad. In J, it does reduce major cells.
@voidhawk No, that won't be in 18.0 as it requires major design and implementation work. Hopefully in 19.0.
@Bubbler Although you could do โ†‘+/โ†“ on a matrix or โ†‘+/โŠ‚โค¯1 in general.
That's another that's wrong. โ†“ splits along the trailing axis. It should have been split into major cells.
 
@Adรกm Yeah, that's another thing I was thinking wrong about
 
APL is good. Amazing even. But it does carry quite some luggage of unfortunate design decisions from the last half-century.
Then again, other languages have much worse warts.
 
I spent the longest time on AoC day 12 trying to write a function that works on matrices/vectors and getting weird behavior from โ†“
Felt cool when I subbed in โŠ‚โค¯1 but also a little icky
 
12:40 AM
Well โ†“ is redundant in the face of โŠ‚ with โค. Rank is quite elegant, though it does have issues too.
 
I actually didn't fully understand rank until my brief foray into J where I had to use "0 everywhere I'd been using ¨ and figured I'd dig into it
Now my code (sometimes) has far fewer โŠƒ/โŠ‚
 
An interesting one is dyadic โŒฝ/โŠ– which are very often handy in code golf. Hover, they can't address multiple axes at once like dyadic โ†‘ and โ†“ can. If โŒฝ and โŠ– had been designed like โ†‘ and โ†“, the current definitions would have just been โค0 1/โค0 ¯1
@voidhawk Good. Your code's performance may also have improved. J doesn't even have ¨ but it does have the general L: which I understand was just now changed to match my definition for โฅ. So ¨ is simply โฅ¯1.
 
@voidhawk J's rank is pretty messy when it comes to function joiners like @ & or inner product .
 
Speaking of performance, how does rank work internally? If I have something like 1 2 3+โค1โŠข3 3โดโณ9, does it expand the left argument to the shape of the right argument and do matrix addition or?
I noticed some interesting behavior if I wrote functions that have side effects if I try and use them with the rank operator rather than ¨โ†“
 
@voidhawk Many cases of rank are special cased. Certainly all scalar dyadics. I don't think it needs to duplicate the data, but rather it can instruct the CPU to stride in clever ways.
@voidhawk In what way "interesting"?
 
12:53 AM
Give me a second to find an example, I was thinking something like c←โฌ โ‹„ cโŠฃ{0โŠฃcโŠข←โต}โค1โŠข3 3โดโณ9 but that seems to work
I can't repro a short example unfortunately, but I noticed it at line 42 in github.com/voidhawk42/aoc2019apl/blob/master/p13.dyalog
If I used โค1 then bx/px aren't updated
Just from testing though it seems like rank does operate sequentially in the way you'd expect, so it should be okay for side effects
 
Did you try placing a โŠข after โค1?
 
I don't have p13.txt to test it.
 
@Bubbler Lol, that might've been it - retrying now it works fine
False alarm :)
 
Phew.
 
โ‹„{โŽ•←โต}โค1โŠข2 2 2โดโณ8
 
1:03 AM
@Bubbler
1 2
3 4
5 6
7 8
 
Yeah, it should call the rows in natural order
 
By the way, looking at this code, is there a more elegant way to get a 3-column matrix from a vector of indeterminate length than {(3÷โจโ‰ขโต)3โดโต}?
 
@Bubbler Actually, I kind of disagree. If โค and ¨ and / etc. weren't forced to a specific order, they could run faster, including by taking advantage of multi-threading.
@voidhawk No, but if you use my extensions, that's ¯1 3โดโต or in dzaima/APL it is โฌ3โดโต
 
Yeah I was kind of surprised rho doesn't take negative left arguments
 
@Adรกm That could work if it can analyze that the operand doesn't make side effects.
 
1:08 AM
@Bubbler Yes, and Marshall is working on such analysis. We need it for โข as well.
 
@Bubbler Sounds difficult
 
Otherwise we'd get an unwanted side-side effects โจ
 
@voidhawk Not really. There are a limited number of primtives, and only very few have side effects. The system functions can at least be classified as "safe" and "potentially unsafe" even if there will be some false "unsafe"s.
 
Yeah out-of-scope assignment and stuff like โŽ•/โž/โŒถ are easy but I was thinking about your .NET integration and stuff like that
 
Inside a dfn, plain assignment (not modified/selective/indexed/Excalibur) has no outside side effects.
 
1:12 AM
But then I have no idea how the latter works so...
 
@voidhawk I'm pretty sure you rarely need โขSystem.something!
 
Lol
 
And it is fair to not multi-thread when calling .NET. It is going to be slow anyway, so who cares.
 
And we really rarely call system functions in a loop, I guess :)
 
Well, you could read and process chunks of a file.
I'd like to do โขโŽ•UCS and โขโŽ•JSON and โขโŽ•XML and โขโŽ•NGET
 
1:16 AM
โŽ•CSV would like a word
 
@Adรกm I believe the first three are safe, but I can't imagine what to do with the last
 
If only โ‡ had been a {โž} function you could do โขโ‡ to read from stdin, process then output.
@voidhawk Yeah, that one too. It is a young addition to the family, so I forgot about it.
@Bubbler The inverse is obviously โŽ•NPUT. While not safe for multi-threading, the idea is that you can apply a function directly to a filename with the effect of processing the modifying the content. E.g. โŒฝโขโŽ•NGET would reverse the file content.
And โŒฝโข(โŽ•NGET 1,โจโŠ‚) should reverse the lines in the file.
 
I remember reading jayfoad's AoC 2018 solutions last year when I was getting into APL and being unable to use them since โŽ•NGET wasn't in the free-to-download 14.x(?) interpreter
 
Yeah, the โข usage would work, somewhat like Haskell's interact which takes a pure string → string function
 
You guys have come far in just a year!
 
1:21 AM
@voidhawk Yeah, there isn't much new in 17.1 but the access to APL has definitely improved. And then 18.0 has been developed in parallel, so there's just so much amazing coming in 18.0โ€ฆ
 
Hmm, now I think โŽ•NGET itself is safe enough because it doesn't leave the file handle open for further access/modification
("safe" = multithread safe)
 
Yeah, one thing that bothers me with โŽ•R is that it isn't even single-thread safe when reading from and writing to the same file. It should detect that the same file is used for input and output and write to a temporary file, then rename.
We could fix this.
 
Also maybe special-case โขโŽ•NGET so that it leaves the file open and replaces the content right away before closing
 
Yeah, โข gives all kinds of possibilities because you know what happens next, and can have a direct connection across. That's why โขโˆŠ and โข, can work even though โˆŠ and , have no inverses.
 
1:47 AM
@Adám, are there any good APL learning resources for mobile?
More specifically Android
 
@Jono2906 To read, you mean? The chat lessons should be readable on mobile.
 
@Adรกm thanks!
 
@Jono2906 You can also try the new APL Wiki. Please let me know how it looks on mobile.
@Jono2906 There are also plenty of videos out there, if that has your interest.
 
2:19 AM
I'll work my way through the chat lessons first
 
2:33 AM
@Adรกm Ooh, that crossword looks like fun. I'll save it for a rainy day.
 
@Quintec There are actually three of them ready already. Let me update the wiki. I also should keep going with the unfinished ones.
Updated.
 
@Adรกm I just noticed that there's a whole page dedicated to drawing the wiki logo
 
@Bubbler Yeah, what about it? It is thanks to you!
 
:)
 
Did you notice that we actually changed our logo to match your expression?
 
 
2 hours later…
4:20 AM
@Adรกm No, I didn't, except that IIRC it was 45 degrees rotated before
 
 
3 hours later…
7:26 AM
โž←{โบ>โต:โบ
 
@EdgyNerd
 
oops
โž←{โบ>โต:โต โบโ‹„โต โบ}/5 4 3 2 1
 
@EdgyNerd LENGTH ERROR
 
โž←{โบ>โต:โต โบโ‹„โบ โต}/5 4 3 2 1
 
@EdgyNerd LENGTH ERROR
 
7:30 AM
โž←{โต{โŒŠโบ÷โต=โบ÷โต}1+!โต-1}13 14
 
@EdgyNerd DOMAIN ERROR
 
โž←{!w-1}13 14
 
@EdgyNerd VALUE ERROR
 
โž←{!w-1}13
โž←{!โต-1}13 14
 
@EdgyNerd 479001600 6227020800
 
7:33 AM
โž←{0=โต|!โต-1}13 14
 
@EdgyNerd 0 1
 
โž←{โต|!โต-1}13 14
 
@EdgyNerd 12 0
 
@EdgyNerd Are you trying to do Wilson test?
 
yeah
โž←โธ{0=โต|!โต-1}โณ100
 
7:34 AM
@EdgyNerd 1 6 8 9 10 12 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
 
It won't work with large numbers because Dyalog APL uses 64-bit floating-point numbers, not an infinite-precision integer.
@EdgyNerd and this one doesn't work with 4 because 3! modulo 4 is 2.
 
Oh ok
 
โ‹„โŽ•FR←1287โ‹„โŽ•←โธ{โต=1+โต|!โต-1}โณ30
 
@Bubbler
1 2 3 5 7 11 13 17 19 23
 
Switching to 128-bit float gives correct answer for 19 and 23, but not 29.
(And mine was wrong for 1)
 
7:43 AM
Is there an easy way to type APL characters on phone? copy and pasting sounds tedious
 
If you're on Android, try APL Keys, or get Hacker's keyboard and use the language bar.
 
8:00 AM
@EdgyNerd dzaima also made a version of Hacker's keyboard that includes APL
 
Oh, I'm on iPhone so I can't use that
I can use this on my phone, but it either blocks the chat box here or blocks the run button on TIO
And I don't really know how to edit the JavaScript to put it in a different place
 
Can you make screenshots of those issues?
@EdgyNerd If your keyboard layout has a backtick key or a tab key, you can close the language bar and still use the key bindings.
 
oh yeah
Also I've got the language bar up without blocking the chat (I just needed to increase the font size) now so nvm
โŽ•←โณ10โˆ˜.×โณ10
 
8:15 AM
@EdgyNerd
WS FULL
 
parenthesis!
 
Oh yeah
I always forget
โŽ•←(โณ10)โˆ˜.×โณ10
 
@EdgyNerd
 1  2  3  4  5  6  7  8  9  10
 2  4  6  8 10 12 14 16 18  20
 3  6  9 12 15 18 21 24 27  30
 4  8 12 16 20 24 28 32 36  40
 5 10 15 20 25 30 35 40 45  50
 6 12 18 24 30 36 42 48 54  60
 7 14 21 28 35 42 49 56 63  70
 8 16 24 32 40 48 56 64 72  80
 9 18 27 36 45 54 63 72 81  90
10 20 30 40 50 60 70 80 90 100
 
โŽ•←โˆ˜.โจ×โณ10
 
@EdgyNerd
SYNTAX ERROR
 
8:17 AM
โŽ•←โˆ˜.×โจโณ10
 
@EdgyNerd
 1  2  3  4  5  6  7  8  9  10
 2  4  6  8 10 12 14 16 18  20
 3  6  9 12 15 18 21 24 27  30
 4  8 12 16 20 24 28 32 36  40
 5 10 15 20 25 30 35 40 45  50
 6 12 18 24 30 36 42 48 54  60
 7 14 21 28 35 42 49 56 63  70
 8 16 24 32 40 48 56 64 72  80
 9 18 27 36 45 54 63 72 81  90
10 20 30 40 50 60 70 80 90 100
 
 
7 hours later…
3:19 PM
โŽ•←{โˆ˜.×โจโณ}10
 
@EdgyNerd
SYNTAX ERROR
 
@EdgyNerd Are you trying to do tacit programming?
โŽ•←(โˆ˜.×โจโณ)10
 
@Adám
 1  2  3  4  5  6  7  8  9  10
 2  4  6  8 10 12 14 16 18  20
 3  6  9 12 15 18 21 24 27  30
 4  8 12 16 20 24 28 32 36  40
 5 10 15 20 25 30 35 40 45  50
 6 12 18 24 30 36 42 48 54  60
 7 14 21 28 35 42 49 56 63  70
 8 16 24 32 40 48 56 64 72  80
 9 18 27 36 45 54 63 72 81  90
10 20 30 40 50 60 70 80 90 100
 
Wait that works?
wow
 
Yeah, it is one of the two other functional forms you've not learned yet.
I can give you a quick course if you want.
 
3:22 PM
Sure (though I'm on my phone so it's kinda hard to type stuff)
 
OK. The idea is that if we have a sequence of functions with no array on the far right, then they instead derive a new function according to a clever scheme. If there are only two functions, then the left function is applied monadically to the result of the right function (which may be monadic or dyadic depending on the arguments outside):
โž←(-÷)2
 
@Adám ¯0.5
 
โž←10(-÷)2
 
@Adám ¯5
 
The functions inside can of course be any functions, primitive, user-defined, derivedโ€ฆ
 
3:25 PM
What does monadic ÷ do again?
 
1÷x
So in your example, the left function was โˆ˜.×โจ and the right was โณ
 
Oh wow
 
This is pretty simple. However, if we have three functions, it is a bit more involved.
Then the outer functions are applied to the argument(s) and the middle function is applied dyadically between the results:
โž←10(+,-)2
 
@Adám 12 8
 
Oh ok
 
3:27 PM
, is concatenation.
We can do this monadically too:
 
Ok that makes sense
 
โž←(-,โŒŠ)3.5
 
@Adám ¯3.5 3
 
But the middle function can of course be any function.
E.g. the sum times the difference:
โž←10(+×-)2
 
@Adám 96
 
3:29 PM
That's 12×8
 
Oh ok
 
Remember the "all numbers except those in the times-table" method of finding primes?
 
Yeah
 
And remember the right identity function โŠข?
 
Oh yeah
 
3:31 PM
So if we start with the numbers 1โ†“โณ100, we can do:
โž←(โŠข~โˆ˜.×โจ)1โ†“โณ100
 
@Adám 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
 
What if we have four functions?
 
@Adรกm can you explain this because I'm kinda confused
 
The parenthesis has three functions: โŠข and ~ and โˆ˜.×โจ
Because remember that operators like โˆ˜. and โจ take an operand and derive a new function, but still only a single function.
 
How does it determine where the functions are?
 
3:34 PM
Operators are bound to their operands before everything else, and they bind left to right.
So first, we bind โˆ˜. to × forming (โˆ˜.×). Then โจ comes and binds that, forming ((โˆ˜.×)โจ).
The other two functions are primitives.
We can even ask APL for a diagram:
โŽ•←โŠข~โˆ˜.×โจ
 
@Adám
โ”Œโ”€โ”ผโ”€โ”
โŠข ~ โจ
  โ”Œโ”€โ”˜
  .
 โ”Œโ”ดโ”
 โˆ˜ ×
 
Oh wow that's useful
 
Clearer now?
 
Yeah
Wait how do you make it give you the diagram?
 
At first, it can be rather difficult to parse such dense things (we call them function trains, or just trains). It helps to add spaces and/or parentheses.
Just output the function without giving it any argument.
 
3:38 PM
@EdgyNerd ]box on -trains=tree
 
Yeah, if on a local installed system.
So it may be clearer to write (โŠข ~ โˆ˜.×โจ) or โŠข~(โˆ˜.×โจ). All are valid.
 
โŽ•←-×+
 
@EdgyNerd
โ”Œโ”€โ”ผโ”€โ”
- × +
 
how does it work with more then 3 functions?
 
Ah, so then we start from the right and group the rightmost three. They form a new derived function as we've seen.
So e.g. - โŠข ~ โˆ˜.×โจ becomes - (โŠข ~ โˆ˜.×โจ) but we already know how a 2-train works.
And if there are five, we do the same โŒˆ/ - (โŠข ~ โˆ˜.×โจ) where โŒˆ/ is applied to the argument and (โŠข ~ โˆ˜.×โจ) is applied to the argument, and the results are subtracted.
Does that make sense?
 
3:43 PM
Yeah it does now
 
It is a bit of a mouthful. But experiment, and you'll get used to it.
O, btw, if we have three functions in a train, the leftmost can be replaced by an array, and it is still valid:
โž←(10÷-)2
 
@Adám ¯5
 
And of course, any function may itself be a train.
 
โž←(10÷-)2
 
@EdgyNerd ¯5
 
3:46 PM
oops
โž←(10÷-)
 
@EdgyNerd 10 ÷-
 
โž←10÷-
 
@EdgyNerd Use โŽ•←
 
โŽ• ←(10÷-)
 
And no space there.
 
3:48 PM
โŽ•←(10÷-)
 
@EdgyNerd
โ”Œโ”€โ”€โ”ผโ”€โ”
10 ÷ -
 
(10÷-) becomes 10 2÷ something?
 
@EdgyNerd same as {10÷-โต}
 
Oh ok
I'll be on my computer in around 5 mins, so I'll mess around with it then
 
Cool.
 
4:10 PM
@Adám, what's with the jester hat?
 
Ah, gotcha. Suits you.
 
4:27 PM
@Adám For some reason I find this explanation of trains and tacit more clear than the chat lesson. I think it's the examples. In any case, this is yet the third time I'm trying to understand this. I hope it sticks.
 
โŽ•←×4
 
@EdgyNerd
1
 
what does monadic × do?
 
@EdgyNerd It's "direction". If you know math, think of it as a unit vector.
โŽ•←×3j4
 
@Quintec
0.6J0.8
 
4:31 PM
(APL has complex numbers!)
For non-complex numbers, it's essentially equivalent to -1 if negative, 0 if 0, 1 if positive.
 
โŽ•←(×)5
 
@EdgyNerd
1
 
โŽ•←×โจ5
 
@EdgyNerd
25
 
@EdgyNerd simple exercise: since you were just talking about tacit, can you make a 3-train that does the same thing as monadic × for nonzero reals?
 
4:37 PM
I kinda have no clue what complex numbers are so I can't really do that
 
@EdgyNerd I meant only for real numbers. Basically make a function that returns -1 for negative numbers and 1 for positive numbers.
 
@EdgyNerd But that's the point: "reals", i.e. normal numbers.
 
oh right
 
It may be easiest for you to first write it as a dfn, then translate to tacit.
 
โŽ•←¯5÷¯5
 
4:40 PM
@EdgyNerd
1
 
โŽ•←(÷÷÷)¯5
 
@EdgyNerd
1
 
idk why I thought that would work
โŽ•←(โต<0: ¯1 โ‹„ 1)5
 
@EdgyNerd
SYNTAX ERROR
 
@user670427 Hi Sam. Welcome to the Orchard. You should now have write access.
 
4:41 PM
โŽ•←{โต<0: ¯1 โ‹„ 1}5
 
@EdgyNerd
1
 
@EdgyNerd Doesn't handle 0.
 
oh
 
Also, you can do it with arithmetic.
 
@Adรกm Wait, how do you make it handle 0?
 
4:42 PM
wait what does it do for zero?
 
It should give 0.
 
oh ok
โŽ•←5÷¯5
 
@EdgyNerd
¯1
 
โŽ•←¯5÷5
 
@Quintec As a 3-train? You'd need a left argument or make it a 5-train.
 
4:44 PM
โŽ•←¯5÷5
 
Ah, ok.
 
@EdgyNerd Ah, now you're onto something.
 
โŽ•←(¯5)÷5
 
@DyalogAPL Feeling tired?
 
why isn't that doing anything?
โŽ•←(¯5)÷5
 
4:44 PM
@EdgyNerd
¯1
 
oh wait
 
@EdgyNerd Bot is moody. Remember to be nice to it.
 
I thought that'd be 1
not -1
what is dyadic ¯ ?
 
@EdgyNerd What? ¯ isn't a function, it is part of the literal number.
 
oh nvm
oh ok
โŽ•←(¯5)÷(¯5)
 
4:46 PM
@EdgyNerd
1
 
โŽ•←(-5)÷(¯5)
 
@EdgyNerd
1
 
oh right
I don't need to use ¯ for that
โŽ•←(-โต÷โต)5
 
@EdgyNerd
โ”Œโ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”
โ”‚¯1 ¯1โ”‚5โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”˜
 
โŽ•←((-โต)÷โต)5
 
4:48 PM
@EdgyNerd
โ”Œโ”€โ”€โ”€โ”ฌโ”€โ”
โ”‚1 1โ”‚5โ”‚
โ””โ”€โ”€โ”€โ”ดโ”€โ”˜
 
@EdgyNerd Hold on, that's all wrong.
โŽ•←{(-โต)÷โต}5
 
@Adám
¯1
 
oh right
โŽ•←{(-โต)÷โต}-5
 
@EdgyNerd
¯1
 
Remember: dfns use curly braces and tacit functions use round parens.
 
4:49 PM
yeah
โŽ•←{โต÷-โต}5 -5
 
@EdgyNerd
1
 
โŽ•←{โต÷-โต}-5
 
@EdgyNerd
¯1
 
โŽ•←{โต÷-โต}5
oh wait oops
โŽ•←{โต-โต+1}5 -5
 
@EdgyNerd
¯1
 
4:51 PM
โŽ•←{โต-โต+1}5
โŽ•←{โต-โต+1}-5
 
@EdgyNerd
¯1
 
โŽ•←{โต-โต+1}5
um
 
Did you say pretty please? :P
 
โŽ•←{โต-โต+1}5
 
@EdgyNerd
¯1
 
4:55 PM
โŽ•←{โต--โต+1}5
 
@EdgyNerd
11
 
โŽ•←{โต--โต+1}-5
 
@EdgyNerd
¯9
 
does it involve ÷?
 
I think you're on the right track
(with ÷)
 
4:57 PM
@EdgyNerd Yes. But you kind of have to know that if you multiply or divide a negative number by a positive number, the result is negative, and if you use two positive numbers, the result is positive.
And then of course you're quite right on track that just dividing a number by itself gives 1.
 
โŽ•←{โต÷-โต}5
 
@EdgyNerd
¯1
 
โŽ•←{โต÷-โต}-5
 
@Adám thanks :)
 
It seems that two requests right after each other doesn't quite work.
 
4:59 PM
oh ok
 
Or maybe it is only if the results are identical. Odd.
โž←1
 
@Adám 1
 
โŽ•←{โต÷-โต}-5
 
@EdgyNerd
¯1
 
00:00 - 17:0017:00 - 00:00

« first day (1056 days earlier)      last day (1599 days later) »