01:31:38 -!- FreeFull has quit.
01:37:24 -!- tromp_ has joined.
01:39:16 -!- tromp has quit (Ping timeout: 248 seconds).
02:42:34 -!- Lord_of_Life_ has joined.
02:43:28 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
02:43:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
02:59:07 -!- rodgort has quit (Quit: Leaving).
03:02:15 -!- imode has joined.
03:20:49 -!- rodgort has joined.
04:57:17 <zzo38> What I would want to have is setjmp/longjmp with the possibility to define a cleanup step which is executed if you longjmp past there. This would make a possibility of many kind of libraries better, I think.
04:57:50 <shachaf> zzo38: Did you see Per Vognsen's ideas about that?
04:58:36 <zzo38> No, I did not see that.
04:59:32 <shachaf> I wonder whether I can find it.
05:02:30 <zzo38> Do you remember what some of the ideas are? Is it like what I wrote?
05:02:33 <shachaf> zzo38: I think he mostly discusses it in video form unfortunately.
05:02:37 <shachaf> I think it's this: https://www.youtube.com/watch?v=x2G2wbOQQjU&t=3940
05:05:19 <shachaf> I think the code is also online.
05:08:38 <shachaf> Hmm, more preamble than I remembered.
06:06:24 -!- zappascout has joined.
07:00:11 <shachaf> I think there's a small example here: https://github.com/pervognsen/bitwise/blob/master/ion/test1/test1.ion#L1241
07:09:29 <zzo38> That isn't quite an explanation of it
07:09:54 -!- shikhout has quit (Quit: leaving).
07:11:36 <zzo38> Is there a document?
07:14:12 <shachaf> No, I think there's only a video.
07:16:44 -!- Hooloovo0 has quit (Quit: Temporarily refracted into a free-standing prism.).
07:30:43 <esowiki> [[Talk:Cell]] https://esolangs.org/w/index.php?diff=68077&oldid=67507 * OsmineYT * (+91)
07:30:58 <esowiki> [[Talk:Cell]] https://esolangs.org/w/index.php?diff=68078&oldid=68077 * OsmineYT * (+30)
07:34:30 <int-e> fungot: can you count unrooted, unordered trees?
07:34:31 <fungot> int-e: maybe you should
07:34:44 <esowiki> [[User:OsmineYT]] https://esolangs.org/w/index.php?diff=68079&oldid=67490 * OsmineYT * (+16)
07:36:56 <esowiki> [[Cell]] https://esolangs.org/w/index.php?diff=68080&oldid=67506 * OsmineYT * (+198)
07:38:01 <esowiki> [[Cell]] https://esolangs.org/w/index.php?diff=68081&oldid=68080 * OsmineYT * (+56)
07:38:23 <esowiki> [[Cell]] https://esolangs.org/w/index.php?diff=68082&oldid=68081 * OsmineYT * (+4)
07:38:38 <esowiki> [[Cell]] https://esolangs.org/w/index.php?diff=68083&oldid=68082 * OsmineYT * (+2)
07:46:34 -!- zappascout has quit (Remote host closed the connection).
07:56:40 -!- imode has quit (Ping timeout: 265 seconds).
08:09:26 -!- xkapastel has joined.
08:35:49 <int-e> fungot: turns out I actually can count those after all... but it's slightly tricky to get right
08:35:49 <fungot> int-e: i'm not getting it. they're building o(n4) solutions and wondering why the hell is relative addressing of the call sites, the calls are trapped and if they do work......
09:00:34 <esowiki> [[Salary program]] M https://esolangs.org/w/index.php?diff=68084&oldid=66262 * YamTokTpaFa * (-23) pls be kind to the wiki syntax more
09:10:27 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=68085&oldid=67863 * YamTokTpaFa * (+56) /* Pxem */
09:15:20 <esowiki> [[Talk:ASCII art/mandelbrot]] N https://esolangs.org/w/index.php?oldid=68086 * YamTokTpaFa * (+271) Created page with "== So, what is the article supposed to explain? == Thought this article has no contents other than the ascii art. I have no ideas what the original editor wanted to tell us. -..."
09:15:29 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=68087&oldid=67512 * A * (+35) /* Project Euler 1 */
09:33:24 -!- Hooloovo0 has joined.
10:39:59 -!- kspalaiologos has joined.
11:39:40 -!- arseniiv has joined.
11:55:30 <int-e> Sometimes the wiki makes me sad. https://esolangs.org/wiki/ASCII_art-
11:59:17 <int-e> innov... nah I can't make myself type that.
12:00:17 <shachaf> You know what's innovative? My completely standard B+ tree mapping uint64_t keys to uint64_t values.
12:00:31 <shachaf> It's faster than every ordered data structure I've found.
12:01:39 <shachaf> Where can I find reasonable ones?
12:05:34 <int-e> whatever happened to Judy arrays?
12:07:21 <int-e> I remember a short hype, then nothing. And apparently that's how it played out. But I don't know why.
12:07:49 <int-e> http://rusty.ozlabs.org/?p=153 was an interesting (though probably outdated) read at least
12:08:44 <shachaf> Oh, Judy isn't ordered, is it?
12:08:55 <olsner> sounds good to optimize for cache line usage, but B+ trees can do that too and Judy arrays seem to be a lot more complicated
12:12:52 <shachaf> I was going to add Judy to my benchmark but the API looks way too complicated.
12:12:59 <int-e> shachaf: my understanding was that it is ordered (it's supposed to be a radix tree with various specializations for nodes of different sizes, and radix trees are ordered; they tend to not store full keys in internal nodes though). maybe I understood wrong.
12:13:32 <shachaf> I saw something about hashing that confused me.
12:14:58 -!- ArthurStrong has joined.
12:17:37 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=68088&oldid=68087 * A * (-13) /* An Incompatible implementation */
12:18:17 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=68089&oldid=68088 * A * (+54) /* Project Euler 1 */
12:18:36 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=68090&oldid=68089 * A * (+0) /* Project Euler 1 */
12:19:59 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=68091&oldid=68090 * A * (+127) /* An example */
12:22:55 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=68092&oldid=68091 * A * (+9) /* Quine */
12:32:11 <shachaf> OK, I haven't figured out the range API, but it's already slower on point lookups.
12:35:10 <shachaf> I added range queries and it's really slow at them.
12:46:02 <shachaf> I measured wrong. It's OK on point lookups, though a lot slower than a regular hash table.
12:47:36 <olsner> how big is the data set here?
12:48:58 <shachaf> I'm testing with https://github.com/petersn/btreetests
12:53:32 <olsner> looks like that only goes up to 1 million entries? that would probably fit in L2 (but at least it's not small enough to fit in L1)
12:54:33 <shachaf> I think it was shortened from 10M.
12:56:36 <olsner> maybe Judy starts helping when you no longer fit in cache (it could of course never be faster, but since the point to the extra complexity is doing more work to read fewer cache lines...)
13:00:07 <fizzie> int-e: The Intcode part of these every-odd-day puzzles is getting less and less relevant. I guess it's just a handy way to obfuscate the answer, to offload the actual solution validation from the puzzle site to the user.
13:03:55 <esowiki> [[Intcode]] M https://esolangs.org/w/index.php?diff=68093&oldid=68028 * Fizzie * (+95) Add day 21.
13:06:58 <shachaf> Good call on the bigger test. I'm doing even better than all competitors on this one.
13:07:16 <shachaf> Of course maybe it's not that realistic.
13:08:39 -!- FreeFull has joined.
13:16:26 <int-e> fizzie: Yeah (though I have not looked at today's task(s))
13:17:19 <int-e> fizzie: I wonder how many people have solved problems by reverse engineering some code rather than interacting with it.
13:17:42 <int-e> (So far interaction has always seemed easier. Though I was tempted for a moment with the breakout task.)
13:19:16 <int-e> In fact I've only solved one task manually so far, namely the compression from day 17, part two.
13:26:50 -!- ArthurStrong has quit (Quit: leaving).
13:34:40 <fizzie> I wondered about that too. Even counting today, it's still been easier to solve it the presumably-intended way. Actually, today is a little bit similar to day 17 part 2 (though not that much).
13:35:48 <int-e> vaguely relatedly, I found https://projecteuler.net/problem=689 quite annoying.
13:37:03 <int-e> (I just don't like numerical stuff very much. Though somehow I managed to get it right on the first try.)
13:38:11 <int-e> (First *submitted* try that is. Not the first attempt to get a value.)
13:45:26 <fizzie> Hmm, I was doing Project Euler for a bit, in sequential order, but I think I stopped way before 689.
13:45:55 <fizzie> Yes, looks like I did just the first 100.
13:52:53 <int-e> haha: 1.hs: Prelude.chr: bad argument: <nnnnnn>
13:54:29 <int-e> (the program accidently printed the answer in an error message)
13:56:50 <b_jonas> int-e: yes, you can do that deliberately:
13:57:01 <HackEso> Useless use of a constant ("40*18") in void context at -e line 1.
13:57:06 <b_jonas> yeah, the w switch is essential for that
13:57:22 <b_jonas> it doesn't print the answer? they changed that
13:57:40 <b_jonas> perl 5.24 printed the product in the warning message
13:58:05 <b_jonas> darn, this is lost functionality
13:59:48 <int-e> fizzie: hmm that was surprisingly easy.
14:00:53 <int-e> And that adds two more manually solved tasks.
14:03:11 <int-e> I wonder how big the luck factor is.
14:11:33 <b_jonas> fungot, how big is the luck factor?
14:11:34 <fungot> b_jonas: not sure how to loop? ( i mean fnord' as... well, except for the nice model, eh?), here is a nice way for a long time
14:14:17 <b_jonas> int-e: so intcode is used sort of like UM-32?
14:21:58 <esowiki> [[User:B jonas]] https://esolangs.org/w/index.php?diff=68094&oldid=67538 * B jonas * (+82)
14:22:02 <esowiki> [[Intcode]] https://esolangs.org/w/index.php?diff=68095&oldid=68093 * B jonas * (+149)
14:22:38 <esowiki> [[UM-32]] https://esolangs.org/w/index.php?diff=68096&oldid=39232 * B jonas * (+159)
14:22:56 <esowiki> [[Intcode]] https://esolangs.org/w/index.php?diff=68097&oldid=68095 * B jonas * (+9) see UM-32
14:29:06 -!- xkapastel has quit (Quit: Connection closed for inactivity).
14:43:54 -!- Lord_of_Life_ has joined.
14:45:22 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
14:46:51 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:46:11 -!- Melvar has quit (Ping timeout: 252 seconds).
16:47:57 -!- Melvar has joined.
16:55:14 -!- imode has joined.
18:12:05 <imode> came upon an interesting idea yesterday: the use of the tail of the queue to act as long-term scratch memory, with the head being used as short-term scratch memory.
18:12:36 <imode> with the aid of the `last` operator, you can recall an item from the tail of the queue to the head. if this were on a tape, this would be a move left.
18:13:16 <imode> if you move left N times, duplicate and carry your item right N times, that's a load from RAM.
18:13:52 <imode> same for storing, you just carry the item left N times, drop whatever's there, then move right N times.
18:14:11 <imode> allocation of scratch space is just a repeated enqueueing of zeroes.
18:20:55 -!- LKoen has joined.
18:28:13 <imode> I still wonder if `[]01` is enough for turing completeness. part of me thinks it's possible but the end result is non-recognizable. `[]01$` is a candidate. `[]01<>` is boolfuck with dynamically resizable tape.
20:30:46 -!- shikhout has joined.
20:56:47 -!- erdic has quit (Ping timeout: 268 seconds).
20:57:34 -!- erdic has joined.
20:58:59 -!- kspalaiologos has quit (Quit: Leaving).
21:30:15 -!- shikhout has quit (Changing host).
21:30:15 -!- shikhout has joined.
21:37:27 -!- shikhout has changed nick to shikher.
21:52:48 -!- shikher has changed nick to shkhn.
22:50:10 <arseniiv> <imode> part of me thinks it's possible but the end result is non-recognizable. => have you tried to find a counter-example, like how logicians search for a model where A and ¬B are both true to show that one can’t prove B from A? In this case B is something TC and A is this reduced language
22:54:29 <arseniiv> hm I don’t know how to make this analogy rigorous but I believe it can be made and was even used by someone at some time — it seems so natural to try…
23:10:33 <imode> arseniiv: oerjan iirc said it could be used like bitwise cyclic tag.
23:11:15 <arseniiv> b_jonas: – − ‒, all different!
23:12:30 <arseniiv> imode: mmhm… (not that I’m sufficiently familiar with cyclic tag systems, but interesting!)
23:14:05 <imode> I guess I'm okay with the possibility of a `[]01$` or a `[]01<>` instruction set.
23:18:10 <imode> I really need to get Mode up to a git repo lmao.
23:29:04 <imode> it's an ugly mix of C and Python though.
23:35:05 -!- Cale has quit (Ping timeout: 250 seconds).
23:40:04 <arseniiv> imode: oh, do you call C from Python or Python from C or both?
23:40:43 <arseniiv> I’m not yet familiar how to do either. I only ever used Lua bindings for Delphi very very long ago
23:41:32 <arseniiv> (maybe for C# to but probably I just downloaded them and left them lay still)
23:41:43 <imode> there's a Python preprocessor that generates an array of function pointers. this array of function pointers gets inserted via an #include into a barebones interpreter.
23:42:32 <imode> 95 lines of Python..
23:48:29 -!- Cale has joined.
23:52:33 <b_jonas> some years ago someone said in the channel that the "ff" in the name of the program "ffmpeg" stands for "fast forward"
23:53:00 <b_jonas> apparently ffmpeg doesn't think so, because if you run it without arguments, it prints this line among others:
23:53:08 <b_jonas> "Hyper fast Audio and Video encoder"
23:53:14 <b_jonas> so "ff" stands for "Hyper fast"
23:53:32 <int-e> I always thought it derived from FFT.
23:53:48 <int-e> But I assumed that, never gave it much thought.