←2020-02 2020-03 2020-04→ ↑2020 ↑all
00:02:28 <zzo38> Do you know how a astrolabe is working? I do not actually have a astrolabe, so I have never actually used it.
00:04:03 -!- tromp has quit (Ping timeout: 260 seconds).
00:04:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
00:06:52 <arseniiv> zzo38: IIRC in a mechanical one there are geniously arranged cogs that make each planet go at the correct pace, and for moons it should be analogous but with even more magic to deliver the rotation to where the moon’s planet is at the moment. Though I think these times there would be electric ones which should be way easier to control
00:08:16 <arseniiv> maybe you asked about more detailed view, unfortunately I may only guess there
00:09:24 <arseniiv> oops an astrolabe is not what I thought, sorry
00:10:01 <int-e> . o O ( `learn The password of the month is vacant. )
00:10:18 <zzo38> I know there is a plate specific to the latitude, but I thought some functions require it and some don't.
00:11:59 <arseniiv> `password
00:12:00 <HackEso> uztohqhcddcqkua
00:12:07 <arseniiv> `? password
00:12:09 <HackEso> The password of the month is leapfrogging rats.
00:12:43 <int-e> The frog has croaked.
00:13:42 <int-e> Do rats carry SARS-CoV-2? (The naming of this thing is terrible.)
00:14:56 <arseniiv> `learn The password of the month was fought for, and stomped on, but it remains unreconciled with
00:14:59 <HackEso> Relearned 'password': The password of the month was fought for, and stomped on, but it remains unreconciled with
00:15:22 <arseniiv> and I tried not to
00:15:43 <int-e> (The diseaese is Covid-19, which is not descriptive at all ("corona virus desease 2019"). The virus has "SARS" in it which actually names the symptoms, "severe acute respiratory syndrome".)
00:15:45 <arseniiv> I hoped I will be sleeping at the time!
00:16:54 <int-e> arseniiv: Nice use of tenses.
00:17:18 <int-e> (I think grammar dictates "would" instead of "will" there.)
00:17:44 <int-e> . o O ( Will is out of the woods now. )
00:18:23 <arseniiv> <int-e> (I think grammar dictates "would" instead of "will" there.) => yeah I’m too, but I wrote before I realized that
00:19:18 <int-e> arseniiv: I read it as an artistic impression of how time becomes extremely fluid when one is tired.
00:19:35 <int-e> Especially when you start nodding off :)
00:19:40 <arseniiv> (BTW about puns: why did GHC people named an extension RecordPuns?)
00:20:03 <arseniiv> int-e: oh, that’s nice!
00:20:14 <arseniiv> though I’m not sure if I’m that tired yet
00:20:37 <int-e> I really try hard to be in bed before that point, and usually sleeping.
00:20:58 <int-e> (Though sometimes I read in bed and do notice starting the same paragraph over and over again.)
00:21:00 <arseniiv> (but that won’t do at all to sleep so late before Sunday)
00:22:05 <int-e> As for record puns... it's using the same word (identifier) for a different meaning.
00:22:11 <int-e> So it is a kind of pun.
00:23:05 <arseniiv> I have a habit reading in bed when I’m ill. I take books from the bookcase and lay them somewhere near to pick from at those unhappy days, and read when I’m not too exhausted
00:23:53 <int-e> I'm confused though, is this different from RecordWildCards ?
00:24:14 <arseniiv> various tales usually
00:24:25 <arseniiv> yeah it should be a different thing, let me see…
00:24:39 <arseniiv> ah I seem to remember it anyway
00:24:59 <int-e> Speaking of puns, I would rename "BlockArguments" to "NoBikeshedding".
00:25:06 <arseniiv> wildcards enable `Constructor {}` as a pattern
00:25:45 <int-e> Oh, it's "NamedFieldPuns" but the documentation says "record puns". https://downloads.haskell.org/ghc/8.8.1/docs/html/users_guide/glasgow_exts.html#extension-NamedFieldPuns
00:26:13 <int-e> So it's a precursor of the RecordWildcards.
00:26:18 <arseniiv> were BlockArguments added to no more bikeshed about what the precedence of blocks should be?
00:26:23 <int-e> The explanation is still the same though.
00:26:51 <int-e> In f (C {a}) = a, a is both a field selector name and a bound value.
00:27:40 <int-e> So this is analogous to using the same word with two meanings in a natural language.
00:28:35 <arseniiv> I should have a pun in Puntree^W^W^W^W^W^W^W
00:30:36 <arseniiv> (an extremely bad pun as a few would remember that one is named Punctree, not Puntree)
00:31:15 <int-e> I wasn't sure and didn't bother to check.
00:41:45 <int-e> arseniiv: I've just realized that your POTM is likely to make oerjan unhappy... because of the end of the sentenece
00:41:52 <int-e> .
00:42:04 -!- arseniiv has quit (Ping timeout: 256 seconds).
00:42:06 <int-e> That's the point.
01:57:35 <esowiki> [[Pointless.]] N https://esolangs.org/w/index.php?oldid=70093 * Qpliu * (+2815) Created page with "Pointless is a [[Point-free programming|point-free]] variation on [[01_]]. A Pointless program is a Pointless expression, which is a function that takes a list of bits and re..."
01:57:44 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70094&oldid=70088 * Qpliu * (+17) /* P */
03:18:46 -!- zzo38 has quit (Disconnected by services).
03:18:54 -!- zzo38 has joined.
03:29:30 -!- user01 has joined.
03:29:39 -!- user01 has changed nick to cloaked.
04:07:22 -!- cloaked has left.
04:29:19 -!- tromp has joined.
04:34:07 -!- tromp has quit (Ping timeout: 272 seconds).
04:44:09 -!- oerjan has joined.
04:48:32 <oerjan> @messages-told
04:48:33 <lambdabot> int-e said 1d 16h 34m 4s ago: I may have been wrong about the Foglios but I was definitely right about Clippy.
04:49:09 <oerjan> well duh
04:50:42 <oerjan> (or did you not see my previous joke)
04:55:09 <oerjan> while lying in bed, i had this wild idea that maybe tentacled Clippy contains some ancient backdoor installed by whoever became the dronuri, and so _would_ be helpful if ennesby asked em.
05:13:09 <zzo38> I think GHC should be fixed so that "data instance" is allowed where "type instance" is expected (but not vice-versa).
05:13:49 <zzo38> (And the same thing for associated type families.)
05:24:13 -!- tromp has joined.
05:29:13 -!- tromp has quit (Ping timeout: 272 seconds).
05:33:42 -!- Lord_of_Life has quit (Write error: Connection reset by peer).
05:36:30 -!- Lord_of_Life has joined.
05:55:16 -!- Sgeo_ has quit (Read error: Connection reset by peer).
06:01:25 -!- tromp has joined.
06:01:34 -!- Sgeo has joined.
06:06:35 -!- tromp has quit (Ping timeout: 272 seconds).
06:10:11 -!- kritixilithos has joined.
06:34:32 -!- imode has quit (Ping timeout: 256 seconds).
07:05:34 -!- b_jonas has quit (Quit: leaving).
07:08:08 -!- Sgeo has quit (Read error: Connection reset by peer).
07:08:32 -!- Sgeo has joined.
07:22:51 <int-e> oerjan: No I had not seen it. I was asleep at the time by the looks of it.
07:24:43 <int-e> I don't log-read, most of the time.
07:25:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
07:31:29 -!- tromp has joined.
07:35:06 <int-e> oerjan: doing your job: <oerjan> shocking
07:35:29 <int-e> oerjan: which, incidentally, you have not yet said this year.
07:36:29 <int-e> (It's March and *nobody* has used "shocking" this year. SHOCKING!)
07:36:51 <int-e> (But I'm making up for it NOW.)
07:40:50 <int-e> "shocking" statistics over the years (lines containing the word): 2003:0 / 2004:0 / 2005:2 / 2006:3 / 2007:5 / 2008:16 / 2009:28 / 2010:45 / 2011:98 / 2012:86 / 2013:89 / 2014:50 / 2015:37 / 2016:111 / 2017:56 / 2018:10 / 2019:22 / 2020:3
07:41:14 -!- Lord_of_Life_ has joined.
07:41:16 <int-e> So I guess 2016 was peak shocking.
07:41:40 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
07:42:34 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:45:59 -!- kritixilithos has joined.
07:57:05 <oerjan> ShOcKiNg
07:59:47 <int-e> I did use grep -i :)
08:00:27 <int-e> (Phew, lucky me. There were no Unicode shenenigans.)
08:06:56 -!- tromp has quit (Remote host closed the connection).
08:19:49 -!- nvd has changed nick to Taneb.
08:21:30 <oerjan> . o O ( why would i be unhappy about the password )
08:22:21 <oerjan> not using a period at the end is traditional
08:22:47 <int-e> because it's missing a point. and potentially a word, that's left up to interpretation.
08:23:13 <int-e> I was projecting, OKAY?
08:26:59 <int-e> `learn An ambitagonist gets along/gets into trouble with both antagonists and protagonists.
08:27:02 <HackEso> Learned 'ambitagonist': An ambitagonist gets along/gets into trouble with both antagonists and protagonists.
08:28:30 -!- tromp has joined.
08:32:55 <int-e> Oh dang, another comic transitioning from the binging phase to the waiting phase. I hate when that happens.
08:36:21 <oerjan> fiendish
08:36:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
08:39:04 -!- kritixilithos has joined.
08:57:10 -!- Phantom_Hoover has joined.
08:58:46 <Taneb> Groethendieck universes
08:59:20 <Taneb> Given a universe U, can we always define a universe V to be the smallest universe such that U is a set in V?
09:02:45 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
09:03:16 <Taneb> Oh, apparently that gets taken as an axiom
09:05:47 <int-e> tfw a tiny tweak to your program speeds it up by two orders of magnitude.
09:06:22 <Taneb> Commenting out the sleep calls?
09:06:26 <Taneb> ;)
09:07:51 <int-e> No, just realizing I do not need to enumerate *all* solutions while looking to bound their size.
09:08:11 <Taneb> If you think it might be interesting I would like to here what the change was
09:08:49 <Taneb> :)
09:08:59 <Taneb> That would speed it up a lot
09:10:33 <int-e> Well, this is branch & bound, and I'm already within one of the actual maximal count. So previously I enumerated all solutions of that size, until I found a larger one, and then enumerated all solutions of that size as well. Now I start trying to find *larger* solutions and stop at one.
09:10:49 <int-e> This happened because I *also* need to enumerate solutions exhaustively later on.
09:11:30 <int-e> And obviously(?) I use the same code for that.
10:08:26 -!- xelxebar has joined.
10:10:43 <int-e> Taneb: Obviously I changed the algorithm. "tweak" referred to the amound of code... something like 5 lines (introduce a bool variable, check it in one or two places)
10:19:27 <oerjan> `? algorithm
10:19:29 <HackEso> Algorithms (derived from the medieval "algorisms") are popular sayings by former president Al Gore, except for God's Algorithm which was invented by a Google computer cluster.
10:20:00 <int-e> Hmm, a mound of code?
10:21:25 <oerjan> wat
10:21:53 <int-e> oerjan: I saw that I made a typo.
10:23:00 <oerjan> oh
10:58:35 -!- oerjan has quit (Quit: leaving).
11:33:37 -!- arseniiv has joined.
11:49:26 -!- APic has quit (Ping timeout: 268 seconds).
11:54:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:32:32 -!- kritixilithos has joined.
13:20:10 -!- APic has joined.
13:20:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:21:56 -!- b_jonas has joined.
14:26:22 -!- kritixilithos has joined.
15:30:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
15:31:35 -!- kspalaiologos has joined.
16:10:14 <tromp> trying o define an efficient equality for church numerals....
17:00:17 -!- kritixilithos has joined.
17:18:09 <esowiki> [[Asm2bf]] https://esolangs.org/w/index.php?diff=70095&oldid=70085 * Palaiologos * (+408)
17:18:26 <kspalaiologos> https://esolangs.org/wiki/Asm2bf#Automated_calls
17:18:29 <kspalaiologos> that's amazing actually
17:18:45 <kspalaiologos> using cpp as my preprocessor has been great decision so far
17:25:11 <zzo38> I think that if you use the C preprocessor, then tokens should also be in the C format (such as using // or /* ... */ for comments, instead of other formats, and using 'x' for a single character literal); otherwise some things might get confused
17:26:55 <kspalaiologos> it works so far
17:27:05 <kspalaiologos> switching from C preprocessor will eventually happen
17:27:17 <kspalaiologos> but yeah I can see the problems
17:27:45 <kspalaiologos> the fact C preprocessor refuses to concat two non-tokens seems quite constraining
17:27:52 <kspalaiologos> I think I'll employ lua to do my preprocessing
17:28:40 <zzo38> Yes, that might work better
17:28:48 <b_jonas> `? password
17:28:50 <HackEso> The password of the month was fought for, and stomped on, but it remains unreconciled with
17:34:57 <APic> 1234
18:12:08 <b_jonas> int-e: "another comic transitioning from the binging phase to the waiting phase" => which comic?
18:25:02 -!- tromp has quit (Remote host closed the connection).
18:26:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:44:11 -!- tromp has joined.
18:46:19 -!- kritixilithos has joined.
18:51:24 <int-e> b_jonas: https://www.monster-lands.com/ which I started reading a few days ago.
18:57:07 -!- LKoen has joined.
18:58:05 <int-e> b_jonas: but other than that it's just one of many webcomics out there
19:04:18 <int-e> Hmm, maybe 20x20 board size is where my current approach for http://www.research.ibm.com/haifa/ponderthis/challenges/March2020.html finally breaks down.
19:04:37 <int-e> (In the sense that it takes a long, long time to find something.)
19:05:04 <int-e> 19x19 finished in an hour; 20x20 is approaching 10 hours.
19:05:51 <int-e> (all sequential... some potential for parallelization if I'd care enough)
19:06:53 -!- kritixilithos has quit (Quit: quit).
19:08:16 -!- LKoen has quit (Remote host closed the connection).
19:10:01 -!- LKoen has joined.
19:13:33 <kspalaiologos> done
19:13:36 <kspalaiologos> I switched to Lua
19:14:09 <b_jonas> that was quick
19:22:18 <kspalaiologos> https://github.com/KrzysztofSzewczyk/asmbf/tree/master/bfpp
19:22:39 <kspalaiologos> essentially I downloaded lua 5.1 source code, used lua2c to get the tiny preprocessor (~100 sloc) converted
19:22:48 <kspalaiologos> then I build it all and volia
19:23:06 <kspalaiologos> I had to yank off two unit tests for the old preprocessing mechanism, so I'm running really low on them lol, gonna write some more tomorrow
19:23:27 <kspalaiologos> the wiki article and documentation is now severely outdated so I'll have to eventually tackle on that
19:23:49 <kspalaiologos> I've also moved the permanent generation by two cells, so there are two additional registers available to the programmer
19:24:48 <kspalaiologos> and I've accidentally rm -rf'd my working directory, so I had to essentially do this thing twice lol
19:26:35 <b_jonas> fungot, which one do you prefer, practical or fashionable?
19:26:35 <fungot> b_jonas: i use that in my google article. :p
19:33:54 -!- kspalaiologos has quit (Quit: Leaving).
19:40:14 -!- Lord_of_Life_ has joined.
19:43:20 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
19:43:23 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
20:02:55 -!- LKoen has quit (Remote host closed the connection).
20:03:25 <fizzie> fungot: What's your "Google article" exactly?
20:03:25 <fungot> fizzie: we think in befunge when coding it yourself, or steal, say,
20:03:38 <fizzie> IDGI
20:04:46 -!- LKoen has joined.
20:05:35 <b_jonas> fizzie: I think he means an article published on a blog hosted by google blogger
20:05:59 <b_jonas> fungot, according to the legend, what objects did Galileo drop from the leaning tower of Pisa to prove Aristoteles wrong?
20:05:59 <fungot> b_jonas: give me the applet already :d
20:06:11 <b_jonas> an apple? yes, that might have worked
20:06:36 <arseniiv> <fungot> fizzie: we think in befunge => that’s certainly close to the truth
20:06:36 <fungot> arseniiv: i like the way optbot drags up old topics, it should sound like ' awak, awak, fnord! and fnord!) fnord!
20:08:16 <arseniiv> . o O ( an applet is a small chunk chipped of Apple by rival corporations )
20:08:33 <arseniiv> fungot: fnord?
20:08:34 <fungot> arseniiv: i would say rather that there has been some discussion about this in the def-bf code
20:08:59 <arseniiv> now they’re probably verbatimize again
20:40:41 <zzo38> Can a Tor hidden service be set up which uses protocols other than HTTP(S)?
20:42:59 <b_jonas> zzo38: I don't think Tor can care about that high level layer of the protocol
20:43:09 <b_jonas> it could care about it going over tcp
21:28:30 <kmc> zzo38: yes, for example Freenode runs an IRCd on a Tor hidden service
21:28:35 <kmc> https://freenode.net/kb/answer/chat#accessing-freenode-via-tor
21:29:23 <kmc> I believe you can't do UDP, but anything TCP-based should work
21:32:54 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
21:49:32 <tromp> church equality down to 74 bits...
21:51:14 <b_jonas> kmc: oh yeah
21:55:11 -!- FreeFull has quit.
21:56:26 -!- FreeFull has joined.
22:43:32 <tswett[m]> arseniiv: Oh yeah, I own some applets. 5 of them, to be precise.
22:43:47 <tswett[m]> They were collectively worth about $1,700 at close on Friday.
22:44:10 <arseniiv> tswett[m]: :D
22:45:05 <b_jonas> which is funny because an apple is usually worth less than a dollar
22:55:23 <int-e> YAY: user 715m21.159s
22:56:55 <int-e> (meaning the 20x20 search for March's Ponder This did actually finish)
23:00:26 <b_jonas> int-e: is the line right above that "Segmentation fault" because it ran out of memory?
00:02:54 -!- arseniiv has quit (Ping timeout: 258 seconds).
00:04:30 <int-e> Oh dang it.
00:09:51 <int-e> Okay, let's do this properly this time.
00:41:20 -!- _ has joined.
00:41:36 -!- _ has quit (Remote host closed the connection).
00:43:05 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70096&oldid=70029 * PythonshellDebugwindow * (+127) /* Program import */
00:50:01 <esowiki> [[Orca]] M https://esolangs.org/w/index.php?diff=70097&oldid=70081 * Neauoire * (+177)
01:01:06 <int-e> (Dang it: I missed a corner case in my Ponder This approach.)
01:22:16 -!- sebbu has quit (Read error: Connection reset by peer).
01:25:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
01:27:19 -!- xelxebar has joined.
01:28:29 <int-e> And it was so typical... the mistakes are never in the tricky part of the code, but in the places you consider obvious and easy :-/
01:36:57 <int-e> fungot: anything to lighten the mood?
01:36:57 <fungot> int-e: what really? i thought eval would bork when asked to input a character, or it's only in pity.
01:40:06 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70098&oldid=70092 * PythonshellDebugwindow * (+410) /* Set the accumulator to 0 */ new extension. TC
01:40:25 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70099&oldid=70098 * PythonshellDebugwindow * (+1) /* New commands */
02:07:57 -!- FreeFull has quit.
02:15:20 -!- tromp has quit (Remote host closed the connection).
02:20:57 -!- sebbu has joined.
02:28:05 -!- imode has joined.
02:31:25 -!- tromp has joined.
02:32:41 -!- tromp_ has joined.
02:33:55 -!- tromp__ has joined.
02:36:31 -!- tromp has quit (Ping timeout: 272 seconds).
02:37:47 -!- tromp_ has quit (Ping timeout: 272 seconds).
02:39:03 -!- tromp__ has quit (Ping timeout: 272 seconds).
03:10:21 -!- imode has quit (Remote host closed the connection).
03:10:54 -!- imode has joined.
03:33:03 -!- tromp has joined.
03:37:57 -!- tromp has quit (Ping timeout: 272 seconds).
04:03:39 <esowiki> [[AT]] M https://esolangs.org/w/index.php?diff=70100&oldid=70089 * Hakerh400 * (-5)
05:15:02 -!- imode has quit (Remote host closed the connection).
05:17:44 -!- imode has joined.
05:23:41 <zzo38> Apparently, someone used to sign their Usenet posts with a line about "evil umpire", but this was too early to be archived.
05:26:03 <zzo38> Also, I should probably implement scoring in bystand. There seems to be a lot of spam posted through Google to news.software.readers. (Maybe that is why some Usenet users do not want to receive messages posted through Google.)
05:27:12 -!- imode has quit (Ping timeout: 258 seconds).
05:29:18 -!- TellsTogo has joined.
05:35:43 <zzo38> (I do not wish to block all messages posted through Google, since some people who use Google have actual relevant stuff to write. However, I do not post using Google myself.)
06:17:42 <zzo38> Do you like Hollerith chording?
06:19:42 <kmc> zzo38: what is that?
06:20:54 <zzo38> It is my idea of how to enter text using a numeric keypad. There are other systems of entering text using a numeric keypad, and I think all of them are not very good.
06:21:49 <zzo38> Hollerith chording means if you push one button at a time then it makes numbers; if you push multiples at a time then it corresponds to multiple holes in one column of a computer card, and makes whatever letter that combination of holes represents.
06:22:44 <zzo38> (A separate button is needed for a space, although most systems using a numeric keypad already have a few other buttons anyways.)
06:23:47 <zzo38> What do you think is the best system for text entry using a numeric keypad?
06:41:08 -!- kritixilithos has joined.
06:45:26 -!- mniip has quit (Quit: This page is intentionally left blank.).
06:45:53 -!- mniip has joined.
07:23:05 -!- Cale has quit (Ping timeout: 240 seconds).
07:35:25 <TellsTogo> zzo38 Dotsies https://dotsies.org/
07:41:30 -!- Lord_of_Life_ has joined.
07:43:16 -!- Cale has joined.
07:43:34 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
07:43:34 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:44:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
07:45:23 -!- kritixilithos has joined.
07:45:58 -!- tromp has joined.
07:52:40 -!- b_jonas has quit (Quit: leaving).
08:11:02 <Cale> `pbflist https://pbfcomics.com/comics/the-report/
08:11:04 <HackEso> pbflist https://pbfcomics.com/comics/the-report/: shachaf Sgeo quintopia ion b_jonas Cale kmc
09:04:02 -!- wib_jonas has joined.
09:04:58 -!- cpressey has joined.
09:27:57 -!- PkmnQ has joined.
09:29:07 -!- PkmnQ has quit (Remote host closed the connection).
09:36:36 <cpressey> Good morning. If a conventional OS has a Command-Line Interface (CLI) then it stands to reason that a Befunge-based OS would have a Command-Plane Interface (CPI).
09:37:35 <Taneb> Naturally
09:40:30 <wib_jonas> cpressey: I'm not sure about that. a Befunge-based OS might use Befunge as a platform to run user-space programs, or for the kernel, neither implies that the shell has to be befunge too.
09:41:06 <wib_jonas> There are systems that run mostly machine code programs with system calls, but have a unix sh or dos shell or BASIC or Forth command line interface
09:41:41 <wib_jonas> On the other hand, some (but not all) BASIC-based interfaces are already command planes, in that they let you edit anywhere on a screen sized buffer of inputs and let you run any line there
09:42:38 <wib_jonas> By all rights that stupid system should be extinct, but it lives on in worksheet interfaces like that of Mathematica or SAGE, and the immediates window of VBA.
09:46:08 <wib_jonas> You could have a befunge command-plane shell on an OS that isn't based on befunge though, and befunge is particulary usable for this in fact,
09:46:43 <wib_jonas> because befunge already takes the program from the same command plane to where it can read data inputs and write outputs, just like how those BASIC shells work.
09:48:17 -!- wib_jonas has quit (Remote host closed the connection).
11:13:18 -!- laerling has quit (Quit: ZNC 1.7.3 - https://znc.in).
11:13:38 -!- laerling has joined.
11:26:23 -!- laerling has quit (Quit: ZNC 1.7.3 - https://znc.in).
11:26:43 -!- laerling has joined.
11:30:45 -!- laerling has quit (Client Quit).
11:31:35 -!- laerling_ has joined.
11:32:51 -!- b_jonas has joined.
11:42:21 -!- laerling_ has quit (Quit: ZNC 1.7.3 - https://znc.in).
11:42:40 -!- laerling_ has joined.
11:55:14 -!- laerling_ has quit (Quit: ZNC 1.7.3 - https://znc.in).
11:57:23 <int-e> tromp: Hmm, I tried to match your 74 bit equality test but I'm stuck at 79 for now. But I have a 73 bit *dis*equality test now.
11:57:55 <tromp> mine is 73 bit now
11:58:03 -!- laerling has joined.
11:58:31 <tromp> hint: it's just using scott_succ and scott_pred
11:59:01 <FireFly> is this the binary format of LC?
11:59:15 <tromp> a slightly tweaked scott_pred actually
11:59:27 <FireFly> or what's the bitcount for?
11:59:31 <int-e> tromp: But I also have 58 bit less than and less than or equal tests, and a 66 bit minimum.
11:59:39 <tromp> yes, size measured in blc encoding
12:02:13 <FireFly> ah right
12:08:04 <tromp> now embarking on a much more involved term looking for odd perfect numbers
12:13:12 <tromp> btw, modulo is <= 113 bits
12:13:49 <tromp> and div <= 126 bits
12:14:09 <b_jonas> tromp: could you look for Fermat primes 2**(2**k)+1 for 5<=k integer instead?
12:15:11 <tromp> that would be straightforward given our small primesieve
12:16:49 <tromp> will try later
12:17:39 <b_jonas> though I guess odd perfect numbers would be a more interesting goal
12:19:02 <tromp> so far, smallest conjecture testing program is 213 bit Laver table one
12:19:31 <tromp> goldbach sits at 267 bits
12:20:09 <int-e> div is <= 105 bits.
12:20:13 <tromp> i expect oddperfect to come in between those
12:20:25 <tromp> int-e: cool, something new!
12:20:42 <int-e> And \n m. n `div` (m+1) is even shorter.
12:25:21 <b_jonas> int-e: what representation of natural numbers are you using here for those bit counts?
12:27:03 <int-e> Church
12:27:43 <b_jonas> the original one, which encodes 4 as (\x.\y.x(x(x(x y)))) ?
12:28:53 <int-e> yes, that one
12:29:10 <cpressey> The orthodox Church encoding.
12:29:33 <b_jonas> it's confusing that that's called Church encoding
12:29:41 -!- ArthurStrong has joined.
12:29:43 <b_jonas> but that's not easy to fix it now
12:31:00 <FireFly> what other encoding is referred to that way?
12:31:15 <FireFly> That's the only one I know of under that name
12:31:37 <int-e> tromp: let's make that 95
12:31:52 <int-e> (and 88 for n/(m+1))
12:34:05 -!- arseniiv has joined.
12:35:56 <b_jonas> FireFly: there's an encoding for algebraic types, where if you have a type with say three constructors A, B, C, then you encode a value A as (\a\b\c.a), the value (B x y) as (\a\b\c.bxy), and the value (C z) as (\a\b\c.cz)
12:36:30 <b_jonas> of which a special case is encoding False as (\f\t.f) and True as (\f\t.t)
12:36:38 <tromp> that's called the Scott encoding?
12:37:04 <b_jonas> is it? I think someone called it Church something, at least in the case of non-recursive data types
12:37:09 <b_jonas> let me look up the chat log
12:38:15 <b_jonas> hmm no, I'm probably just confused
12:38:19 <b_jonas> I don't know how all these encodings work
12:39:42 <FireFly> Ah, I guess the confusion might be due to there being a common subset of them?
12:40:12 <FireFly> So the Church booleans end up the same as the Scott encoding for a boolean type
12:40:14 <int-e> s/95/91/ (and 84 for n/(m+1)), hmm. But I think this may be it. mod will be worse.
12:41:30 <tromp> are you using any lists?
12:41:37 <int-e> no
12:41:49 <tromp> mine are all list based:(
12:43:34 <int-e> I'm thinking of this as coroutines for the time being.
12:43:58 <tromp> that's way more awesome than lists
12:45:39 <int-e> trying the same with mod now, hmm. doesn't terminate... what did I do wrong :)
12:46:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:48:36 <b_jonas> int-e: try not to divide by zero
12:51:12 <int-e> b_jonas: that wasn't the issue ;)
13:01:48 <tromp> trust int-e to try with nonzero denominators:)
13:02:38 <tromp> did you also use coroutines for eq?
13:03:18 <int-e> yes.
13:06:07 -!- kritixilithos has joined.
13:19:20 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70101&oldid=70099 * PythonshellDebugwindow * (+18) /* Multi-cell extension (Turing-complete) */
13:22:18 <tromp> int-e: eq/mod/div added to AIT repo. feel free to make improvements
13:22:37 <int-e> Hmm, mod with this approach seems to come out at 115 bits.
13:23:16 <int-e> Which is okay I suppose. :P
13:24:20 <tromp> very competitive with mine!
13:24:31 <tromp> your div is way better though
13:25:21 <int-e> yeah it's 90 bits now :)
13:27:14 <tromp> would that be the first example of coroutines in the repo?
13:29:27 <int-e> pushed the div, so feel free to argue whether this is using coroutines or not.
13:33:10 <int-e> and mod is now 107 bits
13:34:02 <int-e> (Observation: n carries enough "recursive power" to avoid the full fixed point construction)
13:35:59 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70102&oldid=70101 * PythonshellDebugwindow * (+160)
13:36:18 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70103&oldid=70102 * PythonshellDebugwindow * (+0) /* Commands */
13:39:47 <kritixilithos> tromp: where is this AIT repo?
13:40:17 <tromp> https://github.com/tromp/AIT
13:40:59 <tromp> int-e: good point about using n as poor man's Y
13:41:38 <kritixilithos> so you're golfing functions in binary lambda calculus?
13:43:20 <kritixilithos> oh you're this guy https://tromp.github.io/cl/cl.html
13:44:52 <tromp> yep, that guy:)
13:45:17 <tromp> or rather, this guy https://github.com/tromp/
13:45:50 <tromp> int-e: that change also makes it so that mod n 0 no longer diverges:)
13:46:27 <tromp> now, we get mod n 0 = 1
13:46:43 <int-e> . o O ( very useful )
13:48:31 <tromp> it's really cool that you can define mod 0 m as m false, using only 2 bits for the inner argument
13:49:45 -!- sprocklem has quit (Ping timeout: 258 seconds).
13:50:48 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70104&oldid=70103 * PythonshellDebugwindow * (+18) /* Commands */
13:51:05 <int-e> so basically what "kills" the coroutine approach for mod is that the counter isn't monotonic, so I need to deal with an extra argument... doing that in three places adds up to 20-ish bits.
13:51:19 <int-e> (25)
13:53:01 <cpressey> dare I ask why the counter isn't monotonic
13:53:18 <tromp> mod m m < mod (m-1) m
13:53:18 <int-e> because it has to be reset when it reaches the modulus.
13:53:33 <cpressey> ah. hm. ok.
13:54:02 <int-e> in contrast to 'div', which is just, pass, pass, pass, bump counter, pass, pass...
13:55:17 <Taneb> Can you use mod x y = x - div x y to get any gain?
13:55:31 <Taneb> *x - y * div x y
13:55:44 <int-e> Taneb: No, I can't do - and * in 25 bits.
13:55:52 <Taneb> Ah :(
13:56:25 <int-e> (- is the worse of the two... 56 bits is the best I have for that)
13:57:08 <int-e> But even \m\n. \f\x. m f (n f x) is already 33 bits.
13:57:50 <int-e> err. what am I doing?
13:57:54 <int-e> that's addition.
13:58:39 <int-e> Multiplication *is* cheap, \m\n. \f. m (n f) = 19 bits. (These numbers change by about 10 when the thing is inlined.)
14:00:18 <tromp> i sometimes ponder if i should rename binary lambda calculus to "bitwise"
14:00:37 <tromp> but it would make googling way harder:(
14:00:59 <int-e> meh it's the "LC" part that's alluring to me
14:01:28 <tromp> yes, i like to mention that too. it's just quite a mouthful
14:02:22 <tromp> normally, programming languages names are single words
14:02:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:03:12 <fizzie> Just smoosh those words together, into "Bilaca" or something, Fortran-style.
14:03:45 <fizzie> (Or Bilamcal.)
14:07:52 -!- kritixilithos has joined.
14:20:58 -!- kspalaiologos has joined.
14:28:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:29:53 -!- kritixilithos has joined.
14:53:36 -!- ArthurStrong has quit (Quit: leaving).
14:57:06 <int-e> . o O ( BottLeneCk )
15:02:09 <tromp> BLaCK
15:02:25 <tromp> I mean BLaCk
15:04:24 <tromp> ot in spanish BLanCa
15:07:58 -!- sprocklem has joined.
15:09:55 -!- cpressey has quit (Quit: A la prochaine.).
15:21:39 <tromp> regarding this month's Ponder This: the nice regular spacing of 20% unoccupied board squares is ruled out. so it's something irregular with higher unoccupied density towards the borders
15:23:11 <tromp> in particular, there can be no unoccupied square surrounded regularly by 4 others at knight's move distance
15:23:37 <arseniiv> tromp: you could portmanteau BLaCk and BLanCa into BLanCk which may be more googlable if not many people misspell “blank” (or write “blanck” intentionally)
15:23:42 <tromp> as its 4 directly adjacent squares would all need to be different
15:24:45 <arseniiv> (or for a z-grade linguistic pun, BLãCk)
15:33:21 -!- xkapastel has joined.
15:51:28 -!- sprocklem has quit (Ping timeout: 256 seconds).
16:06:50 -!- sprocklem has joined.
16:09:29 <int-e> tromp: We should probably discuss this in April :P
16:10:39 <int-e> (I know I talked about this a lot but I tried to keep it vague and avoid spoilers.)
16:16:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:17:21 -!- kritixilithos has joined.
16:30:41 <esowiki> [[Asm2bf]] https://esolangs.org/w/index.php?diff=70105&oldid=70095 * Palaiologos * (+644) new bfpp (based on Lua); r5 and r6 added to the register model
16:33:37 <tromp> oh, thought you talked about the ladders and snakes one
16:49:13 -!- laerling has quit (Quit: ZNC 1.7.3 - https://znc.in).
16:53:13 -!- laerling has joined.
16:55:40 -!- sprocklem has quit (Ping timeout: 258 seconds).
17:57:36 -!- FreeFull has joined.
17:59:56 -!- rain1 has joined.
18:00:36 <esowiki> [[Asm2bf]] M https://esolangs.org/w/index.php?diff=70106&oldid=70105 * Palaiologos * (-408) remove automated calls section
18:03:21 -!- TellsTogo has quit (Remote host closed the connection).
18:12:50 -!- LKoen has joined.
18:13:57 -!- sprocklem has joined.
18:21:27 -!- LKoen has quit (Remote host closed the connection).
18:21:52 -!- LKoen has joined.
18:43:14 -!- kritixilithos has quit (Quit: quit).
19:18:54 <int-e> tromp: I also talked about that one previously
19:21:36 -!- kspalaiologos has quit (Quit: Leaving).
19:24:57 <int-e> tromp: they tend to post these challenges a bit early (the March one was posted February 27th, and I discovered it on the 29th).
19:26:03 <int-e> They also tend to close them a bit late.
19:26:36 -!- LKoen has quit (Remote host closed the connection).
19:28:52 -!- imode has joined.
19:29:45 -!- LKoen has joined.
19:32:43 <rain1> hi
19:41:00 -!- Lord_of_Life_ has joined.
19:41:44 <tromp> i like that this one can be solved manually
19:44:23 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
19:44:27 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:46:52 <int-e> I guess it's not inconceivable.
19:46:56 <int-e> :P
19:47:44 <int-e> (I didn't really try.)
20:43:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
20:46:08 -!- xelxebar has joined.
22:00:40 -!- rain1 has quit (Quit: Lost terminal).
22:00:43 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:17:31 -!- FortyTwo has joined.
23:17:44 -!- FortyTwo has quit (Remote host closed the connection).
23:18:43 -!- Thousand-YearSto has joined.
23:18:57 -!- Thousand-YearSto has quit (Remote host closed the connection).
23:19:30 -!- TYS61 has joined.
23:19:34 -!- TYS61 has quit (Remote host closed the connection).
23:20:36 -!- MTGBusyBeaver has joined.
23:27:39 <MTGBusyBeaver> Hello, I have been working on doing the most possible damage in Magic the Gathering, without going infinite, and while we have gotten some big numbers, we would like to implement some sort of turing complete set of (forced) operations as the BusyBeaver function would grow even faster.
23:29:44 <MTGBusyBeaver> MTG has already been proved Turing complete, however all of the known setups actually allow for the creation of nondeterministic Turing machines, which could loop for an arbitrary amount of time before halting.
23:30:07 <longname> That's pretty cool.
23:30:14 <longname> I wonder if YGO is turing complete.
23:31:30 <MTGBusyBeaver> We have been trying to get https://esolangs.org/wiki/The_Waterfall_Model to work but have run into a few problems
23:32:02 <b_jonas> welcome, MTGBusyBeaver
23:32:06 <MTGBusyBeaver> YGO has finite board-space right? so I doubt it,
23:32:59 <longname> You do have an infinite hand and there's quite a lot of non-HOPT self bouncing effects
23:33:26 <b_jonas> MTGBusyBeaver: yes, ais523 was trying to get a simulation of that to work, and I think he did get it to work eventually, just didn't make a clear enough documentation of the details of that construction
23:35:04 <MTGBusyBeaver> There is a working construction, it just also allows for nondeterminism as nothing forces the encoded waterfall program to never have two registers zero simultaniously
23:36:00 <MTGBusyBeaver> and we have no way for that to trigger the halt
23:36:51 <b_jonas> MTGBusyBeaver: sure, but you can choose the program
23:37:03 <b_jonas> so just choose a waterfall model program that never has two register zero simultaneously
23:37:19 <b_jonas> you can translate any program to twm that way
23:37:19 <int-e> b_jonas: that's not useful for the busy beaver function though
23:37:46 <int-e> hmm
23:37:53 <b_jonas> int-e: why not?
23:38:01 <b_jonas> take a busy beaver turing machine, translate it to TWM
23:38:03 <MTGBusyBeaver> yeah we can't allow for even the opportunity for nonderterminism
23:38:22 <b_jonas> translation is rather inefficient because TWM is like that, but it works
23:38:23 <int-e> b_jonas: so you're saying, take a TC language, translate it to TWM in a special way, and then do BB on top of that?
23:38:36 <b_jonas> yes
23:38:47 <b_jonas> and then translate the TWM program to an M:tG game plan
23:39:21 <int-e> Makes sense, I just missed the first indirection.
23:39:30 <MTGBusyBeaver> But the MTG game plan with the same cards could make a nondeterministic TWM program and beat the BB bound
23:39:59 <b_jonas> MTGBusyBeaver: the game with the same cards could also just not enter any TWM loop, you might just never play the right combos
23:40:07 <b_jonas> setting up the combo is nontrivial, it's easy to mess it up actually
23:40:09 <int-e> b_jonas: I imagined you'd filter TWM programs for those that are "good" in the sense that they never have two zero registers as they run.
23:40:10 <b_jonas> I don't see the problem
23:40:33 <b_jonas> int-e: you can't really "filter" them after the fact, that's uncomputable and at least as halt as telling if a turing machine halts
23:40:47 <int-e> b_jonas: hence my initial response (and objection)
23:41:11 <b_jonas> right
23:41:31 <MTGBusyBeaver> but we get to pick our draws and plays, we wont "mess up" the combo, and if there is a line that does more damage we will take it
23:42:07 <MTGBusyBeaver> and if that amount of damage is unbounded, the deck is disqualified.
23:42:19 <b_jonas> MTGBusyBeaver: sure, but nothing in the deck forces you to do that specific combo. if you can go off with the deck, you can just win instantly rather than try to set up a combo
23:42:23 <b_jonas> oh I see
23:43:12 <b_jonas> MTGBusyBeaver: but then the TWM indeterminacy doesn't matter either, you could also set up a TWM program that deals infinite damage, or just deal infinite damage without going through the hoops
23:44:05 <b_jonas> longname: infinite hand like https://www.xkcd.com/1099/ ?
23:44:18 <MTGBusyBeaver> The idea is that the busy beaver machine would incidentially output tokens that could only attack after the TM halts
23:46:18 <b_jonas> https://www.xkcd.com/2275/ a Giant Spider? aaargh
23:47:23 <int-e> b_jonas: Have I complained already that covid-19 is a totally awful name? "corona virus disease 2019".
23:47:40 <b_jonas> int-e: yes, it should have a four-digit year name in there
23:48:03 <int-e> But the virus name got some actual symptoms, SARS-CoV-2.
23:48:26 <longname> Well.
23:48:37 <longname> You can only have 60 cards in your deck, max
23:48:44 <int-e> b_jonas: No, my complaint is about descriptiveness.
23:48:51 <longname> So I guess you could only have 60 cards in hand total.
23:49:27 <longname> Unless you took cards from your opponents hands too actually, so total 120
23:49:51 <int-e> "Standard decks must contain a minimum of sixty cards. There is no maximum deck size; however, one must be able to shuffle one's deck without assistance."
23:49:57 <int-e> has this changed?
23:50:22 <longname> I'm talkin' YGO, Beaver's talking MTG
23:50:29 <int-e> Oh.
23:52:04 <b_jonas> in M:tG, you can momentarily put tokens into your deck or your hand, though they disappear the next time state-based actions are processed, and in some crazy cases they actually matter in your deck and make it hard to figure out how to follow the rules
23:52:25 <int-e> b_jonas: "is just too catchy" -- is that a play on its virility?
23:53:11 <longname> Ah, hm. Then yeah I guess maybe YGO is impossible to make turing incomplete without some change in rules just 'cus of a lack of memory.
23:53:25 <longname> *impossible to make turing complete.
23:54:08 <b_jonas> longname: really? that's surprising
23:56:08 <longname> You can summon shitloads of tokens (actually infinitely in theory with some mayakura the destructor + utlimate offering + phantom skyblaster + gy looping shenanigans) but they can only appear on the field
23:57:24 <MTGBusyBeaver> The useful operations we have: 2xArcbond (when this creature takes damage it deals that much damage to each other creature) allow us to set up a 'clock' that locks us out of interaction once the TM has been put into motion until one of the targeted creatures dies, artificial evolution lets us change the creature types a card refers to, rotlung
23:57:24 <MTGBusyBeaver> reanimator (whenever a creature of type X dies create a 2/2 Y token) allows us to remake/change things Dralnu's Crusade (all X's are also Ys) lets us have things with multiple types.
23:58:34 <b_jonas> I mean, if it were impossible to make it Turing-complete because it lacks crazy building blocks like (Rotlung Reanimator or Xathrid Necromancer or Hungry Lynx) and Artificial Evolution
23:58:55 <MTGBusyBeaver> I'm thinking about trying some sort of cyclic tag system using Coat of arms (each creature gets +x+x for each creature that shares a type with it) but I dont think that is enough
23:58:55 <b_jonas> that wouldn't surprise me. but if you can actually prove that YGO is not TC because of lack of memory, that _would_ surprise me.
23:59:36 <b_jonas> it wouldn't surprise me for a newer game like Hearthstone that may be specifically designed to avoid such crazy combos, but Yu Gi Oh is old
00:00:17 <longname> Infinite loops like that are handled weirdly depending on who you ask. Techncially they're illegal, and playing a card that would start infinite loop is an illegal play (Pole Position comes to mind)
00:00:53 <MTGBusyBeaver> YGO is probably not even as strong as regular expressions.
00:00:55 <b_jonas> longname: can you have an unlimited number of tokens on the battlefield at the same time?
00:01:16 <longname> Nope, you can have, at most 7 monsters total on the field.
00:01:42 <longname> and that's only under very specific circumstances (co-links)
00:01:45 <MTGBusyBeaver> Hearthstone is also very much limited in board/deck space so it would suffer the same limitations
00:01:45 <b_jonas> oh, so that's where Hearthstone got that rule from?
00:02:08 <MTGBusyBeaver> YGO is normally 5 right?
00:02:28 <longname> Yeah, 5 under normal circumstances
00:02:36 <b_jonas> MTGBusyBeaver: yes, Hearthstone is limited. but YGO is an older game.
00:02:40 <b_jonas> I see
00:03:45 <MTGBusyBeaver> so there is not much space for computation in YGO,
00:03:51 <longname> Master rule 4 introduced Extra Monster Zones, so with Link monsters you can have 7 max if both EMZs are connected by link monsters--again very specific scenario
00:03:56 <longname> Yeah, doesn't seem like it.
00:04:25 <b_jonas> oh well
00:06:10 <b_jonas> MTGBusyBeaver: but how would it even be possible to set up a situation where you can set up a busy beaver damage loop, but no infinite damage loop?
00:07:12 <MTGBusyBeaver> If the TM output tokens that couldn't attack until the TM halted.
00:07:35 <b_jonas> MTGBusyBeaver: sure, but why would the player choose to build that particular TM, instead of a TM... oh
00:07:47 <b_jonas> you want a combo that can only deal damage once
00:07:50 <b_jonas> that's clever
00:08:03 <b_jonas> does Goblin Cannon help?
00:08:19 <MTGBusyBeaver> no because it has to be in one chunk
00:08:27 <b_jonas> probably no, it's not better than like a Fireball
00:08:43 <b_jonas> or some other non-permanent that deals X damage, what's the simplest one
00:09:00 <b_jonas> why does the damage have to be in one chunk?
00:09:16 <MTGBusyBeaver> because the opponent would die and the game would end
00:09:28 <b_jonas> oh, you're not going by DMM's rules for this?
00:09:46 <b_jonas> though I also don't see how you'll limit the size of the Turing Machine.
00:10:07 <b_jonas> if you can set up a TM, you can probably clone the cards more times to set up a turing machine with a longer BB program and thus more damage
00:10:27 <MTGBusyBeaver> We will only have a finite amount of mana
00:10:49 <MTGBusyBeaver> and yes we can probably setup a VERY large TM
00:11:18 <b_jonas> Heat Ray
00:11:26 <b_jonas> that's the canonical instant that deals X damage for XR mana
00:12:06 <b_jonas> MTGBusyBeaver: ok, so how will you have only a finite amount of mana, and no Omnipotence I assume, but enough mana to build up a complicated combo?
00:12:17 <b_jonas> hmm
00:12:19 <MTGBusyBeaver> We are slightly limited by the number of creature types (~200) but we can just implement a UTM
00:12:21 <b_jonas> that does seem more easily solvable
00:12:38 <b_jonas> because there are some large infinite combos that involve mana
00:12:42 <b_jonas> large finite combos
00:13:06 <MTGBusyBeaver> heat ray is probably no good because as an instant we could inturrupt the TM's function
00:13:33 <MTGBusyBeaver> https://www.mtgsalvation.com/forums/magic-fundamentals/magic-general/615089-most-turn-1-damage-in-a-deck-with-no-infinite?page=97
00:13:44 <b_jonas> well Disintegrate if you want a sorcery
00:13:57 <b_jonas> but I assumed you'd be in a loop that you can't exit anyway, so you need an instant
00:14:14 <MTGBusyBeaver> no we want the loop to only exit if the machine halts
00:14:55 <MTGBusyBeaver> not asking you to read that whole 90+ page thread
00:15:14 <MTGBusyBeaver> but many of the "how?" questions are answere in there
00:16:51 <MTGBusyBeaver> for a full writeup of what we accomplished in old standard: https://docs.google.com/document/d/174jrMcjZ8rWurGCvylWyql9cH0sAVPIXPzT0ucMq308/edit?usp=sharing
00:19:07 <MTGBusyBeaver> (I'm FortyTwo on the forums there)
00:19:19 <MTGBusyBeaver> but that name was obviouslly taken here
00:21:52 <MTGBusyBeaver> anyway I g2g, thanks, I will check back.
00:21:56 -!- MTGBusyBeaver has left.
00:22:26 <b_jonas> MTGBusyBeaver: and you probably don't even need such complicated combos here, because you don't need a huge finite number of mana with power towers, only like a million mana, which should be easier to generate
00:40:02 -!- arseniiv has quit (Ping timeout: 240 seconds).
01:13:01 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:29:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
01:47:27 -!- xelxebar has joined.
02:34:51 -!- TellsTogo has joined.
02:45:38 -!- MTGBusyBeaver has joined.
03:10:20 -!- oerjan has joined.
04:36:44 -!- TellsTogo has quit (Remote host closed the connection).
05:14:26 -!- FreeFull has quit.
05:34:02 -!- diverger has quit (Ping timeout: 240 seconds).
05:37:16 -!- diverger has joined.
06:11:46 -!- kritixilithos has joined.
06:37:44 -!- imode has quit (Ping timeout: 256 seconds).
07:42:13 -!- Lord_of_Life_ has joined.
07:42:54 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
07:43:32 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:48:52 <MTGBusyBeaver> I think I have an implementation of https://esolangs.org/wiki/The_Waterfall_Model in Magic: The Gathering. https://www.mtgsalvation.com/forums/magic-fundamentals/magic-general/615089-most-turn-1-damage-in-a-deck-with-no-infinite?comment=2434 But it seems that we might run out of creature type namespace, How big does a waterfall TM need to be to
07:48:53 <MTGBusyBeaver> encode a universal TM?
08:04:31 <oerjan> ais523 isn't here at the moment, he's the main one who's trying to do this.
08:04:39 <oerjan> MTGBusyBeaver: ^
08:05:57 <oerjan> although i think getting a "small" TC waterfall model may be exactly where he was stuck last i heard
08:08:19 <MTGBusyBeaver> Well it doesnt need to be tiny, there are 249 creature types so we get a size 124 waterfall machine
08:17:47 <oerjan> i'm pretty sure that's way more than needed
08:18:02 <oerjan> assuming you mean 124 clocks
08:19:05 <oerjan> i think ais523 was aiming for something small enough that he could remember it for an actual tournament
08:19:26 <MTGBusyBeaver> yeah, i figured 20-30 would be sufficient.
09:20:13 <oerjan> oh i see you've been discussing on this channel before
09:22:16 <oerjan> <b_jonas> int-e: you can't really "filter" them after the fact, that's uncomputable and at least as halt as telling if a turing machine halts <-- there's a simple checkable property that ensures a TWM program never is ambiguous and which any other can be translated into
09:23:11 <oerjan> basically, if N is the number of clocks, multiply all adjustments by N, and let the clocks start with distinct values (mod N)
09:24:16 <oerjan> (well N>=number of clocks suffices)
09:25:51 <oerjan> then they can never become the same (mod N), so will never trigger simultaneously
09:27:02 <oerjan> MTGBusyBeaver: ^ in case you still have this problem
09:28:09 <oerjan> int-e: ^ you too
09:28:45 <b_jonas> oerjan: ais said that he's pretty sure there is a very small universal waterfall machine program, but it's hard to explicitly construct one
09:30:02 <b_jonas> but for a tournament, you don't necessarily need a program with the smallest number of clocks, rather you'll need a program with a reasonable number of clocks where the numbers in the program matrix aren't too difficult to remember
09:30:43 <b_jonas> and that might be impossible
09:44:08 <oerjan> hm.
09:52:49 <b_jonas> the tournament rules have two rules relevant for this: 2.11 "Taking Notes", which says that during a game, you can't refer to notes except those taken during the game, except "Artistic modifications to cards that provide minor strategic information" with the Head Judge's permission, and I don't think a huge TWM program could count as such;
09:53:53 <b_jonas> and 5.5 "Slow Play", which I quote "Players must take their turns in a timely fashion regardless of the complexity of the play situation and adhere to time limits specified for the tournament. Players must maintain a pace to allow the match to be finished in the announced time limit.
09:54:37 <b_jonas> " which means you aren't allowed to take too much time just because before the tournament you came up with a funny strategy to create a hard to determine or even incomputable outcome
09:54:48 <myname> are those artistic modifications limited to the front side of the back or can i basically play with a marked deck?
09:55:14 <myname> knowing what i will draw next is quite the strategic information
09:55:24 <b_jonas> myname: you can't mark the backs unless those marks are completely covered by an opaque sleeves, there's a separate rule for that
09:55:44 <myname> :(
09:55:54 <b_jonas> myname: this causes actual problems because cards and/or sleeves become worn and accidentally marked over time
09:56:13 <myname> yeah, like in higurashi
09:56:29 <b_jonas> chapter 3 is relevant on this
09:56:55 <b_jonas> anyway, previously I suggested that rule 5.2 "Bribery" may also be relevant for the Turing Machine setup, but it seems it isn't
09:59:23 <b_jonas> anyway, these rules basically imply that to pull off the combo in a tournament, you have to be able to reconstruct it without prior notes, and do all that fast enough to fit the game or match in the time limit or before the opponent or a judge gets annoyed of you playing very slowly
10:02:06 <oerjan> well ais523 _is_ also a speedrunner :P
10:05:53 <b_jonas> yes. and there are some feats that even speedrunners can't do, because the tool-assisted speedrunners haven't found them a way to break the game completely, so they actually have to, like, play levels rather than just warp to the end
10:05:59 -!- arseniiv has joined.
10:06:04 <b_jonas> some games are too well programmed
10:07:49 <b_jonas> interesting examples are NES Super Mario Brothers, which does have some crazy bugs including wrong-warping to a world that isn't among the eight planned worlds and so behaves strangely, yet that doesn't seem to help you finish the game any faster
10:09:16 <b_jonas> and GB Super Mario Land which is surprisingly bug-free, the only serious bugs I've seen are one that lets you defeat the world 4 boss somewhat quicker (and with a graphical glitch), and one that freezes the game in 4-4 when the star wears off
10:09:35 <b_jonas> but nothing that would let you skip levels or warp to the end of the game
10:09:52 <b_jonas> gtg bye
10:09:53 -!- b_jonas has quit (Quit: leaving).
10:56:45 -!- ddmm_ has quit (Quit: killed).
10:56:45 -!- wmww has quit (Quit: killed).
10:56:50 -!- xylochoron[m] has quit (Quit: killed).
10:57:03 -!- xavo[m] has quit (Quit: killed).
10:57:15 -!- tswett[m] has quit (Quit: killed).
11:00:33 <arseniiv> <b_jonas> but nothing that would let you skip levels or warp to the end of the game <b_jonas> gtg bye => b_jonas warped to the end of the conversation
11:12:26 -!- oerjan has quit (Quit: Warping...).
11:22:42 -!- xavo[m] has joined.
11:28:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
11:37:17 -!- kritixilithos has joined.
11:53:54 -!- MTGBusyBeaver has quit (Remote host closed the connection).
11:55:28 -!- rain1 has joined.
12:06:01 -!- tswett[m] has joined.
12:06:01 -!- xylochoron[m] has joined.
12:06:01 -!- ddmm_ has joined.
12:06:01 -!- wmww has joined.
12:33:51 -!- xkapastel has joined.
12:47:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:53:31 -!- kritixilithos has joined.
13:30:59 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70107&oldid=70009 * PythonshellDebugwindow * (+132) /* Loop while no input program */
13:34:44 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70108&oldid=70056 * PythonshellDebugwindow * (+83) /* Examples */ Reordering + new example
13:43:36 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70109&oldid=70108 * PythonshellDebugwindow * (+1) /* Loop while no input */
13:56:27 -!- b_jonas has joined.
13:56:39 <b_jonas> argh
14:02:19 <rain1> hi
14:14:05 -!- atslash has quit (Ping timeout: 258 seconds).
14:15:16 -!- atslash has joined.
14:20:12 -!- atslash has quit (Read error: Connection reset by peer).
14:20:22 -!- atslash has joined.
14:20:41 <int-e> Ah, the Ponder This February challenge is closed. :)
14:20:56 <int-e> The "intended solution" is funny.
14:26:53 -!- atslash has quit (Ping timeout: 265 seconds).
14:28:40 -!- atslash has joined.
14:41:54 <int-e> arseniiv: The main trick to getting close to the target is that the game is amenable to being split in the middle; if you have snakes leaving five consecutive squares n-5..n-1, and confine all other snakes and ladders to the resulting two parts of the board, you can simply add the expected number of moves to reach square n, and the expected number of moves to get from there to 100. So you can...
14:42:00 <int-e> ...meet in the middle: tabulate solutions for one part of the board, and then go through solutions for the right part and find the best candidates to complete it with a binary search.
14:42:36 <int-e> arseniiv: So it's not *just* brute force, and that made this problem interesting :)
14:43:25 <arseniiv> int-e: hi to you too (:
14:43:58 <int-e> arseniiv: :P (no, you don't have to reply to that. I singled you out because I know you at least looked at the problem briefly :P)
14:44:34 <arseniiv> now I’m coughing :D
14:46:01 -!- kspalaiologos has joined.
15:08:39 -!- rain1 has quit (Quit: Lost terminal).
15:18:23 <longname> {Hot Red King Calamity}
15:18:23 <longname> {Hot Red King Calamity}
15:18:27 <longname> woah
15:18:33 <longname> did not mean to paste
15:24:25 -!- MTGBusyBeaver has joined.
15:43:20 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70110&oldid=70109 * PythonshellDebugwindow * (+11) /* Loop while no input */
16:09:51 -!- imode has joined.
16:20:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:22:44 -!- kritixilithos has joined.
16:56:32 -!- sprocklem has quit (Ping timeout: 256 seconds).
16:59:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:03:10 -!- xkapastel has quit (Quit: Connection closed for inactivity).
17:29:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
17:31:00 -!- xelxebar has joined.
17:43:05 <arseniiv> my laziness again ends up in that I want to program something but I’m bored and don’t want anything coming to my mind
17:43:20 <arseniiv> that’s unhealthy
17:46:01 -!- LKoen has joined.
17:48:38 <int-e> arseniiv: I have plenty of ways to make this worse if you're intestested.
17:49:05 -!- sprocklem has joined.
17:52:25 <arseniiv> int-e: :) for example?
17:53:10 <int-e> arseniiv: webcomics, project euler, various youtubes
17:54:13 <int-e> (For example I've watched way too much "8 out of 10 cats does Countdown" episodes recently)
17:55:44 <arseniiv> don’t know what that is. I suppose I shouldn’t check?
17:57:06 <arseniiv> project euler => ah. You wouldn’t believe but I hadn’t tried anything like this either, though I considered why not (and then proceeded with the not)
17:57:08 <int-e> arseniiv: it's a mock version of https://en.wikipedia.org/wiki/Countdown_(game_show)
17:57:44 <arseniiv> int-e: I see
17:58:18 <int-e> arseniiv: so it's pretty harmless (and, to me at least, entertaining), but it takes time, of course.
18:01:24 -!- sprocklem has quit (Ping timeout: 258 seconds).
18:01:24 -!- xkapastel has joined.
18:02:21 <int-e> arseniiv: and if all else fails you can get into a fight with some stupid person on ##math :P
18:02:42 <int-e> Living the dream: https://xkcd.com/386/
18:03:53 <int-e> It won't make you feel any better, it'll just make you older. :P
18:08:45 <arseniiv> int-e: yeah arguing with people over the fact their approach to divide by zero isn’t sensible is quite unbearable these times
18:10:29 <arseniiv> I’m only glad I haven’t stuck myself even once in an argument about parity of zero
18:11:01 <int-e> zero is even. two is the odd prime. that seems to exhaust the topic ;)
18:12:08 <arseniiv> but even these times I still rarely make a grave mistake on a local forum and only then realize what I’ve done and that it’s already written in the furniture of space-time
18:12:12 <arseniiv> I mean, fabric
18:12:35 <arseniiv> <int-e> zero is even. two is the odd prime. that seems to exhaust the topic ;) => what about primality of one?
18:13:21 <arseniiv> though, there are of course many far weirder things to argue about with strange people, of course
18:13:43 <int-e> arseniiv: every definition of primes I've ever seen excluded 1. :P
18:14:03 <arseniiv> yeah I agree it shouldn’t be prime
18:14:29 <int-e> interestingly this is far less contentious than the question whether 0 is a natural number, or whether 0^0 should be 1 or undefined.
18:15:50 <arseniiv> I think the main fallacy of why people want to have 1 prime is that they don’t sufficiently understand the theorem about prime decomposition and can’t see why “prime vs. composite” is a false dichotomy
18:16:16 -!- rain1 has joined.
18:16:59 <arseniiv> <int-e> interestingly this is far less contentious than the question whether 0 is a natural number, or whether 0^0 should be 1 or undefined. => ah, yeah, just about anyone has a strong opinion on these (mine are yes and 1, resp.)
18:19:04 <int-e> The worst discussions are usually those about 0.999... = 1 though, because invariably the people arguing don't have a firm enough grasp on the definition of the reals and the alternatives to have a meaningful discussion about this.
18:19:49 <arseniiv> unfortunately the historic tradition in here is to exclude zero. Then they say “ah your CS and set theory and whatnot may benefit from a natural zero, but don’t you touch our analysis and here, take our beloved limit of x^y for several different bases)
18:20:01 -!- Phantom_Hoover has joined.
18:20:19 <arseniiv> oh, 0.(9) = 1 is a sad thing, yes
18:21:29 <int-e> . o O ( Decimal expansions with digits indexed by a non-standard model of the natural numbers. )
18:21:31 <arseniiv> it seems I forgot to close the quote, here now”
18:22:13 <int-e> I believe 0 is slowly winning over mathematicians as well.
18:23:14 <arseniiv> <int-e> . o O ( Decimal expansions with digits indexed by a non-standard model of the natural numbers. ) => yeah I thought about that a few times but didn’t think it would lead to something not already known
18:26:00 -!- kritixilithos has joined.
18:26:10 <int-e> arseniiv: My favorite idea involves surreal numbers, but decimal expansions are not adequate for describing those.
18:28:16 <arseniiv> int-e: BTW don’t you know how these compare to Puiseux series? I think the latter were a smaller set?
18:30:17 <int-e> What's that... fancy. But they are a set. (Surreal numbers are a proper class.)
18:31:01 <int-e> (Which is one of the facets that makes them surreal.)
18:31:45 -!- kritixilithos has quit (Quit: quit).
18:36:25 <arseniiv> (Surreal numbers are a proper class.) => ah yeah I forgot about that, that settles it
18:40:28 -!- rain1 has quit (Quit: Lost terminal).
18:49:45 -!- LKoen has quit (Remote host closed the connection).
18:50:56 -!- LKoen has joined.
18:57:32 -!- MTGBusyBeaver2 has joined.
18:58:31 -!- FreeFull has joined.
19:06:33 -!- LKoen has quit (Remote host closed the connection).
19:06:51 -!- LKoen has joined.
19:11:34 <esowiki> [[Special:Log/newusers]] create * FortyTwo * New user account
19:31:57 <kspalaiologos> #esoteric's <=> #math for some time now
19:32:14 <b_jonas> more arghj
19:32:34 <kspalaiologos> :p
19:33:08 <kspalaiologos> yet again I'm doing useless brainfuck stuff instead of taking on something that has sense
19:33:19 <kspalaiologos> wrapping my head on implementing an itoa-like hex mechanism
19:34:14 <kspalaiologos> i'd really like to do this without reversing but I'm a bit worried to have my taperam smashed when the number's big enough if I start from the end
19:34:46 <kspalaiologos> but I mean is it worth it to support bignum brainfuck interpreters being 0.00001% of the total
19:43:35 -!- Lord_of_Life_ has joined.
19:45:27 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
19:46:23 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:53:01 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70111&oldid=70076 * FortyTwo * (+209)
19:53:22 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70112&oldid=68770 * FortyTwo * (+806) /* The Waterfall Model UTM */ new section
19:53:33 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70113&oldid=70112 * FortyTwo * (+84) /* The Waterfall Model UTM */
19:58:52 -!- LKoen has quit (Remote host closed the connection).
20:14:01 -!- LKoen has joined.
20:19:47 -!- kspalaiologos has quit (Quit: Leaving).
20:35:57 -!- LKoen has quit (Remote host closed the connection).
20:37:31 -!- LKoen has joined.
20:56:28 <esowiki> [[Lisp]] M https://esolangs.org/w/index.php?diff=70114&oldid=69409 * PythonshellDebugwindow * (-1) fiX grammar
20:57:03 -!- LKoen has quit (Remote host closed the connection).
21:00:56 -!- LKoen has joined.
21:04:04 -!- LKoen has quit (Remote host closed the connection).
21:05:05 -!- LKoen has joined.
21:36:50 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds).
22:01:49 <esowiki> [[User:PythonshellDebugwindow/Sandbox]] N https://esolangs.org/w/index.php?oldid=70115 * PythonshellDebugwindow * (+2697) No name yet..
22:29:26 <esowiki> [[Iflang]] N https://esolangs.org/w/index.php?oldid=70116 * Hanzlu * (+1386) Created page with "Iflang is a language created in 2020 by [[User:Hanzlu]]. The memory consists of two cells, both containing 1 bit each. The language is supposed to be useless. {| class="wikit..."
22:31:03 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:31:37 <esowiki> [[Iflang]] https://esolangs.org/w/index.php?diff=70117&oldid=70116 * Hanzlu * (+45)
22:33:35 <esowiki> [[Iflang]] https://esolangs.org/w/index.php?diff=70118&oldid=70117 * Hanzlu * (+0)
22:52:46 <esowiki> [[ALIMBIHNN]] N https://esolangs.org/w/index.php?oldid=70119 * Hanzlu * (+7106) Created page with "A Language I Made But It Has No Name import random import time file = open("code", "r") code = file.read() userfile = "" usercode = "" userptr = 0 useropen = Fals..."
22:53:05 -!- ArthurStrong has joined.
22:53:10 -!- sprocklem has joined.
23:00:47 -!- xkapastel has quit (Quit: Connection closed for inactivity).
23:58:18 -!- xelxebar has quit (Remote host closed the connection).
00:06:39 -!- xelxebar has joined.
00:28:47 -!- MTGBusyBeaver2 has quit (Remote host closed the connection).
00:38:32 -!- arseniiv has quit (Ping timeout: 258 seconds).
00:50:52 <esowiki> [[User:PythonshellDebugwindow/Sandbox]] M https://esolangs.org/w/index.php?diff=70120&oldid=70115 * PythonshellDebugwindow * (+138) /* Glossary */
00:55:56 -!- atslash has quit (Read error: Connection reset by peer).
00:57:14 -!- atslash has joined.
02:01:16 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70121&oldid=70113 * Ais523 * (+591) /* The Waterfall Model UTM */ I don't know the minimum, but it's a lot less than 124
02:02:35 -!- Sgeo_ has joined.
02:05:26 -!- Sgeo has quit (Ping timeout: 240 seconds).
03:00:14 -!- ais523 has joined.
03:00:49 <ais523> re the M:tG Turing machine: if all you want is a TWM problem that the judges won't be able to work out the resolution of, I recommend quadratic residuosity
03:00:56 <ais523> which should be pretty easy to implement in TWM
03:01:18 <ais523> I posted https://crypto.stackexchange.com/questions/70743/what-makes-the-quadratic-residuosity-problem-hard as a setup for encoding QRosity into TWM, hopefully in a program that's small enough to memorise
03:01:47 <ais523> (the issue being that we need to find an example program for which there's no known way to discover whether it halts or not in a viable length of time)
03:06:06 -!- Phantom_Hoover has joined.
03:06:11 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:11:10 <ais523> MTGBusyBeaver: I'm going to bed now but I'll try to get online tomorrow, the idea of combining a universal computer and a no-infinite-loops deck hadn't occured to me at all but is the sort of ridiculousness I approve of
03:11:30 -!- ais523 has quit (Quit: bedtime).
03:20:17 -!- ArthurStrong has quit (Quit: leaving).
03:25:23 -!- tromp has quit (Remote host closed the connection).
03:50:56 <Hooloovo0> I think some of the more simple ones I've seen in other ]]
03:51:18 <Hooloovo0> err other simple systems are a twin prime checker and a collatz relative in CGOL
03:51:34 <Hooloovo0> but those are still pretty complicated, and aided by the 2d nature of the CA
04:08:36 -!- diverger has quit (Ping timeout: 256 seconds).
04:09:40 -!- diverger has joined.
04:52:47 <MTGBusyBeaver> Thanks ais523, unsolved problems arent actually very good, as either it is proved false in which case the machine never halts, or there is a counter example probably at less than 10^^^10, which is a score we can already beat.
04:53:26 <MTGBusyBeaver> So we want to implement the biggest busy beaver machine possible
04:55:20 <MTGBusyBeaver> But that is limited by the namespace, so we really get the improvement via a UTM.
04:58:13 <MTGBusyBeaver> How does a waterfall UTM work? We can get oodles of googles as the variables in a waterfall program, what sort of ratio are we getting for the inputs to the size of machine simulated?
05:02:26 <MTGBusyBeaver> Not to mention that we can iterate the UTM to get BB(BB(....BB(X)...))
06:04:29 -!- FreeFull has quit.
07:46:03 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
07:46:27 -!- Lord_of_Life has joined.
08:01:42 -!- tromp has joined.
08:14:02 <b_jonas> no you can't
08:14:11 <b_jonas> you can't get BB(BB(X))
08:17:04 <b_jonas> (also I find it ridiculous when an ultrafinitist argues that 10**400 might not exist, but if you talk about BB(BB(X)) I might have some more sympathy to their side)
08:20:39 <b_jonas> what you can get is BB(X) for a large X, just by putting O(X) (or maybe O(2)**X) tokens somewhere into the waterfall program, so you can't just compute BB(100), which is already ridiculous, but BB(10**(10**100))
08:25:41 <b_jonas> heck, you very likely can't even get BB(100), you can only pick a long-running program that you can prove will finish
08:25:51 <b_jonas> and that won't run for anything close to BB(100) turns
08:26:11 <b_jonas> though it can run longer than most of the other M:tG loop constructions
08:29:16 <esowiki> [[Int**]] https://esolangs.org/w/index.php?diff=70122&oldid=70071 * Hakerh400 * (-15) /* Computational class */
08:29:21 <esowiki> [[Talk:Int**]] https://esolangs.org/w/index.php?diff=70123&oldid=70075 * Hakerh400 * (+2104) /* Consistency */
08:34:02 -!- imode has quit (Ping timeout: 256 seconds).
09:10:37 <tromp> int-e: how to reconnect in a private chat?
09:14:52 -!- trn has quit (Read error: Connection reset by peer).
09:25:42 <esowiki> [[Special:Log/newusers]] create * JulienDelplanque * New user account
09:25:47 -!- trn has joined.
09:33:25 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70124&oldid=70111 * JulienDelplanque * (+211) Added myself.
09:35:43 -!- b_jonas has quit (Quit: leaving).
09:40:26 <tromp> int-e: your unsatisfiability proof is correct, except that the center using all 3 colors can only be concluded in the 6th diagram
09:44:44 -!- atslash has quit (Read error: Connection reset by peer).
09:45:01 -!- atslash has joined.
09:55:02 -!- cpressey has joined.
11:12:55 -!- longname has quit (Read error: Connection reset by peer).
11:15:48 -!- longname has joined.
11:16:58 <esowiki> [[BytePusher]] https://esolangs.org/w/index.php?diff=70125&oldid=65631 * JulienDelplanque * (+118) Added Pharo BytePusher VM.
11:32:06 -!- xkapastel has joined.
11:38:44 -!- longname has quit (Read error: Connection reset by peer).
11:41:13 -!- longname has joined.
11:48:29 -!- arseniiv has joined.
12:01:36 <esowiki> [[User:ThisIsTheFoxe]] https://esolangs.org/w/index.php?diff=70126&oldid=63860 * ThisIsTheFoxe * (+14) /* Links n' Stuff update URL*/
12:01:54 <esowiki> [[User:ThisIsTheFoxe]] M https://esolangs.org/w/index.php?diff=70127&oldid=70126 * ThisIsTheFoxe * (+1) /* Links n' Stuff */
12:02:27 <esowiki> [[User:ThisIsTheFoxe]] M https://esolangs.org/w/index.php?diff=70128&oldid=70127 * ThisIsTheFoxe * (+7) /* Links n' Stuff */
12:21:41 <esowiki> [[Segreq]] N https://esolangs.org/w/index.php?oldid=70129 * Hanzlu * (+3251) Created page with "Segreq (SEcond GRade EQuation) is a language created in 2020 by [[User:Hanzlu]]. The language operates on a row of cells and a stack. The commands in the language are second..."
12:28:32 <esowiki> [[Segreq]] https://esolangs.org/w/index.php?diff=70130&oldid=70129 * Hanzlu * (+40)
12:30:06 -!- kritixilithos has joined.
12:47:34 -!- ais523 has joined.
12:54:20 -!- pikhq has quit (Read error: Connection reset by peer).
12:54:37 -!- pikhq has joined.
12:55:00 -!- ^[ has quit (Read error: Connection reset by peer).
12:55:30 -!- ^[ has joined.
12:55:35 -!- ais523 has quit (Remote host closed the connection).
12:56:48 -!- ais523 has joined.
13:03:11 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70131&oldid=70119 * Hanzlu * (+204)
13:05:10 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70132&oldid=70131 * Hanzlu * (-1)
13:05:54 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70133&oldid=70132 * Hanzlu * (+97)
13:14:49 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70134&oldid=70133 * Hanzlu * (+0)
13:29:57 <esowiki> [[User:PythonshellDebugwindow/Sandbox]] M https://esolangs.org/w/index.php?diff=70135&oldid=70120 * PythonshellDebugwindow * (+2312) /* Operators */ and /* Branching */
13:32:36 <ais523> b_jonas: I think MTGBusyBeaver's point is that you can create an M:tG deck that's capable of simulating all The Waterfall Model programs below a specific size, but can't get any output from the simulations unless they halt
13:32:47 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70136&oldid=70134 * Hanzlu * (+96)
13:32:51 <esowiki> [[User:PythonshellDebugwindow/Sandbox]] M https://esolangs.org/w/index.php?diff=70137&oldid=70135 * PythonshellDebugwindow * (+196) /* Variables */
13:33:23 <ais523> the question is now "how much damage can this deck do turn 1?", which is a busy beaver problem, as it'll depend on which program produces the largest output
13:34:28 <ais523> it doesn't require you to find some specific program (although it's helpful to show that you can at least construct a UTM, because that gives you a bound on how fast the busy beaver function grows in this context)
13:34:39 <esowiki> [[User:PythonshellDebugwindow/Sandbox]] M https://esolangs.org/w/index.php?diff=70138&oldid=70137 * PythonshellDebugwindow * (+80) /* Subpages */
13:35:12 -!- Tembai has joined.
13:37:26 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70139&oldid=70136 * Hanzlu * (+95)
13:46:27 -!- b_jonas has joined.
13:49:52 <esowiki> [[User:PythonshellDebugwindow/Sandbox]] M https://esolangs.org/w/index.php?diff=70140&oldid=70138 * PythonshellDebugwindow * (+1036) /* Functions */
13:50:03 -!- sprocklem has quit (Ping timeout: 268 seconds).
13:51:03 <esowiki> [[User:PythonshellDebugwindow/Sandbox]] M https://esolangs.org/w/index.php?diff=70141&oldid=70140 * PythonshellDebugwindow * (+72) /* Glossary */
14:07:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:12:45 -!- kritixilithos has joined.
14:22:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:24:59 -!- kritixilithos has joined.
14:29:11 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70142&oldid=70139 * Hanzlu * (-7412) Replaced content with "A Language I Made But It Has No Name The language is supposed to be similar to English written text and rather easy to use and read. Interpreter [https://github.com/Hanz..."
14:49:59 <ais523> MTGBusyBeaver: fwiw, I'm concerned about the use of Arcbond in the construction; what's to prevent a player setting up an infinitely looping machine without protecting the opponent from Arcbond, and doing infinite damage that way?
14:50:16 <ais523> or does the fact that the opponent loses at 0 life count as stopping the loop, and thus it isn't infinite damage unless you do it all at once?
14:58:03 -!- kritixil1 has joined.
15:00:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
15:02:23 -!- kritixil1 has quit (Ping timeout: 240 seconds).
15:03:57 -!- kritixil1 has joined.
15:05:47 <MTGBusyBeaver> yes if the opponent dies thegame ends.
15:07:02 -!- kspalaiologos has joined.
15:07:33 -!- sprocklem has joined.
15:11:02 <MTGBusyBeaver> as for iterating the BB function, why is that not something we can do? The BB machine outputs a lot of some resource, then we use that resource to build an even bigger TM and use a more finite resource to trigger the run.
15:11:27 -!- Tembai has quit (Remote host closed the connection).
15:13:21 <int-e> The busy beaver function is uncomputable.
15:13:51 <MTGBusyBeaver> but it is by definition some finite number
15:14:15 <MTGBusyBeaver> we will never know it exactly
15:15:14 <int-e> But it's a function, so it's not just a single number.
15:17:40 <MTGBusyBeaver> BB(X) is the busy beaver number of a turing machine of size X, taking the integers to the integers, so BB(BB(X)) is a well formed statement, even though we will never be able to evaluate it
15:17:42 <int-e> There's a conceptual gap here somewhere. For example, we can create a Turing machine, that, given n, outputs a sequence lower bounds for the busy beaver function, such that the last value output is the value of the busy beaver function itself.
15:19:47 <MTGBusyBeaver> But that TM never halts?
15:20:37 <int-e> I don't get how you intend to accomplish that iteration.
15:22:34 <MTGBusyBeaver> Because the MTG:TM incidentially outputs lets say life for us. and the size of the TM we can make is limited by our life, and running the TM takes something else eg: red mana.
15:23:29 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70143&oldid=70142 * Hanzlu * (+1889)
15:24:00 <MTGBusyBeaver> so say we start with a combo that makes X life and 5 red, then use our TM to turn 1 red into BB(X)
15:24:42 <MTGBusyBeaver> then we can spend another red after the BB machine halts to run BB(BB(X))
15:25:01 <int-e> There is no TM that computes BB(X), given X.
15:25:45 <MTGBusyBeaver> But there is a size X machine that outputs BB(X)
15:26:35 <int-e> Yes (more or less). But *you* have to know what that machine is when setting up the computation.
15:26:56 <int-e> And when you iterate, *you* have to come up with the TM of size BB(X) that outputs BB(BB(X))?
15:29:25 <MTGBusyBeaver> No we don't, knowing the machine exists is enough to define it.
15:29:57 <int-e> ...
15:30:09 <MTGBusyBeaver> for our purposes at least
15:30:27 <int-e> I'm missing something about the intention here.
15:30:54 <int-e> I thought you wanted to leave the game in a state where there are no choices left, and leave it to the arbiter to run it to its conclusion.
15:31:15 <MTGBusyBeaver> no, we want to do the most damage possible.
15:31:45 <int-e> Are you doing something like assuming best play by both players?
15:32:28 <int-e> (I suppose that would bring you into ATM territory where you can play such tricks indeed.)
15:32:41 <int-e> (But again, all the burden of finding the machines would be on the players.)
15:33:09 <MTGBusyBeaver> a little stronger than that. Our opponent knows what we are trying and is trying to either minimze the total damage or disqualify the deck by allowing it to go infinite.
15:35:23 <MTGBusyBeaver> single card draw is a Demonic Tutor in disguise: you can assume that the order of your deck is exactly what you want it to be. This veers pretty heavily into magical christmasland, but if we didn’t do it this way you’d have to figure out the average amount of damage a deck could deal, which is probably impossible.
15:35:24 <MTGBusyBeaver> with a deck of 60 wastes. However, they are still playing to stop you: if you give your opponent a choice, they will pick whichever one is worse for you. The only exception is that they won’t concede the game. This is a sadistic goldfish that wants to make you play it out.
15:35:24 <MTGBusyBeaver> of the time, so we define it like this: when you make your deck, I pick a finite number, say, a million, or Graham’s Number, or four. If, no matter what number I pick, there’s a line your deck can take that will deal at least that much damage, your deck goes infinite and is disqualified.
15:35:25 <MTGBusyBeaver> magic apply: if I put 80,000,000 copies of Shock on the stack and target my opponent with each one, they’ll die on the tenth one, and I’ll have dealt only 20 damage. In practice, that means you’re either winning with a giant X-spell or by attacking with a lot of very big creatures.
15:37:45 <cpressey> "Do the most damage possible in MtG" reminds me a lot of "Name the Biggest Number": https://www.scottaaronson.com/writings/bignumbers.html
15:38:20 <int-e> cpressey: I'll be generous and let you go first.
15:38:36 <int-e> (That's how it works, doesn't it?)
15:38:57 <tromp> int-e: did you say you had a less-than in 58 bits with coroutines?
15:40:34 <int-e> tromp: Yes.
15:40:50 <tromp> i was able to reproduce that:)
15:41:14 <tromp> much more straightforward than your div and even your min
15:41:33 <int-e> tromp: I thought that if you take 'min' as the blueprint you should be able to find the comparisons :)
15:41:35 <tromp> i see now what you mean by div (m+1) being ewsier
15:41:38 <cpressey> You can work on BB(10) and you can have a working theory for what BB(10) might be but you'll never know if it actually is BB(10). Similarly, you could work on BB(BB(10)) but you have to revise your theory about BB(BB(10)) every time you revise your theory about BB(10).
15:42:12 <tromp> still surprising that you can do div m with only an additional appllication to id
15:42:16 <int-e> tromp: It has occurred to me that maybe a divisibility test would be a tad shorter than the modulo operation.
15:43:08 <int-e> (I haven't put that one to the test though, yet.)
15:45:05 <MTGBusyBeaver> that's not a problem? We are basically playing that name the biggest number game, We can get a bit beyond Ackermann numbers in standard.
15:45:24 <MTGBusyBeaver> (though on a later turn)
15:48:09 <tromp> int-e: did you also try a less-than-or-equal ?
15:48:22 <int-e> tromp: it's the same?
15:48:31 <int-e> tromp: I mean, swap the arguments and true and false
15:49:15 <tromp> good point:-)
15:51:23 -!- kritixil1 has quit (Ping timeout: 240 seconds).
15:54:19 -!- sprocklem has quit (Ping timeout: 258 seconds).
15:56:59 -!- kritixil1 has joined.
16:00:54 <int-e> MTGBusyBeaver: Which is fine. Basically you're looking for busy beavers, where the model of computation of M:tG. You can define a busy beaver function for that, say in terms of the deck size.
16:01:06 <int-e> MTGBusyBeaver: But none of that lets you iterate the busy beaver function itself.
16:01:14 <int-e> Because it's uncomputable.
16:01:54 <MTGBusyBeaver> only this week we worked out a turing machine setup that works in the rules,
16:02:36 <MTGBusyBeaver> and can set it up to be repeatable some finite number of times
16:03:16 <Taneb> There's no Turing machine that computes BB(x)
16:04:33 <MTGBusyBeaver> No, but there is some turing machine of size x that outputs BB(x)
16:05:04 <Taneb> There's certainly one that takes that many cycles to halt
16:05:37 <Taneb> Or well, writes that number of 1s on the tape
16:06:04 <int-e> Maybe "there's a line in your deck" is not precise enough.
16:06:05 <Taneb> You can't then take that number and emit BB(BB(x)) without knowing the answer beforehand
16:06:20 <int-e> What does that mean, exactly?
16:06:31 <Taneb> At which point, why not just do that directly? Why not go straight to BB(BB(x)) + 1?
16:06:41 <int-e> (Who gets to make the choices for that line of play?)
16:06:49 <MTGBusyBeaver> the opponent
16:07:00 <int-e> Yeah then you have no alternation.
16:07:13 <int-e> So no way of iterating the busy beaver function at all, not even theoretically.
16:07:16 <MTGBusyBeaver> why?
16:07:40 <tromp> int-e: please add div test term to the repo if it offers nontrivial improvement over mod size
16:07:53 <int-e> Because the opponent will just pick a non-terminating TM instead.
16:08:07 <tromp> shld be called divides.lam i guess
16:08:11 <MTGBusyBeaver> but a ton terminating TM doesnt do any damage
16:08:16 <MTGBusyBeaver> non*
16:08:30 <int-e> MTGBusyBeaver: "non-terminating" was for "something that does infinite damage".
16:08:38 <int-e> or unbounded, which is the same.
16:08:59 <MTGBusyBeaver> but the only way to do damage is by attacking with all the giant creatures the TM makes
16:09:08 <MTGBusyBeaver> if the TM never halts we cant attack
16:09:52 -!- sprocklem has joined.
16:11:36 <int-e> Hmm. I see, I'm wrong about needing alternation.
16:12:09 <int-e> Plain non-determinism is enough, and you get that.
16:13:08 <MTGBusyBeaver> we need the TM to be deterministic, or we can just loop for an arbitrary amount of time and then halt
16:13:44 <int-e> The non-determinism is in the choices the player can make in setting up that TM.
16:14:40 <MTGBusyBeaver> yes we have that
16:16:30 <MTGBusyBeaver> The working TM implementation of the Waterfall Model is here: https://www.mtgsalvation.com/forums/magic-fundamentals/magic-general/615089-most-turn-1-damage-in-a-deck-with-no-infinite?comment=2434
16:17:58 <int-e> So we have: NTM A(n): guess TM B of size n; run B to completion; return number of steps taken, and a computational model that discards all non-terminating runs and picks the maximum value produced by the others.
16:18:26 -!- imode has joined.
16:20:29 <MTGBusyBeaver> pretty much
16:21:12 <cpressey> "a computational model that discards all non-terminating runs"
16:21:54 <MTGBusyBeaver> a run that never terminates does no damage and scores zero
16:22:33 <cpressey> How do you propose to test a run to see if it will never terminate
16:23:25 <imode> very carefully. ;)
16:24:22 <MTGBusyBeaver> we don't need to every actually construct the busy beaver machines, just know that they are bounded by BB(n)
16:24:22 <int-e> cpressey: You don't.
16:24:47 <int-e> cpressey: It's a perfectly fine definition, just not computable.
16:25:21 <int-e> MTGBusyBeaver: Obviously to actually deal that amount of money you still have to fine the busy beavers.
16:25:25 <int-e> money?
16:25:30 <int-e> Fun brain fart.
16:25:35 <int-e> I meant damage.
16:26:39 <imode> didn't know you bet on MTG int-e. :P
16:26:57 <MTGBusyBeaver> well we just want to set bounds for the damage, highest lowest bound with an upper bound wins
16:27:00 <int-e> imode: I don't. But I imagine it would be as good a way of losing money as all the others.
16:28:06 <imode> high-stakes MTG tournaments lmao.
16:28:27 <MTGBusyBeaver> so we can bound it by BB(...BB(X)...)
16:29:26 <MTGBusyBeaver> BB^X(X) for some large X
16:32:43 <cpressey> int-e: Did you notice you didn't stop at "money", you also said "fine" for "find"?
16:34:00 <cpressey> Image of a parking patroller tucking a ticket under the wipers on a Turing machine.
16:34:49 <fizzie> int-e's all about the money, all about the dum dum da da dum dum.
16:35:16 <int-e> cpressey: No I had not noticed that.
16:35:30 <int-e> cpressey: That's a plausible typo though, at least.
16:36:39 <cpressey> I'm a little unclear on whether just having a (perfectly fine) definition is sufficient for MtG, or if you have to actually, you know, be able to compute it, in order to take your turn.
16:37:24 <int-e> cpressey: I think it works just as MTGBusyBeaver claims... you don't need to know what the upper bound is, just that it exists.
16:38:34 <esowiki> [[Special:Log/newusers]] create * Micky * New user account
16:39:06 <int-e> cpressey: And the trick is, non-termination doesn't kill you; it's only the things that do terminate that eventually deal you any damage.
16:39:48 <MTGBusyBeaver> We'd like to be a little less handwavey and at least explicitly construct/explain/justify the UTM in the Waterfall method
16:40:26 <int-e> cpressey: It's a really funny situation where given a candidate for an upper bound you'll (probably) never be able to tell whether it's big enough already :)
16:40:27 <MTGBusyBeaver> as we are limited to 124 waterclocks
16:40:30 <cpressey> So "In principle there's a TM that deals a huge amount of damage because it computes BB(...(BB(10)...), but I don't know exactly what that TM is" is sufficient?
16:40:38 <cpressey> If so then OK
16:41:07 <int-e> cpressey: No, it's an NTM that computes that thing, and we do know what that NTM is.
16:41:18 <MTGBusyBeaver> we are the NTM
16:41:20 <int-e> But we can't run NTMs in practice.
16:41:46 <cpressey> Um
16:42:32 <int-e> cpressey: Somewhere, internally, that NTM *guesses* the actual TM.
16:43:09 <MTGBusyBeaver> There are only finitely many possible TMs of a given size
16:43:12 <int-e> Or TMs, plural. One that computes BB(10), one that computes BB(BB(10)), and so on.
16:43:35 <cpressey> "An NTM guesses a TM" is roughly the same as "In principle there's a TM", what I said
16:43:50 <int-e> cpressey: True.
16:44:25 <int-e> But also kind of missing the point; for any natural number n, there's a TM that computes n.
16:44:29 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70144&oldid=70124 * Micky * (+438) /* Introductions */ Hi
16:45:12 <int-e> But I didn't mention the size constraint either, so I'm not sure what my objection is.
16:52:35 -!- sprocklem has quit (Ping timeout: 268 seconds).
16:54:21 <esowiki> [[Special:Log/move]] move * PythonshellDebugwindow * moved [[User:PythonshellDebugwindow/Sandbox]] to [[User:PythonshellDebugwindow/(Unnamed language)]]: Deserves its own page
16:54:38 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70147&oldid=70145 * PythonshellDebugwindow * (-21) /* (Unnamed language) */
16:55:16 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70148&oldid=70107 * PythonshellDebugwindow * (+80) /* Languages */
16:56:52 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70149&oldid=70147 * PythonshellDebugwindow * (+89) /* Datatypes */
16:58:32 -!- cpressey has quit (Quit: A la prochaine.).
17:00:31 <arseniiv> <MTGBusyBeaver> we are the NTM => I would doubt that
17:01:31 <int-e> many-world quantum physics gets somewhat close
17:01:43 <int-e> but even that has a hard time collecting results
17:08:58 <ais523> I guess the idea with this Magic construction is that it lets you calculate any number a UTM can calculate
17:09:04 <ais523> up to a certain size n
17:09:21 <ais523> so we know that it's capable of calculating BB(n) and no higher number, but we don't know what input you have to give it to produce that
17:09:59 <ais523> there doesn't seem to be a conceputal issue with iterating that: you could perhaps modify it so that it's capable of calculating a range of numbers of which the highest is BB(BB(n)), given the appropriate input
17:10:02 <ais523> but not be able to determine what that input is
17:10:21 <ais523> the reason this works is that what we have is, conceptually, an interpreter that refuses to run non-halting programs
17:11:09 <ais523> I really should create a universal interpreter for some TC language in TWM some day, even if it's far from optimal
17:11:14 <ais523> just to get a baseline
17:11:26 <ais523> on how many waterclocks you need
17:11:33 <ais523> I keep on getting sidetracked trying to optimise it
17:11:51 <MTGBusyBeaver> yeah, even if it is inefficient as long as it works with 124 waterclocks
17:12:10 <MTGBusyBeaver> which is probably way more than needed
17:12:41 <ais523> well, the limit's a little less than 124 because you need a few creature types to set it up, right? Cat in particular is unusable
17:12:57 <ais523> but much less than 124 seems definitely viable
17:13:28 <MTGBusyBeaver> well the halting clock is one of the 124
17:14:24 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70150&oldid=70149 * PythonshellDebugwindow * (+372) /* Functions */
17:14:49 <MTGBusyBeaver> but we get to use everything else as we can make the setup creatures lose their types (and avoid arcbond damage) with One with the stars
17:14:52 <ais523> I personally count halt states, although not everybody does
17:15:20 <ais523> that's a fun card, and one I came up with myself when brainstorming custom cards (although my version of it was white)
17:16:48 <ais523> `card-by-name One With the Stars
17:16:50 <HackEso> No output.
17:17:03 <ais523> oh right, I need to persuade someone to add Theros Beyond Death to that thing
17:17:08 <ais523> `card-by-name Hungry Lynx
17:17:09 <HackEso> Hungry Lynx \ 1G \ Creature -- Cat \ 2/2 \ Cats you control have protection from Rats. (They can't be blocked, targeted, or dealt damage by Rats.) \ At the beginning of your end step, target opponent creates a 1/1 black Rat creature token with deathtouch. \ Whenever a Rat dies, put a +1/+1 counter on each Cat you control. \ C17-R
17:17:13 <MTGBusyBeaver> Enchanted permanent is an enchantment and loses all other card types. (It still has its abilities, but it’s no longer a creature.)
17:17:25 <ais523> I was mostly just trying to show it off
17:18:05 <ais523> b_jonas: can you update HackEso's M:tG database to include the latest cards? given the current topic of discussion it may well be relevant
17:18:19 <MTGBusyBeaver> well we don't use hungry lynx anymore
17:18:32 <MTGBusyBeaver> 'card-by-name coat of arms
17:18:41 <ais523> backquote, not apostrophe
17:18:51 <ais523> and yes, that was an interesting idea for the construction
17:18:52 <MTGBusyBeaver> `card-by-name coat of arms
17:18:53 <HackEso> Coat of Arms \ 5 \ Artifact \ Each creature gets +1/+1 for each other creature on the battlefield that shares at least one creature type with it. (For example, if two Goblin Warriors and a Goblin Shaman are on the battlefield, each gets +2/+2.) \ EX-R, 7E-R, 8ED-R, 9ED-R, 10E-R, M10-R, DDS-R, H09-R
17:19:06 <ais523> my main aim was to hit the whole thing into a sideboard, so I wanted to do it with as few cards as possible
17:19:22 <ais523> but single-purpose cards are much better for what you're doing
17:20:57 <MTGBusyBeaver> it still fits in a sideboard
17:21:36 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] https://esolangs.org/w/index.php?diff=70151&oldid=70150 * PythonshellDebugwindow * (+245) /* Variables */
17:21:47 <ais523> hmm, neat
17:21:54 <ais523> but Coat of Arms is an artifact, so it might be hard to wish it out of the sideboard
17:23:08 <MTGBusyBeaver> there are several ways to wish for it
17:24:09 <MTGBusyBeaver> `card-by-name Karn, the great creator
17:24:11 <HackEso> No output.
17:24:44 <MTGBusyBeaver> hasn't been updated in a while?
17:24:50 <ais523> right, but the point is that you'd need extra cards in maindeck for sideboard
17:24:54 <ais523> yes, I think it's out of date
17:25:52 <MTGBusyBeaver> Fae of wishes is another pretty generic wish
17:26:12 <MTGBusyBeaver> and Mastermind's acquisition
17:26:28 <ais523> Omni-tell naturally runs multiple Cunning Wish and Burning Wish, which is one of the things that made it such a good shell to set the UTM up
17:26:41 <ais523> like, the whole point was to make a UTM that was tournament-competitive
17:27:19 <MTGBusyBeaver> well wish for Mastermind's acquisition for the rest of the SB
17:28:53 <MTGBusyBeaver> though the sb doesnt have enough slots to ensure your opponent can't interact also.
17:29:08 <MTGBusyBeaver> I think
17:37:24 <ais523> would the presence of Doubling Season mess up an attempt to use the UTM?
17:37:58 <ais523> e.g. by, if it were still on the battlefield at that point, producing too many triggers that could be stacked in awkward ways to introduce player-choosable nondeterminism?
17:40:03 <MTGBusyBeaver> the order the tokens etb doesn't change the operation of TM
17:40:13 <ais523> even if there are too many of them?
17:41:55 <MTGBusyBeaver> if there are more than expected, there will be some other operation we are doing, but it doesnt give us extra choices
17:42:05 <ais523> right, in that case it's fine
17:42:14 <ais523> (assuming we have a way to get rid of the Doubling Seasons, and I suspect we do)
17:43:08 -!- ais523 has changed nick to callforjudgement.
17:43:26 -!- callforjudgement has quit (Quit: sorry for my connection).
17:43:36 <MTGBusyBeaver> yeah, we can bounce them
17:43:40 -!- callforjudgement has joined.
17:43:43 -!- callforjudgement has changed nick to ais523.
17:43:53 <MTGBusyBeaver> we can bounce the doubling seasons
17:44:12 <MTGBusyBeaver> before starting the tm
17:45:17 -!- FreeFull has joined.
17:45:22 <ais523> on a related note, I was trying to prove Android: Netrunner TC a while back, but I don't think it is
17:45:29 <ais523> it has the opposite problem to Yu-Gi-Oh
17:45:45 <ais523> in Yu-Gi-Oh, there are ways to store data but you can't store a program, there just isn't enough room on the playmat
17:46:23 <ais523> in Android: Netrunner, storing a program is trivial (subroutines are a game mechanic!), but although you have a few places to write data, reading it back is incredibly difficult, and I don't think you can get sufficiently many variables that you can read
17:49:07 <ais523> another issue is that the game designers are paranoid about infinite combos of any sort, although I did manage to construct a nontrivial mandatory infinite loop
17:50:29 -!- LKoen has joined.
18:08:05 <ais523> (it involved Always Be Running on the runner side, and two copies of Off the Grid, Whirlpool, Hourglass, and Mirāju on the Corp side, plus one unplayable card in hand; every turn, the runner is forced to run a specific central, is banned from jacking out, loses all their clicks, then puts the corp card from their hand back into their deck)
18:08:22 <ais523> (and on the corp turn they can't do anything but click for credits, assuming their deck is empty)
18:25:14 -!- kritixil1 has quit (Quit: quit).
18:39:22 -!- Melvar has quit (Quit: WeeChat 2.4).
18:41:10 -!- LKoen has quit (Remote host closed the connection).
18:42:51 -!- LKoen has joined.
18:51:16 -!- Melvar has joined.
19:00:53 <int-e> tromp: pushed (non-)divisibility
19:03:48 -!- sprocklem has joined.
19:04:20 <int-e> tromp: (non-divisibility is shorter because of the accident that m false = false for Church numerals m > 0).
19:15:28 -!- LKoen has quit (Remote host closed the connection).
19:21:16 -!- LKoen has joined.
19:44:02 -!- Lord_of_Life_ has joined.
19:46:40 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
19:46:52 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:53:23 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70152&oldid=70094 * Hanzlu * (+16)
19:58:25 -!- tswett[m] has quit (Changing host).
19:58:25 -!- tswett[m] has joined.
19:58:25 -!- tswett[m] has quit (Changing host).
19:58:25 -!- tswett[m] has joined.
19:59:31 -!- kspalaiologos has quit (Quit: Leaving).
19:59:35 -!- ais523 has quit (Quit: quit).
20:03:17 -!- LKoen has quit (Remote host closed the connection).
20:21:38 <b_jonas> MTGBusyBeaver, ais523, int-e: I'll review this conversation about M:tG later, but not this evening. I was busy with some urgent real life stuff.
20:23:05 <b_jonas> ais523: sorry, I can't update the database. so far my copies of Oracle were either a straight copy of Yawgatog's database, or mined from the previous iteration of the Oracle website. now I'll have to download the data from the new Oracle site, which I started once but it got complicated so I suspended it indefinitely, or download Scryfall's more accurate database.
20:23:10 <b_jonas> ideally both and compare them.
20:26:16 <b_jonas> for now I just want to mention that Lifespark Spellbomb; Utopia Sprawl; Freed from the Real is a simple infinite green mana combo that doesn't also let you deal unlimited damage by attacking with a small creature each turn, so that plus Disintegrate lets you deal an unlimited amount of damage only once
20:33:07 <MTGBusyBeaver> yeah, that combo would disqualify the deck as it is not bounded.
20:51:52 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70153&oldid=70151 * PythonshellDebugwindow * (+2) /* Hello, World! */ Fixed heading level
21:02:47 <esowiki> [[Iflang]] https://esolangs.org/w/index.php?diff=70154&oldid=70118 * Hanzlu * (-1431) Blanked the page
21:03:34 <esowiki> [[Iflang]] https://esolangs.org/w/index.php?diff=70155&oldid=70154 * Hanzlu * (+1431) Undo revision 70154 by [[Special:Contributions/Hanzlu|Hanzlu]] ([[User talk:Hanzlu|talk]])
21:18:08 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70156&oldid=70153 * PythonshellDebugwindow * (+217) /* Indentation */
21:43:52 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70157&oldid=70104 * PythonshellDebugwindow * (+15) /* Commands */ Now Ive updated the reference interpreter
21:44:13 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70158&oldid=70143 * Hanzlu * (+2)
21:47:14 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70159&oldid=70157 * PythonshellDebugwindow * (+38) /* Example programs */
21:59:30 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70160&oldid=70159 * PythonshellDebugwindow * (+92) /* Example programs */
22:26:29 -!- shachaf has joined.
22:47:14 -!- MTGBusyBeaver has quit (Remote host closed the connection).
23:13:59 -!- MTGBusyBeaver has joined.
00:06:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
00:14:11 -!- arseniiv has quit (Ping timeout: 258 seconds).
00:15:23 -!- LKoen has joined.
00:22:29 -!- imode has quit (Quit: WeeChat 2.7.1).
00:24:57 <MTGBusyBeaver> bad news for the MTG turing machine for the most damage challenge: Arcbond triggers can be interleaved with death triggers. This seems like a hard problem to fix.
00:41:39 -!- imode has joined.
00:46:39 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70161&oldid=70156 * PythonshellDebugwindow * (+652) /* Input/Output */
01:04:09 -!- LKoen has quit (Remote host closed the connection).
01:26:58 <zzo38> Try the Unusenet newsgroup un2.org.zzo38computer.magic.maths if you are interested in those kind of things with Magic: the Gathering; there may also be some Usenet newsgroups about such thing although I do not know which ones they are.
01:35:38 -!- imode has quit (Ping timeout: 240 seconds).
01:38:59 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70162&oldid=70161 * PythonshellDebugwindow * (+285) /* Cat for 1 char */ FINISH
01:47:47 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70163&oldid=70162 * PythonshellDebugwindow * (+69) /* Interpret PlusOrMinus 1 char at a time */ done
02:16:45 -!- imode has joined.
03:21:53 -!- xkapastel has quit (Quit: Connection closed for inactivity).
03:32:48 -!- longname has quit (Read error: Connection reset by peer).
03:35:54 -!- longname has joined.
04:46:10 -!- imode has quit (Ping timeout: 255 seconds).
04:57:59 -!- FreeFull has quit.
05:30:49 -!- studio has joined.
05:31:19 -!- studio has quit (Read error: Connection reset by peer).
05:59:18 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70164&oldid=70158 * JonoCode9374 * (+60)
06:18:24 <esowiki> [[ZFC++]] N https://esolangs.org/w/index.php?oldid=70165 * Hakerh400 * (+7714) +[[ZFC++]]
06:18:28 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70166&oldid=70152 * Hakerh400 * (+12) +[[ZFC++]]
06:18:29 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=70167&oldid=70087 * Hakerh400 * (+12) +[[ZFC++]]
06:35:26 <esowiki> [[ZFC++]] M https://esolangs.org/w/index.php?diff=70168&oldid=70165 * Hakerh400 * (-1)
07:45:12 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
07:46:37 -!- Lord_of_Life has joined.
08:41:50 -!- b_jonas has quit (Quit: leaving).
09:07:19 -!- ^[ has quit (*.net *.split).
09:07:22 -!- Cale has quit (*.net *.split).
09:07:22 -!- APic has quit (*.net *.split).
09:07:22 -!- Bowserinator has quit (*.net *.split).
09:19:56 -!- arseniiv has joined.
09:43:20 -!- ^[ has joined.
09:43:20 -!- Cale has joined.
09:43:20 -!- APic has joined.
09:43:20 -!- Bowserinator has joined.
09:43:58 -!- APic has quit (Max SendQ exceeded).
09:49:09 -!- APic has joined.
09:58:13 -!- cpressey has joined.
10:12:14 <cpressey> Good morning. I have a vague idea for an esolang. It's like a Turing machine, but instead of writing symbols on the tape, it writes continuations.
10:13:03 <cpressey> Now, if you could compare continuations, you could use them like symbols, and that would be boring, so ideally, what the machine does with these continuations written on its tape, is to continue them.
10:13:17 <cpressey> But I don't know how that would work.
10:15:43 <cpressey> I don't actually think it *would* work. One of the salient aspects of a Turing machine is that it looks at what symbols are on the tape, it compares them against something. To do something far removed from that would be very un-Turing-machine-like.
10:16:23 <cpressey> So maybe you can compare them, even though that's boring.
10:17:07 <cpressey> Or... well, I'll think about it.
10:21:08 -!- wib_jonas has joined.
10:32:17 <cpressey> Maybe tape cells contain pairs of continuations. But what determines which one is chosen?
10:47:22 <cpressey> In the absence of closures, continuations are basically jump labels. Maybe this would be more like OISC et al.
11:23:33 <cpressey> On a Turing machine, jump labels are state labels. So, in this, state labels and symbols are the same thing?
11:24:28 <cpressey> "If the state written on the tape is not S3, transition to state specified on the tape and move head left"
11:24:51 <cpressey> You have to use something like "not", obviously.
11:27:53 <cpressey> But then, you are introducing boolean expressions in these conditions. That's more complexity than a simple table, and it's less pleasing.
11:28:36 <cpressey> But maybe not much, maybe you could still keep it simple somehow.
11:30:13 -!- longname has quit (Read error: Connection reset by peer).
11:32:02 -!- longname has joined.
11:38:52 -!- MTGBusyBeaver has quit (Remote host closed the connection).
12:25:06 <cpressey> "If the state written on the tape is less than the current state, transition to it and write Sn on the tape and move the head L/R. Else if greater, transition to it and write Sm and move L/R. Else transition to Sz and maybe do other stuff."
12:25:23 <cpressey> Which assumes a total order on states but whatever
12:25:47 <cpressey> You can't make an omelette and whatever
12:26:59 <cpressey> I think we can drop "And maybe do other stuff". So every state's tuple is like (state, direction, state, direction, state).
12:27:52 <cpressey> S1=(S4, L, S5, L, S9), and so forth
12:28:05 <cpressey> I think this might work. I don't know that it's very interesting.
12:36:00 <cpressey> Wait wait. Does making two small holes in an egg in order to blow it out count as breaking it? If not, then it should be possible to make an omelette without breaking any eggs.
12:42:06 -!- xkapastel has joined.
13:07:48 -!- laerlingSAP has joined.
13:13:18 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70169&oldid=70163 * PythonshellDebugwindow * (+18) /* Interpret PlusOrMinus 1 char at a time */
13:44:52 -!- kspalaiologos has joined.
14:40:27 <arseniiv> cpressey: an interesting idea!
14:41:31 <arseniiv> what would this turn into if one uses delimited continuations as an inspiration? or (algebraic?) effects?
14:41:33 <longname> Can't you just make one on the bottom and let it all drip out?
14:42:59 <longname> Omletwise, that is, no comment on the esolang idea
14:54:30 <esowiki> [[Special:Log/upload]] upload * JulienDelplanque * uploaded "[[File:Langton ant.png]]"
14:58:35 <esowiki> [[BytePusher]] https://esolangs.org/w/index.php?diff=70171&oldid=70125 * JulienDelplanque * (+230) Added Langton ant BP software.
14:58:45 <arseniiv> what would this turn into if one uses delimited continuations as an inspiration? or (algebraic?) effects? => hm I think these aren’t compatible with the spirit that TC is “imperative”
14:59:33 <int-e> "Do this now!" "I'll do it later and get back to you."
15:00:03 <int-e> (delimited by end of working day? :P)
15:00:58 <int-e> (I still don't get delimited continuations.)
15:01:18 -!- heroux has quit (Ping timeout: 260 seconds).
15:01:24 -!- erdic has quit (Ping timeout: 248 seconds).
15:01:31 <cpressey> I don't pretend to understand what delimited continuations are or how they work
15:01:44 -!- heroux has joined.
15:01:48 -!- erdic has joined.
15:54:41 -!- kspalaiologos2 has joined.
15:55:32 -!- kspalaiologos has quit (Remote host closed the connection).
15:55:39 -!- kspalaiologos2 has changed nick to kspalaiologos.
16:00:34 <kspalaiologos> Any TI wizards out there? Having problems with TI-Connect, I essentially own a TI83+ and a silverlink, I'm able to transfer programs from the calculator to my PC, but not the other way round
16:01:10 <kspalaiologos> always getting an error on TI side saying "error in xmit"
16:01:28 <kspalaiologos> tried various USB ports, tried clearing ram, tried changing batteries
16:01:52 <kspalaiologos> I removed the drivers too
16:02:02 <kspalaiologos> but installed them soon afterwards again
16:03:09 <wib_jonas> kspalaiologos: I suspect that you're the most qualified TI calculator wizard here
16:03:27 <kspalaiologos> interesting
16:03:49 <kspalaiologos> I'm tired of BASIC and I'd like some of my assembly programs sent over. I've got them in a correct .8xp format
16:06:08 <wib_jonas> kspalaiologos: does it work if you transfer the same BASIC program back that you have sent from the calculator?
16:06:10 -!- kspalaiologos has quit (Quit: Leaving).
16:09:48 -!- kspalaiologos has joined.
16:10:06 <kspalaiologos> I did reboot
16:10:17 <kspalaiologos> and I'll check that
16:12:47 -!- imode has joined.
16:13:48 <kspalaiologos> works!
16:13:51 <kspalaiologos> how so
16:15:18 <arseniiv> I have a weird game for y’all: take four points randomly in some area, make a Bézier curve on them, then vary one of the points to make that curve have the least length possible, by hand :o
16:16:51 <arseniiv> <cpressey> I don't pretend to understand what delimited continuations are or how they work => sad :( I think I had some understanding one time, and that required to use a call stack and cut/paste segments of it
16:17:12 <arseniiv> int-e: ^ too
16:17:57 <arseniiv> though I think shift…reset, or was there something less confusing to express them, is nonetheless less clear than effects+handlers
16:19:37 <arseniiv> it’s like `shift` does the work which should be done in another place (cf. try…except for exceptions) and because of that delimited continuations are weird and unhandy. Call/cc is too by virtue of being a `shift` without `reset`
16:19:53 <kspalaiologos> I think I may have compiled my app for ION shell
16:20:01 <kspalaiologos> I changed it to an asm( executable
16:20:09 <kspalaiologos> doesn't work aswell though
16:20:20 <arseniiv> kspalaiologos: what’s ION?
16:20:37 <kspalaiologos> TI83+ shell
16:20:50 <arseniiv> ah
16:21:02 <kspalaiologos> I'll try Devpac8x
16:23:17 <kspalaiologos> xaxaxaxa it worked
16:24:06 <kspalaiologos> it doesn't seem to function though
16:24:12 <kspalaiologos> damn
16:25:08 <kspalaiologos> I'm so out of ideas, what could go wrong
16:28:02 <arseniiv> re. shift…reset: a call to `reset` marks a place in the call stack and then when we call `shift`, that marks the other end of the segment which is cut away and packaged into a delimited continuation which is fed, as a kind of closure, to the function passed to `shift`. If `shift` doesn’t happen, so be it, the `reset` mark would perish when we step out of the call to `reset`. Yes this is more or less easy but nonetheless I’d have an effectful pri
16:28:02 <arseniiv> mitives instead of `shift` and handlers instead of both `reset` points and passing a “handler” to `shift`. This is the way with exceptions (`throw` as a handlerless `shift`, `catch` as a handler, though we don’t get a continuation because the effect is the most boring one possible)
16:31:18 <arseniiv> more specifically, because `throw :: exc -(Throws)> Void`, so if we would get a continuation, it would be an uncallable one (a → Void), and so we usually aren’t given one. If I get it right
16:31:39 <arseniiv> I would need to consult a paper on this if someone would be interested in these details
16:32:03 <int-e> we had a link to a paper here a while ago that cast continuations as evaluation contexts
16:32:25 <arseniiv> int-e: delimited too?
16:32:28 -!- tromp has quit (Remote host closed the connection).
16:32:34 <int-e> yes, delimited
16:32:49 <arseniiv> nice
16:32:51 <int-e> A context being a term with a single hole... it has a root and the hole where you can plug stuff in.
16:33:33 <arseniiv> btw if there’s a formulation more like effectful primitives + handlers instead like shift…reset, I may love delimited continuations back again
16:33:57 <cpressey> OK, so `shift` gets a ... a "delimited continuation" that extends from the `shift` to the `reset`. What happens when you call this "delimited continuation"? I mean, what happens when it finishes?
16:34:14 <cpressey> Does it return to somewhere?
16:34:37 <int-e> cpressey: you plug the argument into the place where reset was invoked.
16:34:48 <cpressey> So it returns to the `reset`.
16:34:59 <cpressey> So it's not a continuation at all, it's a regular function.
16:35:02 <arseniiv> but I think it isn’t too possible as there can be many sorts of effects, and we’ll need dynamic typing in the worst case, static in the best, and then we’ll get algebraic effects
16:35:25 <int-e> It's not really true that 'shift' gets a delimited continuation as an argument either. you can perform actual computations inside shift before `reset` is performed. It's all rather messy.
16:35:26 <arseniiv> cpressey: `shift` effectively would return out of a call to `reset`
16:35:45 <arseniiv> (that is, if it will at all)
16:36:05 <int-e> cpressey: And that part (evaluation before reset) makes it much closer to a continuation
16:36:12 <int-e> s/makes/brings/
16:36:24 <kspalaiologos> verdict: z88dk is garbage, omit it if you'd like to keep your sanity, tigcc doesn't target TI83 at all, therefore there is no C compiler for TI83+
16:36:26 <cpressey> Just never mind, I've already given up again
16:36:31 <int-e> you just "fix" the part where continuations never return.
16:36:31 <arseniiv> int-e: yeah `shift` gets a handler which it applies to a d. continuation
16:37:07 <int-e> (because that part makes continuations highly non-modular)
16:37:25 <int-e> but I'm not convinced that delimited continuations are actually modular, so, meh.
16:37:47 <cpressey> But they have so many useful applications, like...
16:38:03 <cpressey> Uh...
16:38:16 <arseniiv> <cpressey> So it's not a continuation at all, it's a regular function. => it’s both; one of the points of delimited continuations is that they are functions and so are composable and easy to do something with
16:38:41 <int-e> cpressey: Writing papers.
16:39:30 <arseniiv> cpressey: it would be easier with a picture in mind, I think. I read a page somewhere, with simple examples, and now it seems I can succesfully rebuild the understanding from scratch
16:39:48 <arseniiv> I don’t remember what I’ve read though
16:40:49 <cpressey> Maybe I just associate continuations too closely with continuation-passing style.
16:40:49 <int-e> cpressey: I mean they're good for writing papers *about*, of course.
16:41:36 <arseniiv> <int-e> but I'm not convinced that delimited continuations are actually modular, so, meh. => don’t you think that’s because of `shift` taking a handler instead of `reset`? (Because I do)
16:41:41 <int-e> cpressey: Well CPS is special in that the continuations are never duplicated.
16:42:26 <cpressey> int-e: ? I thought CPS was special because *everything* is a continuation (and everything ends by calling another continuation).
16:43:01 <int-e> Sure, it's also special in that way.
16:43:29 <cpressey> Maybe in practice, you'd also never duplicate a continuation, buuut... maybe there's a counterexample for that too, dunno
16:43:55 <arseniiv> CPS is good to implement, yeah. Nonlinear use of continuations seems to be a big problem in implementing analogous things (like alg. effects), as they get too costly AFAIR
16:44:02 <int-e> You don't do callCC in CPS.
16:45:14 <int-e> (where a continuation escapes itself and then later on you might continue at that point in execution several times... which is just weird.)
16:45:20 <arseniiv> BTW is there a computational framework in which CPS translation is trivial (like, you write it in the first place)
16:45:35 <int-e> CPS is a very sand fragment of what continuations can do.
16:45:42 <int-e> *sane
16:46:10 <kspalaiologos> sdcc as always nails the task
16:46:32 <int-e> `? sdcc
16:46:34 <HackEso> sdcc? ¯\(°​_o)/¯
16:47:14 -!- sprocklem has quit (Ping timeout: 265 seconds).
16:50:35 <cpressey> arseniiv: I hesitate to even mention this, but there's a strong similarity between CPS and Haskell's "do" notation
16:51:34 <int-e> ...
16:51:44 <int-e> I think you mean the stuff that the do notation *hides*
16:51:57 <int-e> foo >>= continuation
16:52:01 <cpressey> Right, "what Haskell's 'do' notation desugars to", is what I meant
16:54:57 <cpressey> do { x1 <- action1 ; x2 <- action2 ; mk_action3 x1 x2 }
16:55:02 <cpressey> becomes: action1 >>= (\ x1 -> action2 >>= (\ x2 -> mk_action3 x1 x2 ))
16:56:10 <cpressey> There's obviously some relationship between monads and continuations, and I've even heard people whisper about it on occasion, but I'm not sure I've ever seen it in broad daylight
16:58:09 <cpressey> (I don't think it's Cont. Cont is for people who can't handle CPS without it being wrapped in a monad. Or something.)
17:04:51 <int-e> Cont is more or less CPS, except that it also allows some of the more insane stuff that leads to coroutines and callCC. And I've seen people say that Cont is really implementing delimited continuations rather than full ones. (Obviously there's no way to go beyond the initial runCont. But inside that it felt more like full continuations to me.)
17:06:22 -!- tromp has joined.
17:06:36 <int-e> :t lookup
17:06:37 <lambdabot> Eq a => a -> [(a, b)] -> Maybe b
17:06:40 <int-e> :t M.lookup
17:06:41 <lambdabot> Ord k => k -> M.Map k a -> Maybe a
17:07:42 <int-e> (I find that argument order counter-intuitve)
17:09:47 <int-e> Mostly because it violates the principle that the argument you're less likely to vary should go first, but also because it's the opposite order from M.! and I'd like to use `lookup` as an infix operator. Sigh.
17:11:04 -!- tromp has quit (Ping timeout: 256 seconds).
17:14:25 <cpressey> The answer https://stackoverflow.com/a/3323122 starts with "The first thing to realize about the continuation monad is that, fundamentally, it's not really doing anything at all." and a comment on it rephrases that as "So basically, bind is just CPS-transformed function application?" and I feel those are getting pretty close to the matter.
17:15:32 <cpressey> I still hate and fear monads, btw
17:16:19 <cpressey> Ruination, I tell you
17:16:32 -!- imode has quit (Ping timeout: 258 seconds).
17:17:12 <int-e> cpressey: https://wiki.haskell.org/wikiupload/1/1d/Monica_monad_falconnl.png
17:18:18 <int-e> "This is Monica Monad, and she's a Warm Fuzzy Thing. Just giving a face to SPJ's alternative name for monads :)" (from https://wiki.haskell.org/Haskell_logos/New_logo_ideas which is huge)
17:22:22 <arseniiv> <cpressey> Right, "what Haskell's 'do' notation desugars to", is what I meant => yeah, this is an interesting point! I didn’t connect these two before
17:29:05 <arseniiv> <int-e> (Obviously there's no way to go beyond the initial runCont. But inside that it felt more like full continuations to me.) => I think I’ve seen `reset` implemented using precisely `runCont` in there
17:30:01 <arseniiv> <int-e> Mostly because it violates the principle that the argument you're less likely to vary should go first, but also because it's the opposite order from M.! and I'd like to use `lookup` as an infix operator. Sigh. => yeah I think I was stunned by that too
17:30:53 <kspalaiologos> I did chess on TI83
17:31:05 <kspalaiologos> and it's only 2 kilobytes
17:32:15 <arseniiv> kspalaiologos: how often does it win you? (if you tested enough times)
17:32:24 <kspalaiologos> I just did the openings
17:32:33 <kspalaiologos> it has 6 ply search depth
17:32:46 <kspalaiologos> I beat it up with king's gambit but it's kinda unfair because the computer is materialistic
17:33:00 <kspalaiologos> and when it realises it should start defending instead of greedy taking my pieces it's already too late
17:33:02 <arseniiv> anyway I hadn’t written any chess at all so it should be cool!
17:33:31 <kspalaiologos> the C code size itself is around 800 bytes
17:33:42 <kspalaiologos> but it works, somehow
17:33:49 -!- tromp has joined.
17:34:11 <kspalaiologos> next I'll try maybe tetris
17:34:27 <kspalaiologos> I did already pong in BASIC, it was a real torture tho
17:34:36 <kspalaiologos> took me around two boring lectures to finish it
17:35:16 <kspalaiologos> there are some problems tho
17:41:51 -!- cpressey has quit (Quit: A la prochaine.).
17:41:53 <kspalaiologos> damn it crashed in the middle of the game
17:42:45 <int-e> resign!
17:43:21 <int-e> Well, "rage quit" would be more accurate :P.
17:43:35 <arseniiv> roflol
17:43:45 <arseniiv> rofoldl*
17:45:16 <arseniiv> some haskell designs there associate with something Hebrew, like that double lambda thing, maybe it resembles an aleph…
17:47:37 <arseniiv> > let { the [x] = x; the _ = error "the: there are many or no values" }
17:47:39 <lambdabot> <no location info>: error:
17:47:39 <lambdabot> not an expression: ‘let { the [x] = x; the _ = error "the: there are man...
17:48:15 <int-e> lambdabot's not a repl
17:48:18 <int-e> there's @let though
17:48:38 <int-e> and @undef to undo all the damage @let can do
17:49:29 <arseniiv> > the "a"
17:49:31 <lambdabot> 'a'
17:49:47 -!- FreeFull has joined.
17:49:56 <int-e> > the "ä"
17:49:58 <lambdabot> '\228'
17:50:06 <arseniiv> > the "ä"
17:50:09 <lambdabot> *Exception: the: there are many or no values
17:50:19 <arseniiv> HAHAHA
17:50:32 <arseniiv> UNICODE IS ILL-DEFINED
17:51:24 <arseniiv> (not that it’s news or that I really think so)
17:51:46 <int-e> I'm surprised.
17:51:54 <int-e> I really think so. :P
17:52:15 <kmc> @let 2 + 2 = 5
17:52:17 <lambdabot> Defined.
17:52:18 <arseniiv> it’s ill-defined but not so ill-defined as to say that for the sake of it
17:52:19 <kmc> > 2 + 2
17:52:21 <lambdabot> error:
17:52:21 <lambdabot> Ambiguous occurrence ‘+’
17:52:21 <lambdabot> It could refer to either ‘Prelude.+’,
17:52:32 <int-e> > 2 L.+ 2
17:52:34 <lambdabot> 5
17:52:37 <int-e> @undef
17:52:37 <lambdabot> Undefined.
17:52:44 <kmc> qualified infix operators always look Wrong
17:52:55 <int-e> I got used to them.
17:52:57 <arseniiv> int-e: that’s cru… ah, you’ve undone that already
17:53:07 <arseniiv> > :t the
17:53:08 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70172&oldid=70110 * PythonshellDebugwindow * (+124) /* Datatypes */
17:53:09 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
17:53:10 <kmc> > let 2 + 2 = 5 in 2 + 2
17:53:12 <lambdabot> 5
17:53:19 <kmc> > let 2 + 2 = 5 in 1 + 1
17:53:20 <arseniiv> my poor the
17:53:22 <lambdabot> *Exception: <interactive>:3:5-13: Non-exhaustive patterns in function +
17:53:24 <kmc> F
17:53:35 <int-e> kmc: I use M.! quite a bit.
17:53:55 <arseniiv> kood emcening
17:54:44 <int-e> > let the x | [x] <- x = x in the []
17:54:46 <lambdabot> *Exception: <interactive>:3:5-24: Non-exhaustive patterns in function the
17:54:50 <esowiki> [[Special:Log/move]] move * PythonshellDebugwindow * moved [[User:PythonshellDebugwindow/(Unnamed language)]] to [[User:DINAC]]: got a name
17:55:39 <int-e> Haskell: Oh my god, it's full of syntax!
17:58:16 <int-e> arseniiv: the disappointing thing about your ä is that I couldn't see the difference in the terminal... somebody canonicalized it properly along the way.
17:58:50 <int-e> (irssi, screen, xterm... I don't want to figure out which)
17:59:19 <int-e> arseniiv: But the logs gave you away, and confirmed what the error message already suggested.
18:00:33 <arseniiv> int-e: ah, I didn’t think it would be non-obvious
18:00:52 <kmc> was it actually canonicalized? or just rendered the same way
18:01:12 <kmc> if a font has a character for ä then it should use that for the combining-character version too
18:01:34 <kmc> you can usually tell when the combining sequences are rendered by combining glyphs
18:01:37 <kmc> because they look like ass
18:02:37 <arseniiv> kmc: yeah, frequently with fonts which aren’t up-to-date or whose creators think nobody uses non-accented non-latin
18:03:01 <arseniiv> or when font is okay but the renderer is not
18:03:58 <int-e> kmc: I pasted it into od -tx1
18:04:13 <kmc> ah
18:04:51 <arseniiv> the question is could an Unicode analogue be simpler? (IDK, but I know many people think it could be, but I’m not sure many of them aren’t overlooking things)
18:06:28 <kmc> there's a hot-button question if ever there was one
18:07:07 -!- batman_nair has joined.
18:07:12 <kmc> given all the design requirements I think it couldn't be made that much simpler
18:08:07 <esowiki> [[DINAC]] N https://esolangs.org/w/index.php?oldid=70175 * PythonshellDebugwindow * (+8303) Better
18:08:37 <esowiki> [[User:DINAC]] M https://esolangs.org/w/index.php?diff=70176&oldid=70173 * PythonshellDebugwindow * (-8459) Blanked the page
18:08:43 <kmc> for example the requirement of round-trip compatibility with all legacy encodings adds a lot of complexity
18:08:46 <kmc> or at least a lot of characters
18:09:00 <kmc> that's why accented characters exist in both combined and combining-sequence versions
18:10:25 <kmc> but round trip compatibility is a nice thing to have because then you can design systems (programming languages, databases, etc) where all text is canonically represented as Unicode and you convert to/from legacy encodings at the edges
18:12:35 <int-e> arseniiv: I wasn't confused about what you did, I just looked for confirmation. Also, it could've been a zero-width space :)
18:16:34 <int-e> > text $ reverse "äa"
18:16:36 <lambdabot> äa
18:16:53 <int-e> > text $ reverse "äa"
18:16:55 <lambdabot>
18:17:00 <int-e> arseniiv: ^^ :)
18:18:35 -!- LKoen has joined.
18:20:08 <arseniiv> int-e: nice!!
18:20:45 <arseniiv> <int-e> Also, it could've been a zero-width space :) => a good idea too
18:21:55 <arseniiv> <kmc> that's why accented characters exist in both combined and combining-sequence versions => oh, I didn’t think about the compatibility reason
18:22:39 <arseniiv> Unicode makes more sense now
18:25:38 <int-e> https://xkcd.com/927/
18:26:11 <int-e> Arguably we could get away without emoji. Or having a ton of different math fonts in there.
18:26:20 * int-e shrugs.
18:26:39 <int-e> Of course it's not that easy.
18:26:58 <arseniiv> yeah math fonts are a weird thing
18:27:07 <int-e> If Unicode didn't accept emoji, we'd have vendor-specific encodings for those, because clearly there's a desire to have them embedded in text.
18:27:26 <arseniiv> I wouldn’t say “a mistake” aloud but I’ll be thinking that secretly
18:27:33 <int-e> And I suspect the same kind of reasoning is behind the math fonts.
18:27:56 <arseniiv> but does anyone use them seriously?
18:28:05 <int-e> Otoho, why isn't there a full set of Shogi pieces?
18:28:37 <arseniiv> someone should propose
18:28:58 <int-e> chess: ♔♕♖♗♘♙♚♛♜♝♞♟ shogi: ⛉⛊☖☗
18:29:08 <int-e> seems a bit unfair.
18:30:27 <int-e> (Also the turned Shogi pieces look different from the normal ones to me. Fun.)
18:30:44 <int-e> (But that's a font issue, of course.)
18:31:42 <int-e> "Otoho", hmm. Some Japanese influence there? :P
18:42:09 -!- wib_jonas has quit (Remote host closed the connection).
18:51:33 -!- kspalaiologos has quit (Quit: Leaving).
18:51:37 -!- batman_nair has quit (Remote host closed the connection).
18:58:56 -!- tromp has quit (Remote host closed the connection).
19:02:30 -!- tromp has joined.
19:22:39 -!- tromp has quit (Remote host closed the connection).
19:37:57 <zzo38> For shogi, I think you can just use the kanji, sometimes upsidedown in case of a diagram
19:44:16 -!- imode has joined.
19:46:00 -!- Lord_of_Life_ has joined.
19:47:42 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
19:48:50 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:54:38 -!- tromp has joined.
19:59:35 -!- tromp has quit (Ping timeout: 272 seconds).
20:05:22 -!- ArthurStrong has joined.
20:15:17 -!- b_jonas has joined.
20:18:22 <b_jonas> `olist 1194
20:18:23 <HackEso> olist 1194: shachaf oerjan Sgeo FireFly boily nortti b_jonas
20:37:49 <arseniiv> is there a distinction between consistency and soundness in logic? I think I missed that one but now I suspect the first is syntactic and the second is semantic
20:39:55 <spruit11> That should be on wikipedia.
20:40:48 <arseniiv> ah, seems it’s more complicated: a set of formulas is or isn’t consistent, but soundness is a property of a particular logic. Hm I think there still were other uses of these words
20:40:54 <arseniiv> spruit11: fair
20:42:04 <spruit11> The usual distinction is soundness vs completeness.
20:42:32 <spruit11> Consistency is of course also an issue but most systems you'll encounter are consistent.
20:42:58 <spruit11> Unless you're interested in para-consistent logics, the subject doesn't come up a lot.
20:50:09 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70177&oldid=70174 * PythonshellDebugwindow * (-24) Blanked the page
20:51:54 <arseniiv> ah, I think it clarified for me. Consistency of a set Γ is “not (Γ ⊦ ⊥)” and consistency of a logic is the consistency of ∅; and there is no “soundness of Γ” as it’s just not obvious how and for what reason would one define that
21:02:03 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70178&oldid=70148 * PythonshellDebugwindow * (-12)
21:07:40 <esowiki> [[DINAC]] M https://esolangs.org/w/index.php?diff=70179&oldid=70175 * PythonshellDebugwindow * (+13) /* Subpages */
21:17:03 <spruit11> That doesn't seem right to me but it's a long time ago for me too.
21:17:40 <spruit11> Uhm, it should be possible for classical logics to state false theorems.. I guess.
21:18:09 <spruit11> I.e., 3=2 is simply false. That doesn't make a logic inconsistent.
21:18:14 <spruit11> Dunno.
21:19:26 <int-e> spruit11: it's okay; {3=2} is an inconsistent set of statements; it doesn't make the logic itself inconsistent
21:42:53 -!- tromp has joined.
21:46:04 <spruit11> Right. So the question is what Γ denoted in that statement.
21:46:22 <spruit11> But okay, too long ago. I refer to wikipedia.
21:47:36 -!- tromp has quit (Ping timeout: 256 seconds).
21:56:18 -!- sprocklem has joined.
22:09:36 <esowiki> [[DINAC/STDLIB]] N https://esolangs.org/w/index.php?oldid=70180 * PythonshellDebugwindow * (+1821) Created page with "DINAC '''STDLIB''' is a library of functions you can use in your code. They are grouped together for ease of access, and from there the individual functions are arranged alpha..."
22:09:54 <esowiki> [[DINAC/STDLIB]] M https://esolangs.org/w/index.php?diff=70181&oldid=70180 * PythonshellDebugwindow * (+4)
22:10:29 <esowiki> [[DINAC]] M https://esolangs.org/w/index.php?diff=70182&oldid=70179 * PythonshellDebugwindow * (+45) /* Comments */
22:27:14 -!- tromp has joined.
22:29:33 -!- tromp has quit (Remote host closed the connection).
22:29:59 -!- tromp has joined.
22:38:10 -!- atslash has quit (Quit: Leaving).
22:45:38 -!- imode has quit (Ping timeout: 256 seconds).
22:53:06 -!- imode has joined.
22:54:24 -!- atslash has joined.
23:23:14 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:31:37 -!- WillGibson has joined.
23:36:16 <WillGibson> helloooooo
23:41:43 <WillGibson> anyone in saudi
23:45:00 -!- WillGibson has left.
00:22:23 -!- tromp has quit (Remote host closed the connection).
00:41:15 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=70183&oldid=70166 * PythonshellDebugwindow * (+12) /* D */
00:48:32 -!- FreeFull has quit.
00:51:42 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:04:28 -!- arseniiv has quit (Ping timeout: 256 seconds).
01:52:44 -!- sebbu has quit (Read error: Connection reset by peer).
01:52:59 -!- MDude has quit (Read error: Connection reset by peer).
01:53:03 -!- sebbu has joined.
01:53:25 -!- atslash has quit (Read error: Connection reset by peer).
01:53:46 -!- MDude has joined.
01:54:01 -!- atslash has joined.
02:17:00 -!- Melvar has quit (Ping timeout: 256 seconds).
02:17:26 -!- Melvar has joined.
03:01:17 <zzo38> Do you like or hate daylight saving time? I don't like daylight saving time.
03:01:39 <zzo38> Beckett wrote "The costs of DST outweigh the benefits. But if a significant majority of people really want that extra hour of daylight in the summer, just leave the whole country on DST year-round. I prefer standard time, but Ill be happy to compromise if it means not losing an hour every spring."
03:02:17 <zzo38> I agree with Beckett; I also prefer standard time, but permanent DST would still be better than changing it all of the time
03:02:36 <kmc> I agree that changing time zone twice a year is stupid
03:02:50 <kmc> I haven't formed an opinion on which of the two time zones would be better for permanent use
03:04:05 <kmc> zzo38: did you know that Spain changed to Central European Time during WW2, and never changed back, with the result that in western Spain during the summer the sun doesn't set until after 10 PM?
03:04:46 <kmc> https://en.wikipedia.org/wiki/Time_in_Spain#/media/File:Tzdiff-Europe-summer.png
03:06:00 <zzo38> I think standard time would be better, for use with sundials, so that it is based on noon/midnight (I don't know what is Beckett's reasoning for preferring standard time). However, either way will work as long as there is agreement what time it is, so that if something is scheduled for "five o'clock" then you will know when it is, and so on.
03:06:18 <zzo38> I did not know that about Spain. Now I do know.
03:25:01 <zzo38> I did not know that about Spain. Now I do know.
03:26:13 -!- shachaf has left.
03:45:14 -!- tromp has joined.
03:49:53 -!- tromp has quit (Ping timeout: 265 seconds).
05:01:28 -!- jix has quit (Ping timeout: 255 seconds).
05:01:46 -!- jix has joined.
05:31:57 -!- oerjan has joined.
05:33:35 -!- tromp has joined.
05:38:10 -!- tromp has quit (Ping timeout: 256 seconds).
06:01:06 -!- stux- has joined.
06:02:52 -!- stux has quit (Ping timeout: 260 seconds).
06:05:07 -!- ArthurStrong has quit (Quit: leaving).
06:10:16 <esowiki> [[Special:Log/merge]] merge * Oerjan * merged [[User:DINAC]] into [[DINAC]] (revisions up to 20200305175450): Fix history after cut and paste move
06:13:49 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[User:DINAC]]": Remains of cut-and-paste move; history merged into [[DINAC]]
06:14:21 <oerjan> Well that was easier than I thought
06:15:10 <oerjan> only hitch is that the history says nothing about why the name is now DINAC rather than User:DINAC
06:28:27 -!- vertrex- has joined.
06:29:36 -!- vertrex has quit (Ping timeout: 260 seconds).
06:30:53 <esowiki> [[Special:Log/delete]] delete * Oerjan * deleted "[[User:PythonshellDebugwindow/(Unnamed language)]]": Author request: content before blanking was: "#REDIRECT [[User:DINAC]]"
06:35:04 <zzo38> I am working on adding some more stuff to bystand, including a scoring function. (This might be the only NNTP client which uses both a interactive line-oriented interface and SQLite, and may also be the only one to use SQL as its customization language.)
06:38:48 <zzo38> (Of course, these would not be the features everyone wants, but that is OK, because there are many alternatives.)
06:40:39 <esowiki> [[User talk:Voltage2007]] N https://esolangs.org/w/index.php?oldid=70184 * Voltage2007 * (+98) Created page with "Feel free to add any comments or complaints by editing the page. You ''can'' edit the page, right?"
07:13:34 <esowiki> [[Alchemy]] https://esolangs.org/w/index.php?diff=70185&oldid=36118 * Voltage2007 * (+203)
07:21:37 -!- tromp has joined.
07:26:45 -!- tromp has quit (Ping timeout: 272 seconds).
07:46:00 -!- Lord_of_Life_ has joined.
07:47:09 -!- xelxebar has joined.
07:47:58 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
07:47:58 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
08:11:29 -!- tromp_ has joined.
08:16:09 -!- tromp_ has quit (Ping timeout: 272 seconds).
08:20:37 -!- tromp has joined.
08:50:29 -!- b_jonas has quit (Quit: leaving).
09:04:31 -!- imode has quit (Ping timeout: 258 seconds).
09:23:59 <int-e> `"
09:24:03 <HackEso> 1/1:1034) <shachaf> kmc: you gotta tell me if you're an op \ 4) <Warrigal> GKennethR: he should be told that you should always ask someone before killing them.
09:29:21 -!- cpressey has joined.
09:38:40 -!- Sgeo_ has quit (Read error: Connection reset by peer).
09:39:08 -!- Sgeo_ has joined.
09:41:49 <cpressey> Welcome to the international center for esoteric programming lingonberry design, development, and deployment
09:44:07 <int-e> huh
09:48:36 <int-e> fungot: do you like bat buns?
09:48:37 <fungot> int-e: and that information may or may not be covered there? like oop, but after a while
10:06:02 -!- sprocklem has quit (Ping timeout: 240 seconds).
10:06:13 * oerjan read that as bat puns
10:06:22 <oerjan> `? banana
10:06:24 <HackEso> Bananananananana BATMAN!
10:07:25 <int-e> oerjan: you are halfway there
10:08:05 -!- sprocklem has joined.
10:13:23 <oerjan> living on a prayer
10:13:54 <int-e> surely by now you've found the "bad pun".
10:15:36 <oerjan> OKAY
10:16:07 <oerjan> google images gives a split between cupcakes, hairstyle and furrydom
10:16:32 <int-e> I think you're overcomplicating this.
10:18:21 <oerjan> also some rabbits dressed for halloween
10:19:01 <oerjan> definitely. what otherway is there to handle it?
10:19:08 <oerjan> *+
10:25:06 <int-e> I'm not complaining.
10:25:24 <int-e> This is free entertainment :P
10:32:22 <cpressey> I still don't know where the NTM came from in that MtG thing.
10:32:49 <cpressey> Probably the same place the bat buns came from, huh.
10:34:41 <int-e> The NTM is in the hypothetical play where the opponent tries to find a way to make the deck deal unbounded damage.
10:35:48 <int-e> And the thing is constructed such that damage is all dealt in the end, so for it to happen, the intermediate simulated TMs must all terminate.
10:36:36 <int-e> So you get the behavior that non-terminating runs are discarded.
10:37:45 <cpressey> This is uncomputable, of course, but that doesn't seem to matter for this hypothetical?
10:38:37 <int-e> Yeah.
10:38:49 <cpressey> OK.
10:38:52 <int-e> The hypothetical is just to show that there is an upper bound.
10:39:10 <int-e> Who cares that we'll never know what it is.
10:40:15 <int-e> But you still have to play the actual busy beaver game to actually deal huge amounts of damage.
10:42:10 <int-e> So basically what's happening here is that they're trying to build an M:tG deck that can deal any conceivable amount of money, for a very wide range of "conceivable".
10:42:54 <int-e> I've done it again.
10:43:20 <int-e> Apparently "amount" and "money" are tightly linked in my brain.
10:43:21 <int-e> :/
11:04:39 <int-e> Woah, xkcd... title=""
11:07:48 -!- arseniiv has joined.
11:09:51 -!- wib_jonas has joined.
11:43:33 -!- xkapastel has joined.
12:03:24 <cpressey> I might be wrong but I also thought there was a limit of something like 125 water clocks, i.e. a MtG hand corresponds to a The Waterfall Model program with 125 water clocks. In that case, I would say that the maximum damage a MtG hand can do, is literally BBtwm(125), where BBtwm is a version of the busy beaver function adapted to The Waterfall Model.
12:04:02 <cpressey> Literally that number, because that number is literally asking "what's the largest number you can compute with this number of water clocks".
12:04:23 -!- moony has quit (Quit: Bye!).
12:04:35 <int-e> 124, I think
12:04:44 -!- moony has joined.
12:05:09 <int-e> But I'm not sure that's correct.
12:05:51 <int-e> The 124 is what restricts the universal machine that they implement.
12:06:16 -!- erdic has quit (Ping timeout: 265 seconds).
12:07:14 <cpressey> If they want to simulate some other machine with that UTM there's the question of how they get the description of that other machine, into the UTM
12:08:49 <int-e> It's guessed.
12:09:48 <cpressey> By a person, and then encoded as waterclocks?
12:10:06 <int-e> Yes. Or by hypothetical play.
12:10:51 <int-e> So in actual play, you need to find a busy beaver. But for hypothetical play you actually get the busy beaver function as an upper bound in the end.
12:11:32 <cpressey> Er
12:12:32 <int-e> Actual play: The player sets up a terminating TM of bounded size by making corresponding choices. It is run; the number of steps (or something like that) that it runs for turn into damage at the end.
12:13:17 <int-e> Hypothetical play: We consider all the possible TMs. But only those that terminate produce any damage. So there's an upper bound, given by the busy beaver function.
12:13:24 <cpressey> A TM implemented with 124 water clocks can compute BBtwm(124) and no larger, even if said TM is a UTM and someone guesses a good TM for that UTM to simulate
12:13:42 <int-e> cpressey: You're forgetting that the outside is nondeterministic.
12:13:52 -!- erdic has joined.
12:14:41 <cpressey> I don't know what that means
12:15:34 <cpressey> You don't need to model "hypothetical play" as an NTM, that's what confuses and bugs me
12:17:15 <int-e> None of this really works without non-determinism.
12:17:33 <int-e> Because then you couldn't externalize the TM definition from the program.
12:18:33 <cpressey> Is there anything really MtG-specific to this problem? Part of it is that I don't want to guess what rules there are in that game, because I don't play it.
12:19:02 <int-e> As I suggested yesterday, we're doing something like this: NTM A(n): *guess* a TM B of size m. Run B to completion, counting steps. Return number of steps taken.
12:19:52 <int-e> Err, n, not m.
12:20:14 <cpressey> You don't need to "guess" a TM. Rather just say: let B be the TM of size n which terminates and takes the largest number of steps to do so of any TM of size n.
12:20:17 <cpressey> No NTM needed!
12:20:49 <int-e> And the variant that computes BB(BB(n)): NTM A'(n): *guess* a TM B of size n. Run B to completion, counting steps. Let m be the number of steps taken. *guess* a TM C of size m. Run C to completion, counting steps. Return number of steps taken.
12:22:21 <int-e> cpressey: guessing is essential to escape the fact that the busiest beavers cannot be found effectively.
12:23:04 <cpressey> Why "guess" when you can stipulate?
12:23:18 <int-e> Because then you can't implement it at all.
12:23:42 <cpressey> You want to "implement" hypothetical play?
12:24:05 <int-e> Nobody's *actually* computing busiest beavers here. The busiest beavers just materialize in a proof that the value we get is bounded.
12:24:50 <int-e> But as long as the play is hypothetical, we can actually have those busiest beavers.
12:25:00 <cpressey> "Our hand of cards represents a TM, so the largest damage we can do is a busy beaver number" pretty much follows from the definition of busy beaver function.
12:25:27 <int-e> No.
12:26:06 <int-e> If you absolutely want to avoid the NTM angel (personally I find it tremendously helpful), you have to allow input instead.
12:26:17 <int-e> angle
12:26:27 <int-e> I can't type at all anymore.
12:26:59 <int-e> speling errros evryerhawe...
12:28:13 <int-e> cpressey: And the matter of the fact is that we can have a fixed *N*TM without input of small size that computes the busy beaver function for a much higher number of states.
12:28:31 <cpressey> This is maddening
12:29:13 <int-e> You do know about Universal Turing Machines, right?
12:29:25 <int-e> I need a break.
12:31:38 <int-e> But maybe I should make the idea concrete at least: NTM BB_googol: *guess* a TM A with 10^100 states. Use an UTM to run it to completion, counting steps. Return number of steps taken.
12:32:29 <int-e> And recall that the model of computation here maximizes the output of all the possible runs that terminate.
12:34:39 -!- stux- has quit (Quit: Aloha!).
12:35:36 <int-e> The corresponding TM would instead have to take the description of the TM of size 10^100 as input. By virtue of having input, it's not bounded by the busy beaver function.
12:35:51 -!- stux has joined.
12:35:54 <cpressey> Are you trying to say that BB numbers on NTMs can be much larger than BB numbers for DTMs? If so, I don't disagree.
12:37:16 <int-e> I guess so.
12:37:28 <int-e> However, then we're *definitely* not talking about BB for TWM here anymore.
12:37:45 <int-e> But something like BB for M:tG.
12:38:11 <int-e> Anyway, whenever I wrote "busy beaver" I meant DTM ones.
12:41:10 <cpressey> I'm still lost. I think I'll just resign.
12:42:30 <int-e> cpressey: Can you see what that BB_googol thing does and that the result is BB(10^100) where BB is the standard busy beaver function for DTMs?
12:43:40 <cpressey> I thought I did, but I guess not.
12:44:10 <int-e> mm
12:44:25 <cpressey> Or rather: BB_googol is just a NTM for computing BB(10^100) but why do we need that?
12:44:32 <cpressey> We can just say BB(10^100), we know what it means
12:44:54 <cpressey> This NTM doesn't relate to anything in the model we're working with
12:45:17 <int-e> Well the point is that the NTM can be written up as a program, and perhaps translated to a deck of cards.
12:45:41 <cpressey> Not unless the cards are played nondeterministically somehow
12:45:53 <cpressey> From what I understand about MtG, they're not, but I don't play that game
12:46:40 <cpressey> You can talk about "all possibly plays of a hand of cards" without using an NTM
12:46:41 <int-e> The whole point is that BB(10^100) is an upper bound on the possible outputs of terminating runs.
12:46:50 <cpressey> *possible
12:46:53 <int-e> Other than that, BB(10^100) will never materialize.
12:47:31 <int-e> cpressey: The choices that set up the TM are made during play though.
12:47:48 <int-e> So the NTM model matches the actual play much more closely than a TM with input.
12:49:10 <int-e> And of course, in real play, the player will just use the best TM they can prove termination of, not the busy beaver. (And I should probably allow TMs of size less than 10^100 as well :P)
12:49:46 <cpressey> But but but
12:50:11 <cpressey> So frustrating.
12:50:23 <cpressey> BB(n) is a function on a *set of Turing machines*, yes?
12:50:30 <cpressey> All TMs with size n.
12:50:36 <int-e> ?!
12:50:36 <lambdabot> Maybe you meant: v @ ? .
12:50:43 <int-e> BB(n) is a natural number.
12:50:48 <int-e> given a natural number n.
12:51:29 <int-e> It's the maximum of number of steps taken by any TM of size n (or less, but that's monotonic)
12:51:32 <cpressey> To compute BB(6) you must consider all TMs of size 6.
12:51:41 <int-e> that terminate.
12:52:11 <cpressey> "all TMs of size 6 that terminate" is a set of TMs.
12:52:12 <int-e> It's more like...
12:52:24 <int-e> ...to compute BB(6) you *would have to* consider all TMs of size 6.
12:52:36 <int-e> Because nobody's actually computing it.
12:52:56 <cpressey> Fine, for my present purposes this is nitpicking.
12:53:18 <cpressey> BB(6) is a result *about* a *set* of Turing machines.
12:54:00 <cpressey> All possible plays of a hand of MtG cards also represents a *set* of Turing machines.
12:55:01 <cpressey> All possible plays of a hand of MtG cards of size n, represents a set of Turing machines of size m (where n and m are, let's assume, linearly related.)
12:55:02 <myname> well, all plays of a hand in any card game does
12:55:26 <cpressey> Therefore the maximum damage a hand of MtG cards of size n can do, is proportional to BB(m).
12:55:37 <int-e> m? n?
12:55:49 -!- TheLie has joined.
12:56:04 <cpressey> Using n MtG cards you can make a TWM program of size m.
12:56:10 <cpressey> is how I'm using those letters.
12:57:16 <myname> i doubt that line of reasoning
12:57:27 <int-e> You keep missing the fact that a program of bounded size can work on arbtirary sized data.
12:57:33 <myname> it fails if you have cards that do exponential damage
12:57:41 <myname> exactly that
12:57:45 <int-e> A singe universal machine can run everything.
12:57:49 <cpressey> int-e: No, the busy beaver function *accounts for that fact*.
12:58:16 <cpressey> BB(6) doesn't say *anything* about how much data any TM of size 6 uses or does not use.
12:58:34 <int-e> cpressey: Then stop saying "the" busy beaver function and define what you're actually using. "The" busy beaver function is for programs without input.
12:58:42 <int-e> cpressey: It starts on an empty tape.
12:58:44 <cpressey> I'm not talking about input.
12:58:45 <int-e> NO INPUT.
12:58:50 <cpressey> I agree, no input!
12:59:09 <int-e> The card games have input in the form of choices the players make.
12:59:10 <cpressey> The machines in BB(6) can use a lot of tape, even though they have no input
12:59:11 -!- TheLie has quit (Remote host closed the connection).
12:59:14 <int-e> This is CRUCIAL.
12:59:37 <cpressey> What kind of choices do the players make?
13:00:00 <int-e> Which cards to play, how much mana to spend on it, how often to repeat a cycle if they enter one...
13:00:03 <int-e> tons of them
13:00:04 <myname> the number of steps does not have to be proportional to the amount of damage
13:00:14 <myname> if one step doubles the damage, you are out of luck
13:00:17 <int-e> Which is why I have all those *guesses* up there.
13:01:53 <cpressey> OK. I don't play MtG, I'm not aware of the kinds of choices players can make.
13:01:58 <int-e> One of the real challenges they face is to make a TM interpreter that does *not* leave any choices to the players (with some constraints, like refusing to resign; the M:tG rules stipulate that a player may resign at any point during the game).
13:03:37 <cpressey> OK.
13:03:38 -!- xelxebar has quit (Remote host closed the connection).
13:05:25 <cpressey> I guess there's not much point trying to understand this, unless I want to understand the rules of MtG first, and I don't really have any interest in that
13:06:19 -!- xelxebar has joined.
13:08:00 <int-e> For me the new insight here was that NTMs can compute (and even iterate computations of) the busy beaver function for DTMs.
13:08:59 <int-e> So for this purpose, M:tG is just a peculiar NTM. And I totally ignored TWM.
13:11:08 <cpressey> If there's an NTM that can compute the BB function then there's also an NTM that can solve the halting problem.
13:11:33 <int-e> (As a two-player game with best play, M:tG might actually be a full ATM. I don't know.)
13:12:18 <int-e> Well the halting problem is r.e. even with TMs.
13:12:59 <cpressey> I'm aware of that.
13:13:27 <int-e> And the usual acceptance condition for NTMs is "there is an accepting run", generalizing what you do for r.e. (accepts the input).
13:13:46 <int-e> So yes, that solves the halting problem.
13:15:18 * oerjan measures cpressey's brain pressure then hides behind a rock
13:15:19 <int-e> One real stumbling block for me is to extend this to a functional model of computation, that actually computes a value from the input.
13:15:31 <int-e> s/is/was/
13:16:07 * int-e sets fire to the dynamite stick that somebody placed under that rock earlier.
13:17:03 * oerjan gets incinerated
13:18:03 <cpressey> I have a hard time understanding why someone would think that they could extend "there exists an accepting path" to something that actually finds that path in all cases.
13:18:46 * int-e is beginning to think that cpressey is one of those constructivists he's heard rumors about
13:19:20 <int-e> I mean, it's just a definition.
13:21:29 <cpressey> I guess my brain pressure is just too high. Occupational hazard of us constructivists, don't ya know.
13:22:27 <int-e> We can do it mathematically (inside a proof, say). We can't do it in practice.
13:23:26 <int-e> Using classical logic, obviously, like most people.
13:24:29 <cpressey> It would still seem that you're simply saying something like, the maximum damage you can deal in a hand of n MtG cards, is BBN(n), where BBN(x) is the busy beaver number for an *NTM* with x states.
13:27:00 <cpressey> OK, BBN(m) where m is some function of n.
13:27:03 <int-e> It's more bounding BBN(n) from below by (iterated) BB(m) where both iteration and m depend on the concrete n-sized program.
13:28:10 <myname> the amount of damage is obviously bounded by BBN(f(n)) for a function like f(n) = infty
13:28:30 <int-e> myname: Hey we're having a serious discussion here.
13:33:01 <int-e> cpressey: You're not wrong, there is something resembling BBN(n) for a fixed n here somewhere, namely in the task of finding an M:tG deck that allows dealing a huge amount of damage while having an upper bound on that damage.
13:34:34 <int-e> cpressey: But the point where the discussion started was that they wanted to find an M:tG deck, that is, an NTM, that actually computes BB(m) or BB(BB(m)) for another fixed m instead, so that they had something easier to work with: Busy beavers (for some deterministic model of computation that's easy to implement a universal machine for in TWM).
13:35:18 <cpressey> OK. "NTM" and "actually compute" do not go together. That's my first problem.
13:35:34 <int-e> You can define BB(n) but you can't compute it.
13:35:59 <int-e> The NTM semantics are something you can define, not compute.
13:36:08 <int-e> I should probably not have used "actually" there.
13:36:21 <int-e> s/actually computes/defines/
13:37:53 <int-e> You still need the busy beavers (not necesaarily the best ones) to actually play the game and deal some damage.
13:38:10 <cpressey> I think it is a bad idea to model a hand of cards an as NTM. I think it is better to model (hand of cards + player's strategy) as a DTM.
13:38:32 <int-e> Well, and I disagree completely.
13:40:22 <cpressey> Well...
13:41:16 <int-e> I honestly believe that NTM (and ATM for the full game) is the most natural model for this. I don't want to mess things up by restricting the players to a computable strategy. Not that it matters here... there are only finitely many choices to be made anyway.
13:41:39 <cpressey> Ha
13:42:02 <cpressey> Are there really only a finite many choices that a player can make when playing their hand?
13:42:17 <int-e> In this particular case? Yes.
13:42:18 <cpressey> If so then I object even more strongly to modelling that as an NTM
13:42:25 <cpressey> This is just combinatorics.
13:42:34 <cpressey> Occam would prefer you not complicate it unnecessarily, and so would I.
13:42:55 <int-e> Yes, don't model choices that happen on the fly as input, defying causality.
13:43:14 <int-e> Use the proper model for that, which is non-determinism.
13:44:18 <int-e> This may be our main disagreement really... I think non-determinism is *simple*.
13:45:05 <int-e> Yes, you get a tree of computations rather than a line. But that's all. Trees are simple.
13:48:05 <int-e> And "just combinatorics" -- in either case you still get to the point where the model of computation solves the halting problem for you.
13:48:42 <int-e> By simply disregarding non-terminating paths of execution (inputs for which your program doesn't terminate)
13:51:26 <cpressey> It seems to me that you would rather introduce an NTM that represents selecting all possible finite combinations from a finite set, than merely consider all possible finite combinations from a finite set, in your explanation, that's all.
13:52:35 <int-e> Yes. At least in this particular context.
13:52:55 -!- sprocklem has quit (Ping timeout: 255 seconds).
13:53:10 <cpressey> I would call that overkill, not just because it's nondeterministic, but also because it's a TM.
13:53:17 <int-e> (I could argue against the idea that I introduce the NTM... the NTM is already present in the game, to my mind. But meh.)
13:54:12 <int-e> Playing 13 No Need To Argue.ogg.
13:54:36 -!- oerjan has quit (Quit: leaving).
13:54:51 -!- tromp has quit (Read error: Connection reset by peer).
13:55:24 -!- tromp has joined.
14:51:31 <cpressey> If you have an NTM that "guesses" an arbitrary DTM description and writes it to a tape, then uses a UTM to simulate that DTM and "produce" its result as an integer, there is no upper bound to the integer the NTM can "produce"; it only needs to "guess" bigger DTMs to get bigger numbers.
14:53:32 <cpressey> On the other hand, if there is a limit to the set of DTMs it can "guess" - if they are drawn from a finite set - then you don't need to talk about "guessing" them and then simulating them at all - you just have an enumeration of DTMs.
15:08:56 <int-e> cpressey: But I /prefer/ to do it by guessing.
15:09:10 -!- int-e has left.
15:10:34 -!- sprocklem has joined.
15:12:37 <Taneb> Are you two doing the thing where you argue about a fundamentally unimportant detail while agreeing about all the important bits?
15:14:02 <cpressey> I think I disagree about some of the actual conclusions too, but it's hard enough to find out exactly what they are
15:14:44 <cpressey> Wouldn't BBN(x) be infinite for large enough x?
15:15:15 <esowiki> [[DINAC/STDLIB]] M https://esolangs.org/w/index.php?diff=70186&oldid=70181 * PythonshellDebugwindow * (+223) /* Arithmetic */
15:16:03 <Taneb> What is BBN?
15:16:15 <cpressey> Busy-beaver number for NTMs.
15:16:30 <Taneb> Where x is the number of states?
15:16:41 <cpressey> Yes
15:16:54 <Taneb> How would BBN(x) be > BB(x)?
15:17:10 <cpressey> The NTM has no limit to the number of states it can "guess" a DTM description to have, then it can simulate it with a UTM
15:17:30 <cpressey> So probably BBN(10) is infinite
15:17:51 <cpressey> If not 10, then some fairly small number, in the scheme of things
15:18:48 <Taneb> Hmm, wouldn't the definition of the busy beaver function preclude machines that might not halt, and hence preclude any that could be infinite
15:20:08 <cpressey> So probably BBN(10) is ω, is that better
15:21:05 <Taneb> I don't think I understand how you're defining BBN
15:22:20 <Taneb> I can't see how ω could even be in the codomain of BBN
15:22:59 <cpressey> OK. BB(x) is the largest number of steps any terminating DTM with x states takes before terminating. BBN(x) is the largest number of steps any terminating execution path of an NTM with x states.
15:23:30 <cpressey> *states has. Excuse my awkward phrasing.
15:23:42 <Taneb> Ah, I had taken BBN(x) to be the lagest number of steps of any terminating execution path of an NTM with x states that terminates in all execution paths
15:24:19 <Taneb> Because otherwise, BBN(2) is undefined, I think
15:25:58 <Taneb> Take a non-deterministic turing machine with states (I, H), and transitions I -> {1RI,1RH}
15:26:08 <Taneb> This has a terminating execution path for every natural number
15:29:07 <esowiki> [[DINAC]] M https://esolangs.org/w/index.php?diff=70187&oldid=70182 * PythonshellDebugwindow * (+198) /* Functions */ Clearing up GIVE $
15:29:42 <esowiki> [[DINAC/STDLIB]] M https://esolangs.org/w/index.php?diff=70188&oldid=70186 * PythonshellDebugwindow * (+21) /* Boolean */
15:30:42 -!- int-e has joined.
15:31:08 <int-e> cpressey: BBN(n) is cleverly defined to exclude not only non-terminating machines but also those that have unbounded results.
15:32:20 <cpressey> "they wanted to find an M:tG deck, that is, an NTM, that [defines] BB(m) or BB(BB(m)) for another fixed m instead, so that they had something easier to work with: Busy beavers (for some deterministic model of computation that's easy to implement a universal machine for in TWM)." My problem with this is in two parts:
15:33:21 <cpressey> 1) If they only have 125 waterclocks at their disposal to make this machine in TWM, then their damage is limited to BB(125) (or something proportional to it)
15:33:49 <int-e> You're ignoring the starting values of the clocks?
15:35:53 <cpressey> 2) If they use these 125 waterclocks to make a UTM, and then feed it some kind of TM description as part of how they play their hand, then I need an explanation why they are not allowed to give it an arbitrarily large TM description that produces BB(x) for arbitrarily large x, i.e. it would appear there is no upper bound at all.
15:36:32 <int-e> The x needs to be encoded in the deck, obviously.
15:36:43 <cpressey> Why obviously?
15:36:57 <int-e> Because otherwise, as you say, things would be unbounded.
15:37:14 <cpressey> How do we know they're not unbounded?
15:37:32 <int-e> Which is specifically forbidden by their task description... if the deck produces unbounded damage, it doesn't qualify.
15:38:06 <int-e> Which links back to "BBN(n) is cleverly defined to exclude not only non-terminating machines but also those that have unbounded results."
15:38:15 <cpressey> Why does x need to be encoded in the deck as opposed to the choices that the player takes when they play their cards?
15:38:37 <int-e> ...
15:38:46 <int-e> We're running in circles here.
15:38:59 <int-e> You just asked that question, I just answered it.
15:39:03 <int-e> Nothing has changed in the meantime.
15:39:37 <cpressey> I guess there's something I still don't understand about how MtG is played.
15:39:38 <int-e> The encoding may be indirect, of course. In particular, x may be something like BB(10).
15:41:11 <cpressey> I don't even care about this, it's just frustrating that, every time I say something, hoping to get more clarity, I just get responses that seem to make it more opaque.
15:41:37 <Taneb> cpressey: I think you might have misinterpreted the nature of the puzzle
15:42:11 <Taneb> Or I have misinterpreted the nature of your complaint
15:42:48 <int-e> What frustrates *me* is that you seem to understand everything about this and still are, obviously, confused, and I have no idea what you are confused about.
15:43:58 <cpressey> I don't see how how n cards could *possibly* generate the number BB(BB(n)).
15:44:13 <cpressey> I can see how they could generate the number BB(n), yes.
15:44:30 <cpressey> But you see, I don't see how they could generate any number *larger* than it.
15:44:58 -!- sprocklem has quit (Ping timeout: 255 seconds).
15:45:05 <cpressey> Unless it's something like: n cards generates BB(n), then BB(n) *plays* of those cards, generates BB(BB(n)). Something like that.
15:45:20 <int-e> BB_BB_googol: Guess a TM A of size 10^100. Run it to its conclusion, counting steps. Let m be the number of steps taken. Guess a TM B of size m. Run it to its conclusion, counting steps. Return the number of steps.
15:45:41 <int-e> (You can make the TMs your input. I don't care.)
15:46:07 <int-e> You discard all non-terminating runs, and take the maximum length of the terminating ones.
15:46:19 <int-e> That length is BB(BB(10^100)).
15:46:30 <int-e> s/length/value returned/
15:46:34 <int-e> (sorry)
15:46:52 <cpressey> "Guess a TM A of size 10^100" - May I ask to what object in the game of MtG does this A correspond?
15:47:20 <int-e> Some number of creatures of a particular creature type.
15:47:28 <int-e> Creature types === counters in TWM.
15:47:43 <cpressey> OK, can I ask another question/
15:47:47 <int-e> It's not a perfect analogy.
15:48:12 <int-e> I really prefer to think of this in terms of (N)TMs, because that's far more familar territory to me.
15:48:33 <cpressey> I can guess a TM of size 10^100. Can I guess a TM of size 10^10000 instead?
15:48:50 <int-e> Sure. That would be a different NTM though.
15:49:26 <cpressey> Can I guess an arbitrarily large TM?
15:49:30 <int-e> No.
15:49:34 <cpressey> Why not?
15:49:42 <int-e> That's the whole point of building that bound into the NTM.
15:50:15 <cpressey> May I ask, what object in the game of MtG the NTM corresponds to?
15:50:46 <int-e> You have given the explanation above: If you /could/ guess a TM of arbitrary size, there would be no maximum result (the results would be unbounded), and we don't want that.
15:51:00 <int-e> The NTM is the deck of cards.
15:51:07 <cpressey> Wait what?
15:51:16 <cpressey> I thought we were trying to find out what the maximum result *is*.
15:51:42 <int-e> Find a deck of card whose maximum damage is bounded, but really really big.
15:52:03 <int-e> The damage is all done in the end, and corresponds to the number computed by the NTM.
15:52:19 <cpressey> The answer seems to be that you can find decks of cards that do arbirarily large finite damage.
15:52:33 <int-e> But the deck size is bounded.
15:52:35 <cpressey> I was pretty sure the constraint was that we had to avoid *infinite* damage.
15:53:08 <cpressey> What is the deck size bounded by?
15:53:14 <int-e> 60.
15:53:39 <int-e> Plus a side-board of, what, 10 cards? Something like that.
15:53:59 <int-e> But that's all so awfully M:tG-specific.
15:54:29 <cpressey> OK, so you're modelling this 60-card deck as an NTM with 60 states (roughly speaking).
15:54:56 <cpressey> But there is some reason this 60-state NTM can't guess (and then simulate) arbitrarily large DTMs.
15:55:00 <cpressey> But I'm not seeing that reason.
15:55:19 <int-e> https://esolangs.org/logs/2020-03-02.html#lNe
15:55:48 <int-e> cpressey: The bound (whatever it is) must be enforced by the NTM.
15:57:43 <int-e> cpressey: I doubt that the number of states corresponds to the number of cards in any nice fashion. But I also don't really care about that aspect of the problem.
15:58:28 <int-e> My interest is really this: My initial reaction to the idea that you can iterate the BB function was that this can't be done. No way. Then I homed in on alternation as a possibility, and then I realized that plain non-determinism is enough.
15:59:12 <int-e> Which was a new insight for me. And I'm still enjoying that.
15:59:41 <int-e> All the TWM and M:tG details... meh I just assume they work out somehow.
16:00:00 <int-e> And if they don't work out, that's no skin off my nose either.
16:00:23 <cpressey> Whhhh
16:01:00 -!- sprocklem has joined.
16:04:38 <cpressey> "if there is a line that does more damage we will take it", but "if that amount of damage is unbounded, the deck is disqualified.", so basically this is ruling out any sequence that grows forever.
16:05:19 <int-e> Yes. This is the same as ruling out an NTM that produces unbounded results.
16:09:33 <cpressey> OK, that makes sense I guess.
16:11:09 -!- wib_jonas has quit (Remote host closed the connection).
16:15:21 <cpressey> I can't quite convince myself of it.
16:20:59 <cpressey> "Let m be the number of steps taken. Guess a TM B of size m." ... the NTM has to allow guessing a TM as large as m, without knowing how big m is beforehand, but also has to prevent guessing arbitrarily large TMs.
16:21:42 <int-e> A is *deterministic*
16:22:09 <int-e> So it either fails to terminate (and we're good, the run will be discarded) or produce a fixed result.
16:22:19 <int-e> Same for B.
16:22:23 <cpressey> Back up
16:22:43 <int-e> m is bounded by BB(10^100).
16:23:06 <cpressey> I *understand* that A is deterministic; in fact I am assuming that the NTM correctly guessed the DTM which computes BB(10^100).
16:23:37 <int-e> So in that case m equals BB(10^100) by the point we're guessing B.
16:24:25 <int-e> So that's not arbitrarily large anymore?
16:24:33 <cpressey> Okay.
16:24:49 <int-e> (Though obviously so insanely large that it makes no difference in practice.)
16:25:16 <int-e> (Where "practice" refers to the scenario where we actually play out one of those runs with concrete choices for A and B)
16:29:51 <cpressey> OK, so there's a deck of 60 cards where there's a possible play that writes a TM A of size 10^100 to the tape and then simulates it to obtain m = BB(10^100) and then writes another TM, this one of size m, to the tape, and then simulates it to obtain BB(m), i.e. BB(BB(10^100)), and then does that much damage.
16:30:39 <int-e> Yeah, that's the mental model I have of this.
16:30:40 <cpressey> I think I understand it now.
16:31:32 <int-e> I'm hazy about the actual models of computation (TWM is involved, but it's used to implement a universal machine, and that may be something entirely else still).
16:31:40 <cpressey> Now that I have explained it to myself in terms that do not involve an NTM.
16:33:01 <int-e> The important bits to me is that the outer model is non-deterministic (you prefer input, we disagree, let's not reopen that discussion), and that the innner thing that the BB() function is based on is deterministic (so that non-termination of the simulated machine manifests as non-termination of the whole thing).
16:36:54 -!- imode has joined.
16:52:55 -!- sprocklem has quit (Ping timeout: 255 seconds).
16:55:29 <cpressey> You *could* do the steps the other way around. You could write a TM B of size BB(10^100) to the tape and simulates it to produce BB(BB(10^100)), then write a TM A that computes BB(10^100) to obtain m, then aborts if TM B consists of more than m states (but it doesn't so you're ok and you output BB(BB(10^100)).)
16:56:15 <cpressey> I'm not sure why I mention this.
16:57:25 <Taneb> (I don't get how people are computing BB(BB(x)) given BB(x))
16:58:01 <tromp> that's not possible:(
16:58:44 <cpressey> They're basically getting very, very lucky, if you want to think of it as something that could actually happen.
16:59:33 <tromp> a lucky NTM of 1 or 2 states can also output BB(10^100) :)
17:01:51 <cpressey> For obscure reasons, we also want to also disallow NTMs that can produce arbitrarily large numbers.
17:04:14 <cpressey> Details are available in the scrollback, if they can be extracted from the painful misunderstandings.
17:05:30 <cpressey> I'm still digesting it, myself.
17:05:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
17:06:06 -!- ArthurStrong has joined.
17:06:30 -!- xelxebar has joined.
17:13:05 <int-e> cpressey: It's not all that obscure... it's fairly easy to do unbounded damage in M:tG.
17:13:30 <cpressey> For reasons that will be obscure to anyone who doesn't care much about the MtG angle.
17:13:59 <int-e> (Use any of https://hobbylark.com/card-games/best-infinite-mana-combos-mtg to fuel a Fireball, which does X damage for 1 red and X other mana.)
17:14:44 <int-e> cpressey: But it also makes sense to do that when trying to define the busy beaver function for NTMs ;)
17:15:08 <int-e> (Because what would the point be if the value can be infinite...)
17:17:16 <int-e> cpressey: The reason is not that dissimilar to that 2-state NTM you had earlier... non-determinism means you can expect to turn an infinite loop into an unbounded one very easily.
17:18:05 <int-e> And for some reason the M:tG designers don't consider infinite loops to be a design flaw in the cards... as long as they either don't do anything useful, or are expensive to set up.
17:19:17 <cpressey> Fine, how would you like to me say it?
17:19:40 <cpressey> tromp: For reasons that int-e will be happy to explain, we want to avoid NTMs that produce arbitrarily large numbers.
17:20:04 <cpressey> Have a good weekend.
17:20:09 -!- cpressey has quit (Quit: A la prochaine.).
17:48:25 -!- b_jonas has joined.
17:51:00 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70189&oldid=70178 * PythonshellDebugwindow * (-56)
18:05:04 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70190&oldid=70189 * PythonshellDebugwindow * (+15)
18:06:16 -!- imode has quit (Ping timeout: 255 seconds).
18:09:15 -!- LKoen has joined.
18:09:17 -!- sprocklem has joined.
18:11:21 <esowiki> [[MyScript]] N https://esolangs.org/w/index.php?oldid=70191 * PythonshellDebugwindow * (+131) Created page with "'''MyScript''' is an esolang created by [[User:PythonshellDebugwindow]]. ==Examples== ===[[Hello, World!]]=== say "Hello, World!""
18:13:44 -!- Phantom_Hoover has joined.
18:51:20 -!- zseri has joined.
19:16:50 -!- LKoen has quit (Remote host closed the connection).
19:29:12 -!- LKoen has joined.
19:47:41 -!- Lord_of_Life_ has joined.
19:48:49 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
19:49:00 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:49:57 -!- FreeFull has joined.
19:53:48 -!- imode has joined.
19:59:53 -!- ArthurStrong has quit (Quit: leaving).
20:58:54 <esowiki> [[DINAC]] M https://esolangs.org/w/index.php?diff=70192&oldid=70187 * PythonshellDebugwindow * (+5)
21:11:38 -!- zseri has quit (*.net *.split).
21:11:39 -!- moony has quit (*.net *.split).
21:11:39 -!- arseniiv has quit (*.net *.split).
21:11:39 -!- atslash has quit (*.net *.split).
21:11:39 -!- heroux has quit (*.net *.split).
21:11:39 -!- longname has quit (*.net *.split).
21:11:39 -!- BWBellairs has quit (*.net *.split).
21:11:39 -!- ineiros has quit (*.net *.split).
21:11:39 -!- myname has quit (*.net *.split).
21:11:39 -!- rodgort has quit (*.net *.split).
21:11:39 -!- diginet has quit (*.net *.split).
21:11:39 -!- relrod has quit (*.net *.split).
21:11:39 -!- lifthrasiir has quit (*.net *.split).
21:12:38 -!- zseri has joined.
21:12:38 -!- moony has joined.
21:12:38 -!- arseniiv has joined.
21:12:38 -!- atslash has joined.
21:12:38 -!- heroux has joined.
21:12:38 -!- longname has joined.
21:12:38 -!- BWBellairs has joined.
21:12:38 -!- ineiros has joined.
21:12:38 -!- myname has joined.
21:12:38 -!- rodgort has joined.
21:12:38 -!- diginet has joined.
21:12:38 -!- relrod has joined.
21:12:38 -!- lifthrasiir has joined.
21:13:38 -!- moony has quit (Max SendQ exceeded).
21:13:38 -!- rodgort has quit (Max SendQ exceeded).
21:13:39 -!- diginet has quit (Max SendQ exceeded).
21:13:55 -!- rodgort has joined.
21:14:01 -!- moony has joined.
21:14:10 -!- diginet has joined.
21:40:21 <zzo38> I think they should add a dot command in the SQLite command-line interface for editing the definition of a view or trigger using an external editor.
21:42:54 -!- xkapastel has quit (Quit: Connection closed for inactivity).
21:49:39 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds).
21:59:53 -!- Phantom_Hoover has joined.
22:19:51 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
22:38:52 <zseri> I think it would be interesting to invent a programming language which supports a metatype above "type kinds". ref = https://github.com/YZITE/rfcs/blob/master/proglangs/0004-typelang.md
23:11:22 <arseniiv> posted a thing to ##math to no avail, maybe #esoteric-setminus-##math people will make something of it:
23:11:22 <arseniiv> hey hey you probably know that solutions to ordinary differential equations like P dx + Q dy = 0 are integral curves. The previous night it occurred to me that one could take 2-forms (and higher ones) instead of 1-forms and make an equation like α := P dx∧dy + Q dy∧dz + R dz∧dx = 0 whose solutions would be “integral surfaces” (resp. submanifolds of higher dimension). But I haven’t seen an equation like that anywhere. Do you know why?
23:11:22 <arseniiv> the thing doesn’t seem ill-defined: as with integral curves, every point P of an integral surface should have a tangent bivector A such that α(P, A) = 0. One can also think about nonlinear higher-order equations, again in the same way as for the ordinary “1-form equations”. WDYT?
23:11:56 <b_jonas> differential equations question? no thanks
23:13:10 * arseniiv cries silently
23:21:02 <zseri> (@arsentiv) I don't really know how to interpret your question, but that might be because I don't really know how to translate your "textification" of integral formulas back into the standard notation. hm. ref = https://en.wikipedia.org/wiki/Surface_integral
23:35:18 -!- zseri has quit (Quit: zseri).
23:46:01 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
23:50:43 -!- tromp has quit (Remote host closed the connection).
23:56:05 <arseniiv> hehe those weren’t integrals, those were differential form fields (equated to zero), but there is a hidden argument to which they are applied to: a vector field, or a bivector field in the second case. So a solution will consist of points with tangent (bi)vectors sticking out of them, and as fields by usual definition are smooth, these points would (in most cases?) make a curve, a surface etc.
23:56:57 <arseniiv> zseri: if you are reading logs ← here’s a mention to simplify the search
23:57:55 <arseniiv> also a person said me that in general there should probably be jets instead of forms
23:58:46 <arseniiv> but I don’t know if they cover k-forms for k ≥ 2
00:01:34 -!- tromp has joined.
00:05:38 -!- tromp has quit (Ping timeout: 240 seconds).
00:08:55 <zzo38> Wikipedia mentions some things they try to do to reduce draws (especially short draws).
00:09:03 <zzo38> (in chess)
00:22:07 <zzo38> Something I thought of is to use "goulash rules" after a drawn game. This is similar to what FIDE suggested, although in addition to faster time controls, draws by agreement and repetition and 50 moves are disallowed in the goulash game with my idea, and also a few moves (but not the first few moves; rather, moves coming much later) are decided at random, and if it is still a draw, the draw stands.
00:25:17 <zzo38> (I do not believe draws should be eliminated entirely, just to be reduced a bit.)
01:09:21 <esowiki> [[Special:Log/newusers]] create * Mgaudet9 * New user account
01:22:41 -!- tromp has joined.
01:27:51 -!- tromp has quit (Ping timeout: 272 seconds).
01:34:54 -!- ArthurStrong has joined.
01:53:14 -!- arseniiv has quit (Ping timeout: 240 seconds).
02:00:50 -!- ArthurStrong has quit (Ping timeout: 240 seconds).
02:02:45 -!- ArthurStrong has joined.
02:10:40 -!- ArthurStrong has quit (Ping timeout: 256 seconds).
02:11:15 -!- ArthurStrong has joined.
02:23:14 <imode> have there been any esolangs or programming languages based on the idea of L-systems? where your "instruction stream" is generated according to a string rewriting system?
02:28:42 -!- tromp has joined.
02:33:43 -!- tromp has quit (Ping timeout: 272 seconds).
02:40:42 <zzo38> I don't know; maybe. I don't really remember, either.
03:00:50 -!- MTGBusyBeaver has joined.
03:10:05 -!- Phantom_Hoover has joined.
03:16:18 <esowiki> [[Esolang talk:Sandbox]] https://esolangs.org/w/index.php?diff=70193&oldid=69582 * A * (-1392) Replaced content with "## CalcStroke It's a calculator based on what you press to your calculator. ## (n+8)/10 <pre> +8=/10 </pre> ## Digital root formula <pre> </pre>"
03:17:26 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70194&oldid=70121 * FortyTwo * (+543) /* The Waterfall Model UTM */
03:17:32 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
03:20:04 <esowiki> [[Esolang talk:Sandbox]] https://esolangs.org/w/index.php?diff=70195&oldid=70193 * A * (+336)
03:21:58 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=70196&oldid=69702 * A * (-13161) Replaced content with "## CalcStroke It's a calculator based on what you press to your calculator. In CalcStroke the operator precedence applies. (The language is based on my experience of golfi..."
03:37:51 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=70197&oldid=70196 * A * (+366)
03:44:34 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=70198&oldid=70197 * A * (+457)
03:49:00 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=70199&oldid=70198 * A * (+356) /* Instruction list */
03:55:35 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=70200&oldid=70199 * A * (+341) /* Instruction list */
03:58:25 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=70201&oldid=70200 * A * (+152)
05:08:36 -!- ArthurStrong has quit (Ping timeout: 256 seconds).
05:15:33 -!- ArthurStrong has joined.
05:28:57 -!- tromp has joined.
05:33:29 -!- tromp has quit (Ping timeout: 258 seconds).
05:38:17 -!- ArthurStrong has quit (Quit: leaving).
07:48:03 -!- Lord_of_Life_ has joined.
07:50:13 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
07:50:13 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
08:11:59 -!- ArthurStrong has joined.
08:12:23 -!- tromp has joined.
08:16:03 -!- ArthurStrong has quit (Client Quit).
09:17:26 -!- imode has quit (Ping timeout: 265 seconds).
09:24:50 -!- rain1 has joined.
10:19:18 -!- xelxebar_ has joined.
10:19:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
10:56:58 <rain1> hey whats new
11:00:17 -!- xelxebar_ has quit (Quit: ZNC 1.7.2+deb3 - https://znc.in).
11:03:16 -!- xelxebar has joined.
11:58:38 -!- xelxebar has quit (Remote host closed the connection).
12:23:18 -!- xelxebar has joined.
12:55:25 -!- atslash has quit (Quit: This computer has gone to sleep).
13:24:51 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70202&oldid=70160 * PythonshellDebugwindow * (+55) /* Loop while input = */
13:34:47 -!- arseniiv has joined.
13:48:10 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70203&oldid=70202 * PythonshellDebugwindow * (+57) /* Random of 4 inputs */
13:50:56 -!- rain1 has quit (Quit: Lost terminal).
14:22:40 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70204&oldid=70203 * PythonshellDebugwindow * (+103) /* Commands */
14:43:12 -!- ais523 has joined.
14:43:28 <ais523> my attempt at explaining the MTG busy beaver thing:
14:43:38 <ais523> the deck is designed so that it has two possible modes to be played in
14:44:18 <ais523> one mode allows the player to choose one of a finite (but very large) number of strategies, this produces an output which is a (deterministic) Waterfall Model program
14:44:49 <ais523> the number of waterclocks that can be used is bounded at 124; the size of the zeroing triggers is not inherently bounded, but it has a maximum because there are only finitely many strategies available
14:45:16 <ais523> the other mode deterministically simulates the Waterfall Model program to completion; if it is not a terminating program, the game immediately ends in a draw
14:45:45 <ais523> if you just have these two modes and nothing else, the largest possible output you can get is thus a busy beaver function (although not a cleanly defined one)
14:46:12 <ais523> now, what the players involved are looking to do is to create a deck that can be switched between these modes finitely many times
14:46:41 <ais523> so, first a player chooses, by their strategy, one of the possible Waterfall Model programs
14:46:52 <ais523> then, that program is simulated, and (if it halts) produces an output
14:47:21 <ais523> now, we go back to the first mode again, and use the output of that program as a bound on the size of the zeroing triggers of a second Waterfall Model program
14:48:14 <ais523> so we still have finitely many options here, but the number of options is now bounded by a busy beaver number that we calculated earlier
14:48:19 <ais523> repeat finitely many times
14:48:42 <ais523> the maximum possible final result is an iterated busy beaver number; however, due to busy beavers being uncomputable, it's not known what path you would have to take to reach that result
14:53:05 <b_jonas> can you really have a deck of Magic cards that can build Waterclock simulations but nothing slightly better?
14:54:07 <b_jonas> also, wait, what busy beavers?
14:54:20 <b_jonas> if the zeroing triggers aren't bounded, then can't you just choose an arbitrarily large number?
15:13:07 <b_jonas> fungot, is the lifetime warranty in the base price for your immortality serum, or do you charge extra?
15:13:07 <fungot> b_jonas: isn't that roughly how your average server app works? just out of memory, then i wont be using motif as a template
15:17:14 <ais523> b_jonas: the way it works is that the deck generates large numbers some resource (e.g. mana) using a more traditional non-infinite combo, then that resources bounds the zeroing triggers by limiting how much time you have to set them up
15:18:23 <ais523> also, the key idea is to create a deck that can construct a Waterclock simulation, but has no instant speed effects that can be used to interfere with the simulation while it's running, and no way to create a gamestate where trigger stacking order is relevant
15:18:23 <ais523> that last part seems to be the hard part
15:18:23 -!- ais523 has quit (Remote host closed the connection).
15:20:34 -!- ais523 has joined.
15:21:20 <ais523> so it's not so much about "nothing slightly better" as "the only loops that aren't clearly bounded have no way to produce output if they're infinite, and no way to manually interrupt them"
15:21:21 <int-e> ais523: shouldn't the setup also include the initial values of the counters?
15:21:48 <int-e> If not, then my mental model of TWM isn't right.
15:21:57 <int-e> counters -> clocks
15:22:13 <ais523> int-e: oh, yes
15:22:46 <ais523> but it turns out that that's mostly irrelevant because you can use a zeroing trigger to set the initial values
15:23:03 <ais523> so even when restrictions on the initial values exist, they typically turn out not to matter
15:23:43 <int-e> Ah.
15:24:31 <int-e> Well, I thought the way to go about this was to work with a fixed TWM program that implements a universal machine. But maybe not.
15:25:01 <ais523> I think the idea is, as long as we know that at least one universal machine exists within our given bounds
15:25:03 <int-e> (And, upon reflection, probably not, because then encoding 124 triggers in the deck itself becomes infeasible.)
15:25:08 <ais523> then we know that we have some sort of busy beaver being calculated
15:25:31 <ais523> which is /either/ a busy beaver for the universal machine in question, /or/ a busy beaver for some other TWM program that fits witihin the bounds in question
15:25:46 <ais523> either way, it's a finite number by the definition of busy beavers, and it's bounded from below by the busy beaver for our particular UTM
15:25:48 <int-e> Yeah.
15:30:53 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70205&oldid=70194 * Ais523 * (+936) /* The Waterfall Model UTM */ the alternate version is not obviously either TC or non-TC
15:38:13 <b_jonas> what would be really crazy is if you could make a deck that not only can't make infinite loops, but where the computation (say the waterfall matrix values) are limited by some resource in the deck itself, like it can use numbers up to 2**200 if you have 200 spare Islands in the deck. deck size is limited to something between 100 and 5000 cards by the rule that you have to be able shuffle your deck
15:38:19 <b_jonas> without assistance. the number of players might not be limited, but I don't think there are tournament games with more than 8 players or more than 8 decks.
16:07:11 <MTGBusyBeaver> Well we encountered a problem with our setup that currently makes iterating very difficult, but otherwise yes
16:08:28 <MTGBusyBeaver> The deck size is limited to 60, and we can use numbers up to around 10^^^^55
16:08:45 <b_jonas> what limits deck size to 60?
16:09:10 <int-e> b_jonas: arbitrariness
16:09:24 <MTGBusyBeaver> the rules, otherwise we could have a deck of an arbitrary number of relentless rats
16:09:40 <b_jonas> ais's deck is limited to 60 so that it can be more consistent in realistic games
16:10:11 <b_jonas> MTGBusyBeaver: no, not an arbitrary number. like I said above, there's a limit in the rules. It's just higher than 60 cards.
16:11:02 <ais523> b_jonas: MTGBusyBeaver's aiming for an entry in a competition that has specific rules, one of which is a maximum deck size of 60
16:11:04 <MTGBusyBeaver> his TM is actually trying to be SB only, so he can wish for the whole thing from a normal deck
16:11:07 <int-e> . o O ( Future M:tG players will be bred to have extra large hands. )
16:11:56 <MTGBusyBeaver> the shuffling limit is a soft limit, and hard to properly bound.
16:12:46 <int-e> What's "SB"?
16:12:46 <b_jonas> I see
16:12:50 <MTGBusyBeaver> you'll get people coming along saying "oh but i can shuffle 5001 cards"
16:13:15 <b_jonas> but those rules don't include DMM's special rule about infinite loop, because nobody knows how that would apply to setting up a simulation like this?
16:13:30 -!- imode has joined.
16:13:31 <MTGBusyBeaver> SB=Sideboard
16:13:33 <b_jonas> int-e: sideboard
16:13:58 <MTGBusyBeaver> which is 15 extra cards you can bring that dont get shuffled into your main deck for game one
16:14:04 <b_jonas> int-e: no, those of us with large hands prefer the Rubik's cube
16:14:26 <MTGBusyBeaver> you can add/exchange them with the main deck or fetch them with cards like cunning wish
16:14:42 <int-e> b_jonas: I have an 8x8x8 one which I wish I had larger hands for. The other sizes I have are just fine :)
16:16:45 <b_jonas> int-e: also no because, outside of crazy exercises like this, you usually want your deck to be as small as the rules allow or close to it
16:16:48 <int-e> b_jonas: So, to put numbers to that, (8.2cm)^3 is uncomfortably big. (6.7cm)^3 (that's my 6x6x6 one) is fine.
16:17:02 <b_jonas> which is 60 cards for most constructed format, 100 cards for a few other constructed formats
16:17:19 <b_jonas> I see
16:20:08 <b_jonas> wait, 10^^^^55? that's rather big. and you hope to fit a universal computer within the same deck as the combo that does that?
16:20:22 <MTGBusyBeaver> yes
16:20:59 <b_jonas> wow
16:21:21 <MTGBusyBeaver> 10^^^^55 is a lot smaller than our other strategies, but the largest that looks to be compatible with the (Very restrictive) TM setup
16:21:33 <ais523> if you can use all 60 cards you can do things like compute the Ackermann function
16:22:42 <MTGBusyBeaver> Yeah, we have had Ackermann beating decks in standard for 3 years in a row now.
16:24:25 <MTGBusyBeaver> and vintage could already get quite beyond that, requiring the "fast growing hierarchy" notation
16:24:45 <MTGBusyBeaver> but BB functions are even better than that
16:25:13 <b_jonas> MTGBusyBeaver: and you're allowed to customize the deck of only one player for this, right? multiple players lets you separate different mechanisms with less risk of interactions much more easily.
16:25:32 <MTGBusyBeaver> yes our opponent's deck is 60 wastes
16:25:36 <b_jonas> ais523: I'm thinking not really about the number of cards here, but the interactions between the two machines
16:26:10 <ais523> b_jonas: the basic trick is that the whole deck is sorcery speed apart from the triggers that build the waterfall
16:26:51 <b_jonas> and the waterfall macnine program would execute without resolving?
16:26:59 <b_jonas> also I'll have to reread the older logs about this later
16:27:03 <b_jonas> I was just too busy during the week
16:27:43 <MTGBusyBeaver> it executes to completion without (meaningful) choices by either player
16:28:12 <ais523> except inasmuch as Arcbond is involved, which always struck me as a potential weak point
16:28:40 <MTGBusyBeaver> what do you mean?
16:28:56 <MTGBusyBeaver> what we choose to put arc bond on?
16:30:01 <ais523> trigger stacking
16:31:10 <MTGBusyBeaver> Yeah, we did run into a propblem there, but we managed to find a way to force all of the bishop of wings on the opponent's side
16:31:34 <MTGBusyBeaver> (this is why we arent taking about iterating BB(BB(BB...)))) right now)
16:32:34 <MTGBusyBeaver> that way triggers are forced to get stacked in APNAP order and arcbond is our trigger
16:32:59 <MTGBusyBeaver> so it has to go below all of their death triggers
16:34:51 <ais523> oh, neat
16:34:52 <ais523> that's the same solution I used in my sideboard turing machine
16:35:15 -!- kspalaiologos has joined.
16:35:27 <ais523> but /forcing/ it, rather than making it an option, is pretty impressive
16:36:30 -!- kspalaiologos has quit (Client Quit).
16:36:48 <MTGBusyBeaver> we bounce/replay/copy Dowsing dagger to give them a bunch of plants
16:37:14 -!- kspalaiologos has joined.
16:37:25 <MTGBusyBeaver> then Mirrorweave them to Dralnu's crusades and Bishop of Wings
16:37:49 <ais523> might there be a way to set up a nondeterministic loop using the original Bishop of Wings on your own side?
16:38:19 <MTGBusyBeaver> but in order to do damage to kick the machine off, we need to sacrifice our bishop
16:38:55 <MTGBusyBeaver> originally via Goblin grenade and no other creatures
16:38:58 <ais523> well, it doesn't have to be the same machine
16:39:12 <ais523> I guess if that's the only way to set off /any/ potentially infinite loop…
16:39:54 <MTGBusyBeaver> yeah, its fortunate that opalescence does not grant a creature type
16:41:15 <ais523> so the idea is that the deck cannot play any more than 1 creature that has a creature type (Bishop of Wings) on its own side
16:41:18 <ais523> but can play arbitrarily many on its opponent's side
16:41:30 <ais523> and any way to start a loop requires a sacrifice of a creature with a creature type
16:42:38 <MTGBusyBeaver> we have gotten a bit beyond that as bishop of wings only trigges for things on its controller's side
16:43:23 <MTGBusyBeaver> and not arbitrarily many, only 10^^^^55 or so.
16:43:51 <ais523> ah right
16:44:11 <ais523> fwiw, optimising the number /inside/ the BB(…) hadn't really crossed my mind
16:44:34 <ais523> because the BB function is so much larger than anything you can describe in a reasonable number of charactesr
16:44:46 <MTGBusyBeaver> it is much much less important
16:45:09 <MTGBusyBeaver> than actually getting BB numbers
16:46:21 <ais523> anyway, I saw a suggestion that maybe limiting this thing to 12 waterclocks would help
16:46:23 <ais523> is that still the case? because I've wanted to make a "small" TCness construction for The Waterfall Model for a while
16:46:32 <ais523> and if that number would be helpful, it gives me a target
16:47:36 -!- MDead has joined.
16:49:32 <MTGBusyBeaver> we could probably go even a bit higher than that if we need to, but yes 12 is the limit of number of copies of a single enchantment without shenanigans, (4xoriginal, 4x copy enchantment, 4x Mirrormade)
16:49:34 -!- MDude has quit (Ping timeout: 256 seconds).
16:49:41 -!- MDead has changed nick to MDude.
16:51:52 <MTGBusyBeaver> really 13 as the halting clock does not need a dralnu's crusade
16:53:17 <ais523> anyway, I need to go, but I'll keep thinking about this
16:53:20 -!- ais523 has quit (Quit: quit).
16:53:31 <MTGBusyBeaver> also helpful would be proving whether the "growing" variant is TC
16:54:58 <MTGBusyBeaver> I suspect it is not, but my initial attempts at proving that have been flawed.
17:23:11 -!- ArthurStrong has joined.
17:41:05 -!- ArthurStrong has quit (Quit: leaving).
17:42:33 -!- longname has quit (Read error: Connection reset by peer).
17:44:15 -!- longname has joined.
17:58:04 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70206&oldid=70164 * Hanzlu * (+23)
18:01:47 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70207&oldid=70206 * Hanzlu * (+17)
18:03:51 -!- MTGBusyBeaver has quit (Remote host closed the connection).
18:04:26 -!- MTGBusyBeaver has joined.
18:06:19 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70208&oldid=70207 * Hanzlu * (+96)
18:12:53 <zzo38> SQLite documentation mentions four kind of "application file formats", being fully custom, pile of files, wrapped pile of files, and SQLite. But Microsoft Office documents are actually a wrapped pile of files (although using a container format which isn't used much elsewhere, although 7-Zip can open it). There may be other formats nested, too.
18:13:13 <zzo38> And then, there is stuff such as JSON, XML, etc
18:20:09 -!- Phantom_Hoover has joined.
19:01:47 <b_jonas> zzo38: no, Microsoft Office uses zip as the container format
19:02:41 <b_jonas> and the contents are mostly XML files, except it stores images in ordinary formats like jpeg
19:04:55 <zzo38> Perhaps the new version does; the old version uses a different container format, and the contents are a custom format.
19:07:41 <b_jonas> oh, the old file formats are custom and optimized for MS Office's internals
19:07:48 <b_jonas> and for slow computers
19:10:32 <int-e> . o O ( Let's crash and pretend the resulting core dump is a file format. )
19:13:29 <olsner> . o O ( in addition to unexec, emacs also allows you to save files as "plain text" )
19:23:00 -!- sombrero has joined.
19:30:56 <sombrero> Hi
19:31:13 <sombrero> mmm, just a quick visit to express my gratitude to the esolanguagers and esolinguists that build esolang.org , I was a good source of inspiratio
19:31:37 <sombrero> It was a good source of inspiration
19:32:13 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
19:49:05 -!- Lord_of_Life_ has joined.
19:51:05 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
19:51:06 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:53:43 <arseniiv> `relcome sombrero
19:53:45 <HackEso> sombrero: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
19:57:04 <sombrero> well, besides help with eso-inspiration, I was trying to locate ternary material, and indeed there was an esolang called "TrybblePusher". https://vixra.org/abs/2002.0570 (specifically for the last section )
19:57:14 <sombrero> ;)
20:19:13 <sombrero> thanks
20:19:28 -!- sombrero has quit (Remote host closed the connection).
20:26:05 -!- Phantom_Hoover has joined.
20:58:46 -!- kspalaiologos has quit (Quit: Lost terminal).
21:14:56 -!- xelxebar has quit (Quit: ZNC 1.7.2+deb3 - https://znc.in).
21:15:05 -!- xelxebar_ has joined.
21:20:16 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70209&oldid=70208 * Hanzlu * (-1)
22:32:26 -!- arseniiv has quit (Ping timeout: 240 seconds).
23:08:03 -!- xelxebar_ has quit (Ping timeout: 240 seconds).
23:09:01 -!- xelxebar has joined.
23:19:03 -!- rodgort has quit (Quit: Leaving).
23:30:50 -!- rodgort has joined.
23:36:31 -!- rodgort has quit (Ping timeout: 260 seconds).
23:39:13 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
00:04:09 -!- rodgort has joined.
00:51:23 <esowiki> [[Special:Log/upload]] upload * Neauoire * uploaded "[[File:ESjAmDWU8AAVJsH.jpg]]"
00:52:00 <esowiki> [[Orca]] https://esolangs.org/w/index.php?diff=70211&oldid=70097 * Neauoire * (+192) Added image
00:54:11 <esowiki> [[Orca]] M https://esolangs.org/w/index.php?diff=70212&oldid=70211 * Neauoire * (+15) Added caption to IDE image
00:57:06 <esowiki> [[Orca]] M https://esolangs.org/w/index.php?diff=70213&oldid=70212 * Neauoire * (+175)
01:01:18 <esowiki> [[Orca]] M https://esolangs.org/w/index.php?diff=70214&oldid=70213 * Neauoire * (+40) /* External resources */
01:05:07 <esowiki> [[Orca]] M https://esolangs.org/w/index.php?diff=70215&oldid=70214 * Neauoire * (+273) Added midi example
03:00:05 -!- Phantom_Hoover has joined.
03:08:22 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
03:18:22 <zzo38> Now I implemented the "setsheet" command in TeXnicard, which needs an array of up to sixteen sheet names. (Sheet names are separate from page names.) Hopefully sixteen sheets per card should be sufficient!
05:04:35 -!- Sgeo_ has quit (Read error: Connection reset by peer).
05:12:28 -!- Sgeo has joined.
06:09:00 -!- Sgeo has quit (Read error: Connection reset by peer).
06:11:05 -!- Sgeo has joined.
06:22:19 -!- arseniiv has joined.
06:29:46 -!- phablet has joined.
06:35:04 -!- imode has quit (Ping timeout: 255 seconds).
06:37:18 -!- phablet has quit (Ping timeout: 265 seconds).
06:56:09 -!- phablet has joined.
07:21:06 <esowiki> [[KEMURI]] https://esolangs.org/w/index.php?diff=70216&oldid=69952 * YamTokTpaFa * (+801)
07:36:45 -!- phablet has quit (Ping timeout: 265 seconds).
07:49:10 -!- Lord_of_Life_ has joined.
07:50:54 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
07:50:54 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
08:41:05 -!- arseniiv_ has joined.
08:42:02 -!- arseniiv has quit (Ping timeout: 240 seconds).
09:33:32 <b_jonas> fungot, where do I buy baby weight scales conforming to the 2019 redefinition of the kilogram?
09:33:32 <fungot> b_jonas: advice for me? :d hehe. yea. right)
09:37:52 <b_jonas> fungot, how do you pronounce "complacent"?
09:37:52 <fungot> b_jonas: yep also didn't like hw much, well doing electronics to be exact.
09:38:11 <b_jonas> neither hace I
10:14:24 <int-e> Hmm there's "complaisant" as well, didn't know that.
10:18:07 <b_jonas> int-e: that sounds like someone tried to spell "complacent" in french
10:19:27 -!- MTGBusyBeaver has quit (*.net *.split).
11:22:09 <b_jonas> fungot, what does the english verb "discress" mean?
11:22:09 <fungot> b_jonas: luxy like, *now*, for example
11:23:44 <int-e> b_jonas: No, they just borrowed the word from french, and it ended up with two homophones that have slightly different meanings.
12:04:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
12:59:52 <esowiki> [[Deadfish]] M https://esolangs.org/w/index.php?diff=70217&oldid=67705 * PythonshellDebugwindow * (-17) /* C */ Changed x from an unsigned int just to an int, because the 'if x == -1' would never execute for an unsigned int.
13:08:28 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70218&oldid=70172 * PythonshellDebugwindow * (+34) /* Commands */
13:09:40 -!- Phantom_Hoover has joined.
13:38:00 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70219&oldid=70218 * PythonshellDebugwindow * (+172) Interpreters for esos
13:50:53 <esowiki> [[DINAC]] M https://esolangs.org/w/index.php?diff=70220&oldid=70192 * PythonshellDebugwindow * (+101) /* Interpret Deadfish 1 char at a time */
14:00:04 -!- rain1 has joined.
14:37:56 -!- rain1 has quit (Quit: Lost terminal).
16:05:06 <b_jonas> fungot: ok, so what's your quote for the immortality serum with the lifetime warranty, adult size?
16:10:57 <esowiki> [[DINAC/STDLIB]] M https://esolangs.org/w/index.php?diff=70221&oldid=70188 * PythonshellDebugwindow * (+6)
16:15:58 <esowiki> [[DINAC]] M https://esolangs.org/w/index.php?diff=70222&oldid=70220 * PythonshellDebugwindow * (+1248) /* Interpret Deadfish 1 char at a time */
16:46:03 -!- MTGBusyBeaver has joined.
16:47:43 <arseniiv_> fungot: I join b_jonas here
16:47:43 <fungot> arseniiv_: if you think she is lacking in my idea, really; it's just an example of how to implement v and started writing them down
16:47:50 -!- arseniiv_ has changed nick to arseniiv.
16:48:15 <arseniiv> hm fungot knows about the v language
16:48:15 <fungot> arseniiv: reading nested stuff is a pain
16:48:36 <arseniiv> I agree to an extent
16:53:56 -!- ais523- has joined.
16:54:27 <b_jonas> fungot: what's your quote for the immortality serum with the lifetime warranty, adult size?
16:54:27 <fungot> b_jonas: does it generate? i'm not talking about programmers that are beginners in scheme.
16:54:37 <b_jonas> um
16:54:41 -!- imode has joined.
16:54:50 <ais523-> the hyphen is half an underscore
16:55:56 <MTGBusyBeaver> so underten?
16:56:10 <ais523-> seems about right :-D
16:57:04 <ais523-> (I add extra underscores to my name to indicate how insane the method via which I'm connecting to IRC is)
16:57:24 <b_jonas> I was thinking more of ↽ which is half of ←
16:58:02 <ais523-> on the subject of the "growing" alternative waterfall model, it doesn't act much like The Waterfall Model at all, I suspect it may be TC via some other mechanism but it's going to be hard to prove
16:58:16 <b_jonas> oh, I use nc_jonas as my nick when I connect using (rlwrap netcat chat.freenode.net 6667 | cat -v) except that I don't because I most often do that to renew the last seen time of alternate nicks that I own
16:58:21 <ais523-> the way to think about it is that the zeroing triggers are delayed for a while, then all run at once
16:58:53 <ais523-> b_jonas: that's ais523|telnet (or ais523|nc) when I do it, and merits less than half an underscore
16:59:21 <ais523-> really, the issue with the underscore scale is that ais523_ is actually fairly restricted, there should have been more scales with fewer underscores than that
17:00:21 <b_jonas> I don't recall what exact program I used to connect from the rescue system of debian install images
17:00:38 <ais523-> b_jonas: that is very very close to my current half-underscore setup, as it happens
17:00:47 <MTGBusyBeaver> you think it is actually TC? Interesting. I'm having a hard time seeing how it could behave nicely.
17:01:18 <ais523-> as a general rule, if you can't easily prove something sub-TC, and don't notice a restriction that seems insurmountable, it usually is TC
17:02:10 <MTGBusyBeaver> if it is, that opens up a lot more waterclocks (249-c where c is some small constant like 3)
17:02:31 <MTGBusyBeaver> and makes the setup a lot easier
17:04:24 <b_jonas> I don't think the difference between 120 and 240 clocks matters, if your limit on the matrix values isn't small
17:04:26 <zzo38> I add the underscores when the server is unaware that the connection with the name "zzo38" is lost.
17:04:37 <MTGBusyBeaver> also there was a question about how these implementations handle the case when two waterclocks zero at the same time. Both of their rules get run before the next decrements.
17:07:32 <ais523-> that's OK, any deterministic resolution will be OK for this
17:07:43 <ais523-> because you can write programs to never need to do that
17:08:03 <ais523-> obviously it has to be deterministic so that you can't create a loop where a player controls the number of iterations
17:08:47 <MTGBusyBeaver> yeah, exactly. Thats why we are using Coat of Arms as the way to boost toughness
17:09:01 <MTGBusyBeaver> `card-by-name Coat of Arms
17:09:03 <HackEso> Coat of Arms \ 5 \ Artifact \ Each creature gets +1/+1 for each other creature on the battlefield that shares at least one creature type with it. (For example, if two Goblin Warriors and a Goblin Shaman are on the battlefield, each gets +2/+2.) \ EX-R, 7E-R, 8ED-R, 9ED-R, 10E-R, M10-R, DDS-R, H09-R
17:12:39 -!- kspalaiologos has joined.
17:33:39 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
17:34:05 -!- Lord_of_Life has joined.
17:36:32 <b_jonas> well, google says "Your search - immortality serum lifetime warranty - did not match any shopping results."
17:37:02 <b_jonas> it also says "Suggestions: Make sure that all words are spelled correctly." which is a bit ridiculous because google knows perfectly well how to fix misspelled words
18:06:06 <zzo38> Someone told me that Google Groups has stopped carrying Usenet groups, but this morning I downloaded six articles and four were from Google Groups. Do you know anything about this? Maybe it is just new ones they have stopped adding? I don't know?
19:17:14 -!- kspalaiologos has quit (Quit: leaving).
19:27:19 -!- atslash has joined.
19:49:53 -!- Lord_of_Life_ has joined.
19:52:23 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
19:52:23 -!- Lord_of_Life_ has quit (Excess Flood).
19:54:22 -!- Lord_of_Life has joined.
19:56:26 -!- Lord_of_Life has quit (Excess Flood).
19:57:31 -!- Lord_of_Life has joined.
20:48:18 -!- arseniiv has quit (Ping timeout: 258 seconds).
21:45:58 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
21:49:29 <esowiki> [[2C]] M https://esolangs.org/w/index.php?diff=70223&oldid=66753 * Ais523 non-admin * (+0) /* Limited alphabet */ fix proof
21:50:24 <esowiki> [[2C]] M https://esolangs.org/w/index.php?diff=70224&oldid=70223 * Ais523 non-admin * (+0) /* Limited alphabet */ fix the other location too
21:51:23 <esowiki> [[2C]] M https://esolangs.org/w/index.php?diff=70225&oldid=70224 * Ais523 non-admin * (+3) /* Limited alphabet */ typo
23:05:11 <zzo38> I made up a "separations output format", which is meant for use when a program outputs raster data for printing with an arbitrary set of separations, and to be not too complicated to read and write, but allows metadata to be specified if needed.
23:06:49 <zzo38> Do you like this?
23:08:38 <ais523-> I don't think I've ever written a program that needs to do that
23:08:50 <ais523-> but its probably good to have a defined format if you're writing a program that does
23:12:58 <zzo38> OK
23:15:23 <b_jonas> zzo38: doesn't ImageMagick 7's format already allow an arbitrary number of color channels?
23:15:41 <b_jonas> although sometimes you want 8-bit rgb channels and 16-bit depth
23:17:00 <b_jonas> I just use multiple images for that sort of thing though
23:18:58 <zzo38> Maybe it does, although I think that has a somewhat different use that what I did.
23:20:29 <zzo38> Here is the current version of the document: http://sprunge.us/3VkU32 I can change it if you have suggestions to change it, though (maybe).
23:23:16 -!- ais523- has quit (Remote host closed the connection).
23:23:36 -!- ais523- has joined.
23:28:58 -!- ais523- has quit (Quit: quit).
23:33:45 <Hooloovo0> I think I don't understand what "raster" and "separations" mean
23:34:26 <int-e> raster ~ a grid of pixels
23:34:45 <int-e> I imagine separations are for color channels? I haven't looked.
23:35:25 <Hooloovo0> yes, I know what both of those words mean, but not in context
23:38:39 <zzo38> Yes, mainly, although separations are generally used for printing, and not for display on screen.
23:54:30 <zzo38> Printing separations is normally CMYK, although sometimes additional separations are used. (e.g. Magic: the Gathering cards are printed with two additional separations; one for the "underprinting layer" on shiny cards, and one for the text (which is still black, but I read somewhere that it is a separate black layer than the black layer for the art))
00:00:06 -!- xelxebar has joined.
00:21:19 <kmc> zzo38: interesting, do you know why they use a separate black layer?
00:22:02 <b_jonas> kmc: they do that for most color printing, different ink for the black in the full color parts and in the black and white parts
00:22:22 <b_jonas> kmc: even most home printers have separate black inks for them, except for some very cheap ones
00:23:05 <b_jonas> it's nothing specific for M:tG
00:23:12 <int-e> . o O ( Which are probably very expensive in the long run, and have awful looking text. )
00:23:14 <b_jonas> mind you, M:tG does use other special printing technology
00:23:51 <b_jonas> including I think printing the back in a different way than the front, to keep the back hard to distinguish between different sets while the front can become nicer
00:23:52 <int-e> https://en.wikipedia.org/wiki/Spot_color also comes up
00:24:38 <int-e> (Generally. I don't quite understand why M:tG comes up here... nerds!)
00:25:24 <b_jonas> int-e: why does category theory come up here? nerds
00:26:05 <int-e> b_jonas: I know, right?
00:26:55 <int-e> But I honestly didn't expect people to care about how M:tG cards are *printed*.
00:26:58 <b_jonas> and SAT solvers and comparison of different proof systems
00:27:24 <b_jonas> int-e: I do care about that sort of thing, typography looking nice
00:27:32 <int-e> b_jonas: Obviously I'm embracing that label myself.
00:27:32 <b_jonas> not only for M:tG cards
00:27:57 <b_jonas> like Knuth says, "I can't eat in a restaurant because I only see what font is used on the menu."
00:28:09 <int-e> kemming
00:28:21 <b_jonas> oh yeah
00:28:22 <int-e> (why did I put a second 'm' in there)
00:28:24 <b_jonas> `? font
00:28:26 <HackEso> ​#esoteric bitmap fonts include: \oren\'s font http://www.orenwatson.be/fontdemo.htm , lifthrasiir's font https://github.com/lifthrasiir/unison/ , b_jonas's font http://www.math.bme.hu/~ambrus/pu/fecupboard20-c.pcf.gz , fizzie's font https://github.com/fis/rfk86/tree/master/web/font , FireFly's fonts http://xen.firefly.nu/up/fonts/
00:28:29 <b_jonas> ^ this one is characteristic of the channel
00:29:06 <b_jonas> I should add more characters to mine some day
00:29:22 <int-e> b_jonas: Anyway, I apologize if you felt insulted.
00:29:31 <b_jonas> I'm not insulted
00:34:55 <MTGBusyBeaver> Wouldn't the text be on a different layer than the art/frame due to translations?
00:35:20 <kmc> that's what i was wondering
00:36:24 <int-e> Makes sense to me.
00:37:37 -!- MTGBusyBeaver has left.
00:40:23 <b_jonas> MTGBusyBeaver: that doesn't mean they have to print it in different layers
00:40:48 <b_jonas> those are layers for editing
01:35:54 -!- imode has quit (Ping timeout: 256 seconds).
01:57:14 -!- shachaf has joined.
01:57:40 <shachaf> Why is writing state machines/iterators for traversing recursive structures and so on so hard?
02:02:48 <shachaf> What language features can help with it? Some form of coroutine, I suppose, but if you want something that operates in fixed space it seems pretty tricky.
02:21:09 <zzo38> kmc: I don't know why Magic: the Gathering has a special black layer for text than for art. But this is what I have read; that there are two black layers.
02:45:30 -!- shachaf has left.
02:52:26 -!- imode has joined.
03:14:10 -!- Phantom_Hoover has joined.
03:18:50 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
04:00:00 -!- Taneb has quit (Quit: I seem to have stopped.).
04:01:37 -!- Taneb has joined.
04:11:38 -!- imode has quit (Ping timeout: 240 seconds).
04:13:48 -!- imode has joined.
04:20:19 -!- FreeFull has quit.
05:37:45 -!- ArthurStrong has joined.
06:24:52 -!- ArthurStrong has quit (Quit: leaving).
07:51:05 -!- imode has quit (Ping timeout: 258 seconds).
07:51:06 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
07:51:54 -!- Lord_of_Life has joined.
09:18:17 -!- b_jonas has quit (Quit: leaving).
09:47:48 -!- cpressey has joined.
09:52:17 <cpressey> Welcome to the international center for esoteric programming Lagrangian design, development, and deployment!
10:02:40 -!- arseniiv has joined.
10:22:23 -!- laerlingSAP has changed nick to laerling2.
10:31:51 -!- sprocklem has quit (Ping timeout: 260 seconds).
10:33:51 -!- sprocklem has joined.
10:58:45 -!- spruit11 has quit (Ping timeout: 252 seconds).
11:21:09 -!- wib_jonas has joined.
11:21:37 <wib_jonas> Lagrangian_
11:40:25 -!- spruit11 has joined.
12:07:45 <arseniiv> Lagrangian_?
12:08:10 <arseniiv> Hamiltonian^
12:22:28 -!- sebbu has quit (Read error: Connection reset by peer).
12:22:47 -!- sebbu has joined.
12:26:05 -!- FreeFull has joined.
12:39:10 -!- sprocklem has quit (Ping timeout: 265 seconds).
12:39:29 -!- sprocklem has joined.
12:49:35 -!- LKoen has joined.
12:53:31 -!- LKoen has quit (Read error: Connection reset by peer).
12:55:03 <esowiki> [[Special:Log/newusers]] create * KiraRose * New user account
12:55:04 -!- LKoen has joined.
12:55:04 -!- LKoen has quit (Read error: Connection reset by peer).
12:55:51 -!- LKoen has joined.
12:55:52 -!- LKoen has quit (Read error: Connection reset by peer).
12:56:29 -!- LKoen has joined.
12:57:34 -!- sprocklem has quit (Ping timeout: 255 seconds).
13:04:05 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70226&oldid=70144 * KiraRose * (+143)
13:04:20 -!- LKoen has quit (Read error: Connection reset by peer).
13:05:00 -!- LKoen has joined.
13:06:54 -!- wib_jonas has quit (Remote host closed the connection).
13:42:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
13:45:30 -!- xelxebar has joined.
13:50:50 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
13:56:47 <esowiki> [[UwU]] N https://esolangs.org/w/index.php?oldid=70227 * KiraRose * (+1765) Created page with "'''UwU''' is an [[Joke language list | joke]] [[esoteric programming language]] designed by [[User: KiraRose]]. It is exactly like [[Brainfuck]] but uses UwU faces making it a..."
13:57:56 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70228&oldid=70226 * KiraRose * (+4)
14:03:13 -!- sprocklem has joined.
14:06:07 -!- aji has quit (Ping timeout: 252 seconds).
14:16:15 -!- kspalaiologos has joined.
14:28:42 -!- aji has joined.
14:52:50 -!- sprocklem has quit (Ping timeout: 240 seconds).
15:04:04 -!- sprocklem has joined.
15:29:33 -!- sprocklem has quit (Ping timeout: 258 seconds).
16:12:49 -!- imode has joined.
17:00:33 -!- MTGBusyBeaver55 has joined.
17:00:43 -!- MTGBusyBeaver55 has quit (Remote host closed the connection).
17:01:29 -!- MTGBusyBeaver42 has joined.
17:18:44 -!- sprocklem has joined.
17:28:47 -!- cpressey has quit (Quit: A la prochaine.).
17:42:26 -!- b_jonas has joined.
17:48:50 -!- LKoen has joined.
17:54:57 -!- kspalaiologos has quit (Quit: Leaving).
18:13:36 -!- MTGBusyBeaver42 has quit (Ping timeout: 240 seconds).
18:33:25 <esowiki> [[Fit]] M https://esolangs.org/w/index.php?diff=70229&oldid=65384 * SoundOfScripting * (-1) Shortend TC proof
19:13:54 -!- MTGBusyBeaver42 has joined.
19:36:30 -!- MTGBusyBeaver42 has quit (Remote host closed the connection).
19:50:32 -!- Lord_of_Life_ has joined.
19:53:15 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
19:53:22 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:55:54 -!- MTGBusyBeaver42 has joined.
19:56:30 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70230&oldid=70219 * PythonshellDebugwindow * (+14) /* Interpret PlusOrMinus */
19:59:35 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70231&oldid=70230 * PythonshellDebugwindow * (-6) /* Examples */
19:59:51 <esowiki> [[XENBLN]] M https://esolangs.org/w/index.php?diff=70232&oldid=70231 * PythonshellDebugwindow * (+0) /* Quine (1 bytes) */
20:03:16 -!- sprocklem has quit (Ping timeout: 255 seconds).
20:03:36 -!- sprocklem has joined.
20:26:11 -!- MTGBusyBeaver42 has quit (Remote host closed the connection).
20:43:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
20:46:48 -!- xelxebar has joined.
20:52:19 -!- atslash has quit (Ping timeout: 258 seconds).
20:53:01 -!- atslash has joined.
22:58:33 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:04:34 -!- atslash has quit (Ping timeout: 258 seconds).
23:05:55 -!- atslash has joined.
00:47:04 <arseniiv> I counted all the ordinals, all of them!
00:47:07 -!- arseniiv has quit (Quit: gone completely :o).
01:13:26 <int-e> classy
01:19:43 <kmc> how many were there
01:26:19 -!- MTGBusyBeaver has joined.
01:44:25 <MTGBusyBeaver> Update on where we are at on the MTG max damage deck implementing The Waterfall Method with ~124 waterclocks to get Busy Beaver numbers
01:45:20 <MTGBusyBeaver> We have managed to allow us to iterate the Busy Beaver function.
01:45:42 <MTGBusyBeaver> ... A Busy Beaver number of times
01:47:34 <MTGBusyBeaver> so BB_2(X) is BB(BB(BB(...X) where there are BB(X) nested functions
01:50:06 <MTGBusyBeaver> We are currently getting to at least BB_6(X) and possibly to as much as BB_8(X)
01:50:47 <kmc> that's a very busy beaver indeed
01:54:52 <MTGBusyBeaver> proving TWM turing complete with 12 clocks (and a halting clock) improves the X, and possibly opens up other improvements, Even better is proving the "growing" or "flooding" variant of TWM.
02:35:14 -!- b_jonas has quit (Remote host closed the connection).
02:44:23 -!- atslash has quit (Ping timeout: 260 seconds).
02:45:07 -!- atslash has joined.
02:54:34 -!- atslash has quit (Ping timeout: 256 seconds).
02:55:22 -!- atslash has joined.
02:58:59 -!- xelxebar has quit (Remote host closed the connection).
02:59:23 -!- xelxebar has joined.
04:26:20 -!- sebbu2 has joined.
04:29:58 -!- sebbu has quit (Ping timeout: 255 seconds).
05:16:06 <esowiki> [[XENBLN]] https://esolangs.org/w/index.php?diff=70233&oldid=70232 * A * (+61) Add the infix counterparts
05:19:07 <esowiki> [[XENBLN]] https://esolangs.org/w/index.php?diff=70234&oldid=70233 * A * (+17051) You really need to copy the text here. Because if Pastebin broke down...
05:43:40 <esowiki> [[XENBLN]] https://esolangs.org/w/index.php?diff=70235&oldid=70234 * A * (+5797) Take a look at my mass-produced table!
05:43:59 <esowiki> [[XENBLN]] https://esolangs.org/w/index.php?diff=70236&oldid=70235 * A * (-176) Whoops, left some testing code in.
05:59:04 -!- imode has quit (Ping timeout: 255 seconds).
05:59:47 <esowiki> [[W (A)]] https://esolangs.org/w/index.php?diff=70237&oldid=69995 * A * (+86)
06:08:54 -!- imode has joined.
06:55:19 -!- imode has quit (Ping timeout: 255 seconds).
07:28:03 -!- Sgeo_ has joined.
07:30:50 -!- Sgeo has quit (Ping timeout: 240 seconds).
07:51:28 -!- Lord_of_Life_ has joined.
07:52:28 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
07:52:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
08:12:44 -!- sprocklem has quit (Ping timeout: 258 seconds).
08:14:30 -!- sprocklem has joined.
10:19:48 -!- wib_jonas has joined.
10:36:44 -!- sprocklem has quit (Ping timeout: 265 seconds).
10:38:15 -!- sprocklem has joined.
11:04:58 -!- cpressey has joined.
11:07:22 <wib_jonas> why does python not have a command-line option to add directories to the module search path, like perl -I ?
11:11:03 -!- sprocklem has quit (Ping timeout: 265 seconds).
11:11:06 <cpressey> Because Python programmers love typing the word PYTHONPATH.
11:12:26 -!- sprocklem has joined.
11:17:12 -!- sprocklem has quit (Ping timeout: 256 seconds).
11:17:50 -!- sprocklem has joined.
11:44:21 <Taneb> (I still don't get how those MtG people are managing to iterate the busy beaver function)
11:47:57 <cpressey> Taneb: I think of it this way: there is an NTM that recognizes BB(BB(100)) and recognizes no larger finite numbers.
11:48:40 <cpressey> It recognizes smaller numbers, too - I think that's unavoidable.
11:48:55 <cpressey> But BB(BB(100)) is the largest finite number it recognizes.
11:49:44 <Taneb> So they're calculating a set with an upper bound of BB(BB(100))?
11:51:04 <cpressey> For a certain deck, there is a set of possible plays; the largest-damage play in this deck does a damage of BB(BB(100)). They don't *calculate* it. But it is a *possible* play of the deck.
11:51:31 <cpressey> If you were to somehow guess it, you could play it. You wouldn't *know* you guessed it.
11:51:50 <cpressey> Importantly: any larger guess would not be playable, with this deck.
11:52:18 <Taneb> Right, I think I understand now
11:52:47 <Taneb> They're making decks with extremely high but finite upper bounds on how much damage they can do
11:54:08 -!- Sgeo__ has joined.
11:56:00 <cpressey> Right (and part of that is disallowing a deck if it can deal unbounded damage).
11:57:27 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
12:04:14 <esowiki> [[Dotsy]] N https://esolangs.org/w/index.php?oldid=70238 * Quadril-Is * (+333) Quick copy paste from samsung notes
12:05:08 <cpressey> "100" is just picked out of the air. int-e used 10^100. I think the actual constant is limited by what you can encode in the deck.
12:05:50 <cpressey> But I'm not sure you couldn't also make a deck iterate BB multiple times, so you could maybe BB(BB(BB(BB(BB(6))))) - you probably don't need a large constant.
12:10:28 <Taneb> 01:47 MTGBusyBeaver: so BB_2(X) is BB(BB(BB(...X) where there are BB(X) nested functions
12:10:28 <Taneb> 01:50 MTGBusyBeaver: We are currently getting to at least BB_6(X) and possibly to as much as BB_8(X)
12:12:25 <wib_jonas> wait what_
12:12:31 <wib_jonas> really?
12:13:44 <Taneb> I only have MTGBusyBeaver's word for it
12:38:55 -!- xelxebar has quit (Remote host closed the connection).
12:41:36 -!- xelxebar has joined.
12:57:09 -!- arseniiv has joined.
12:59:25 <Cale> hmm
13:03:20 <longname> 08:02 <+Lisbeth> Sorry N33R I just love seeing your reaction
13:03:24 <longname> aaaaa
13:03:45 <longname> it keeps accidentally copy/pasting
13:05:43 <arseniiv> <kmc> how many were there => |Ord| many
13:06:12 <Cale> The value of BB(1919) is already independent of ZFC
13:07:36 <arseniiv> uh I may have answered “two many”, damn
13:08:05 <arseniiv> might*
13:11:17 <Cale> Quantifiers get really weird here. While it's obviously the case that given any natural number n, we can give a construction of a Turing machine that recognises numbers up to n, when we have no way of explicitly writing down the numeral for n, and instead it's a natural number that is defined by some formula, we immediately run into cases where constructing such a Turing machine is no longer so easy.
13:11:44 <Cale> So, while you can say "there is an NTM that recognizes BB(BB(100)) and recognizes no larger finite numbers", and in some sense it's obviously true
13:14:01 <Cale> There's something a bit weird about it, because we don't know (and it'll be undecidable for practically any system of mathematics we've devised) which number that is, and it doesn't seem easy to otherwise produce a machine that would have to fit the bill regardless.
13:16:35 <Cale> So if you wanted to write down the precise states of the machine in its entirety, even with an unlimited amount of paper, it would be beyond us and it's not even entirely clear that such a thing is well-defined. :D
13:17:11 <Cale> (because the values of busy beaver numbers become independent of axiomatic systems so quickly)
13:19:13 -!- sebbu2 has changed nick to sebbu.
13:36:31 <cpressey> What gets me is, if you were to somehow (miraculously!) guess BB(BB(100)), the NTM would accept it, but you'd never know if the number you guessed was *actually* BB(BB(100)). The NTM that accepts BB(BB(100)) necessarily accepts smaller numbers too. How that necessity comes about definitely feels a little weird to me.
13:43:38 -!- MTGBusyBeaver has quit (Remote host closed the connection).
13:52:57 <Cale> cpressey: Well, if somehow we could prove in ZFC that a Turing machine with a concrete representation only accepted, for example, BB(1919), then there would additionally be a finite sequence of steps in ZFC explaining the evaluation of that Turing machine on a particular numeral n = S(S(S...(SZ)...) and thus deciding the value of BB(1919). But there is a Turing machine with 1919 states which unless ZFC is
13:52:57 <Cale> inconsistent, ZFC can't prove that it terminates, because the machine searches for contradictions in ZFC.
13:57:49 <Cale> At the same time, it's fine that ZFC proves that such a Turing machine exists in the sense of proving a sentence of the form (exists x. ...) because it doesn't necessarily tell us what that machine is.
14:30:24 <cpressey> "The NTM that accepts BB(BB(100)) necessarily accepts smaller numbers too" <-- After taking a walk, I think this is not quite right now. But it all makes my head spin.
14:38:24 <Taneb> You can definitely make a turing machine that accepts that number and only that number, if you happen to out-of-band know what that number happens to be
14:41:05 <cpressey> "Do you accept this number?" "Yes." "Do you accept any smaller numbers?" "No." "Do you accept any larger numbers?" "Beats me, pal."
14:45:31 -!- MTGBusyBeaver has joined.
14:47:13 <MTGBusyBeaver> Sorry to miss the earlier conversation about how we iterate the BB function
14:48:07 <Taneb> No worries, I'm satisfied with it now
14:50:45 <MTGBusyBeaver> Without going too deep into the technical details, the TM outputs a resource (life) that we can use to increase the efficiency of our conversion into more/bigger TMs
14:51:24 <MTGBusyBeaver> chaining these together lets us get higher order BB functions.
14:53:28 <wib_jonas> sure, but don't you run out of kinds of resources? M:tG doesn't offer that many easily usable types, and you need some for internal use by the turing machine, and some for the part before that generates the resource that limits the entries of the waterfall matrix
14:54:14 <wib_jonas> don't you get all sorts of conflicts where the cards of the deck can be used in ways other than you planned?
14:56:07 <MTGBusyBeaver> yes the number of resources is why we are at about BB_6 instead of higher.
14:56:52 <MTGBusyBeaver> The TM itself uses creatures and bans many instants
14:57:34 <MTGBusyBeaver> The setup is extremely limiting with the number of creatures and enchantments we can have total
14:57:49 <MTGBusyBeaver> (non aura enchantments)
14:58:24 <wib_jonas> ok, but BB_6 of a non-small number still sounds hard to attain to me, so I'll have to look up the details later
14:59:33 <MTGBusyBeaver> The TM construction uses 2 creature types per waterclock, so we are limited to 124 waterclock (plenty enough to implement a Universal TM)
14:59:51 <wib_jonas> yes, that part doesn't sound too limiting
15:00:29 <MTGBusyBeaver> and yes I plan on getting this properly written up so that interested parties dont have to comb through the 100+ page forum thread.
15:01:00 <wib_jonas> ah yes, that's always the plan. at least there's a forum thread and irc logs where I'll be able to see the main ideas
15:02:10 <MTGBusyBeaver> well I did it for beating ghram's number in standard last year
15:02:34 <wib_jonas> I don't even know yet how you'll get a waterclock from Door of Destinies... no wait, what enchantment was it?
15:03:08 <MTGBusyBeaver> `card-by-name rotlung reanimator
15:03:10 <HackEso> Rotlung Reanimator \ 2B \ Creature -- Zombie Cleric \ 2/2 \ Whenever Rotlung Reanimator or another Cleric dies, create a 2/2 black Zombie creature token. \ ONS-R
15:03:19 <wib_jonas> Coat of Arms
15:03:25 <MTGBusyBeaver> `card-by-name coat of arms
15:03:26 <HackEso> Coat of Arms \ 5 \ Artifact \ Each creature gets +1/+1 for each other creature on the battlefield that shares at least one creature type with it. (For example, if two Goblin Warriors and a Goblin Shaman are on the battlefield, each gets +2/+2.) \ EX-R, 7E-R, 8ED-R, 9ED-R, 10E-R, M10-R, DDS-R, H09-R
15:03:40 <wib_jonas> I do understand the Rotlung Reanimator construction, more or less
15:03:48 <MTGBusyBeaver> `card-by-name Dralnu's crusade
15:03:49 <HackEso> Dralnu's Crusade \ 1BR \ Enchantment \ Goblin creatures get +1/+1. \ All Goblins are black and are Zombies in addition to their other creature types. \ PS-R
15:03:59 <wib_jonas> there are three cards like Rotlung Reanimator, and they are very important for all these constructions
15:04:19 <MTGBusyBeaver> yeah we actually use bishop of wings but thats probably not in the DB
15:04:33 <wib_jonas> ...
15:04:37 <wib_jonas> ok, then there's more than three
15:04:37 -!- imode has joined.
15:05:21 <wib_jonas> I knew of Rotlung Reanimator, Xathrid Necromancer, Hungry Lynx.
15:05:39 <MTGBusyBeaver> hungry lynx doesnt make tokens, it buffs tokens
15:06:02 <MTGBusyBeaver> it got replaced by coat of arms
15:06:16 <MTGBusyBeaver> to not be a triggered effect
15:06:17 <wib_jonas> doesn't matter, it still refers two different creature types that you can evolve
15:06:27 <wib_jonas> in an assymetric manner
15:06:34 <wib_jonas> that's sort of the limiting factor
15:07:06 <wib_jonas> we have very few cards that refer two creature types in such a way that we can use it for constructions where one creature type is the trigger and the other is the action and it's repeatable enough to run the program
15:07:16 <MTGBusyBeaver> yeah so the construction is a bunch of crusades saying all X' are X
15:08:05 <MTGBusyBeaver> and the bishops triggering on X dying to make a',b',c's
15:08:25 <MTGBusyBeaver> and remaking the one X
15:08:37 <wib_jonas> but if you still have a card like Bishop of Wings in, then I'm not too surprised
15:08:50 <wib_jonas> I assumed too much when you mentioned the Coat of Arms
15:09:02 <wib_jonas> I mean, I'm still surprised about BB_6 on a large number
15:09:11 <wib_jonas> but not about having a working universal computer
15:09:29 <wib_jonas> just surprised on having a deck with such a large damage limit but no infinite damage loop
15:09:37 <wib_jonas> without DMM's additional rules
15:10:01 <MTGBusyBeaver> and yes there are often unintended infinites that need to get patched out
15:12:12 <wib_jonas> you know that ais's original attempt to simulate StackFlow failed beacuse of too much freedom on putting triggers onto the stack, and we never found a fix for that, right?
15:12:24 <wib_jonas> that's why it scared me when you mentioned trigger stacking order about this construction
15:13:00 <wib_jonas> eventually ais invented The Waterfall Machine instead, and simulated that, so that problem got solved, but still
15:13:23 <MTGBusyBeaver> that's why coat of arms is perfect, it doesnt matter what order the tokens get made in
15:13:34 <MTGBusyBeaver> they will all be the same size
15:13:51 <MTGBusyBeaver> and will all die at the same time
15:15:34 <MTGBusyBeaver> we do need to force only our opponent to have bishops when the TM starts running
15:15:52 <MTGBusyBeaver> so that the arcbond trigger is forced to be at the bottom.
15:16:50 <wib_jonas> but I don't understand how Coat of Arms is used, or how you're using creature types
15:17:12 <wib_jonas> do you have two creature types per clock? and how do you use them?
15:17:32 <MTGBusyBeaver> yeah 2 perclock
15:18:24 <MTGBusyBeaver> we have the main creature type and a secondary type for each clock
15:19:26 <MTGBusyBeaver> Dralnu's crusade gets hacked to say that the primary type is also the secondary type
15:20:10 <MTGBusyBeaver> Bishops trigger on the primary type dying and make secondary types for the appropriate clocks and also remake the primary
15:22:01 <MTGBusyBeaver> Coat of arms causes the secondary creatures to buff the primary ones, keeping them at the proper distance from dead, as well as ensuring that any damage that kills the primary will also kill all of the secondaries.
15:22:26 <wib_jonas> so you only have one creature per primary creature type?
15:22:30 <MTGBusyBeaver> yes
15:22:37 <wib_jonas> that might work
15:22:58 <wib_jonas> then only that one creature causes death triggers, but it takes its size from the lots of creatures of the secondary type
15:23:19 <wib_jonas> that's a new idea, I don't think I've seen it in the previous constructions, and it does explain Coat of Arms
15:25:43 <wib_jonas> that's a nice trick
15:26:14 <wib_jonas> there are a few cards that have such triggers built-in, I'll have to look at them if they're usable for something:
15:26:25 <MTGBusyBeaver> yeah, though we'd also like to know/prove if the variant without Dralnu's crusades is TC, there its just one creature type so the death triggers start getting multiplied and compoinding pretty quick
15:26:46 <wib_jonas> Mark of the Oni; Stenchskipper
15:29:48 <wib_jonas> maybe Ophiomancer but unlikely
15:30:28 <MTGBusyBeaver> (tentatively calling it Flooded Waterfall Machine, because it causes overflow)
15:32:21 <wib_jonas> Aysen Crusader
15:32:48 <wib_jonas> no, none of those will work easily because you can't bring them back
15:32:58 <wib_jonas> it has to be external like the Coat of Arms
15:34:22 <MTGBusyBeaver> and happen quickly, not waiting until end of turn, (we only get one)
15:34:54 <MTGBusyBeaver> (did I mention that this is all happening on turn 1?)
15:35:05 <wib_jonas> sure, that makes sense
15:36:07 <MTGBusyBeaver> anyway g2g be on later.
15:36:12 -!- MTGBusyBeaver has quit (Remote host closed the connection).
15:36:47 <wib_jonas> Alex Churchill et all's construction happens over (twice) as many turns as the underlying machine runs, but you can't do that if you want no infinite damage loops in your machine
15:36:54 <wib_jonas> s/all's/et al/
16:04:02 -!- sprocklem has quit (Ping timeout: 240 seconds).
16:58:47 -!- wib_jonas has quit (Remote host closed the connection).
17:05:45 -!- kspalaiologos has joined.
17:12:22 <esowiki> [[MyScript]] M https://esolangs.org/w/index.php?diff=70239&oldid=70191 * PythonshellDebugwindow * (+886)
17:20:39 -!- cpressey has quit (Quit: A la prochaine.).
17:33:15 -!- sprocklem has joined.
17:33:19 -!- FreeFull has quit (Quit: rebooting).
17:34:24 -!- LKoen has joined.
17:34:42 -!- FreeFull has joined.
18:08:07 <esowiki> [[ZFC++]] M https://esolangs.org/w/index.php?diff=70240&oldid=70168 * Hakerh400 * (+16)
18:27:03 -!- sprocklem has quit (Ping timeout: 260 seconds).
18:35:05 -!- arseniiv_ has joined.
18:37:14 -!- arseniiv has quit (Ping timeout: 240 seconds).
18:56:31 <kspalaiologos> ,[>[-]<[->+<],]>[>+>+<<-]<-[>+<-----]>-->>[-[->>+<]>[<]<]>>[-<<++>>]<<<[->-<]+>[<->[-]][-]+>[-]<<[<.>>-]>[<<-.>>->] <- an interesting thingy in Brainfuck; around 100 byte isEven, requires uint8_t cells and 0 on EOF
18:56:59 <kspalaiologos> supports arbitrary length integers
19:10:14 -!- arseniiv_ has changed nick to arseniiv.
19:43:16 -!- LKoen has quit (Remote host closed the connection).
19:43:30 -!- b_jonas has joined.
19:45:49 -!- kspalaiologos has quit (Quit: Leaving).
19:46:15 -!- LKoen has joined.
19:51:30 -!- Lord_of_Life_ has joined.
19:54:34 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
19:54:38 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
20:09:37 -!- LKoen has quit (Read error: Connection timed out).
20:10:23 -!- LKoen has joined.
20:25:17 <esowiki> [[MyScript]] M https://esolangs.org/w/index.php?diff=70241&oldid=70239 * PythonshellDebugwindow * (+1631)
21:18:48 -!- sprocklem has joined.
22:13:05 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70242&oldid=70183 * Hakerh400 * (+14) +[[Siterip]]
22:13:08 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=70243&oldid=70167 * Hakerh400 * (+14) +[[Siterip]]
22:14:05 -!- ais523 has joined.
22:14:36 <esowiki> [[Siterip]] N https://esolangs.org/w/index.php?oldid=70244 * Hakerh400 * (+49652) +[[Siterip]]
22:15:25 <ais523> hmm, I've finally figured out why you can't create an infinite damage loop with the present construction
22:15:35 <ais523> it's set up so that you can't interrupt a damage loop at instant speed
22:15:46 <ais523> so either the loop ends naturally (e.g. with the opponent dying) in which case it isn't infinite
22:16:06 <ais523> or else, the loop /is/ infinite, but in that case the game ends in a draw before any damage is actually dealt, because it's infinite
22:16:23 <ais523> the important point is that you can't have any manual control over the amount of damage dealt once the loop is started
22:23:12 <ais523> this feels unsatisfyingly tautologous, it's "you can't create an infinite loop because you can't create an infinite loop"
22:23:30 <ais523> but it more boils down to "you can't create an arbitrarily large loop because you have no mechanism to specify an arbitrarily large number"
22:24:07 <ais523> it's rather counterintuitive to the normal idea of "no infinite combos", though; there are infinite combos, which can kill opponents from any amount of life, but you can't overkill via a chosen amount of life so it still fits the definition
22:27:03 <b_jonas> so you can't deal an unlimited amount of life and continue the match
22:27:09 <b_jonas> game
22:28:07 <b_jonas> sort of like http://anselan.com/tutorial.html
22:38:48 <b_jonas> ais523: wait, can the second case, the case when you deal an unlimited amount of damage to the opponent but you do this so fast that he never loses the game, even happen? I don't think such a tight loop is possible, because the opponent would lose at state-based effect speed.
22:39:58 <b_jonas> or do you just mean an infinite loop that doesn't deal damage to the opponent?
22:40:51 <ais523> `card-by-name Arcbond
22:40:52 <HackEso> Arcbond \ 2R \ Instant \ Choose target creature. Whenever that creature is dealt damage this turn, it deals that much damage to each other creature and each player. \ FRF-R
22:41:30 <ais523> the specific example is two copies of Arcbond on creatures with lifelink and indestructible
22:41:42 <ais523> the loop does damage on every iteration, but the players gain life too, so it never actually exits
22:41:55 <ais523> this would be "infinite damage" except that the game rules prevent the loop happening, because it has no way to end
22:42:15 <ais523> (the actual combo doesn't IIRC involve lifelink at the moment, but it has an alternative method to gain the players life)
22:43:33 <b_jonas> oh wtf. why would Wizards think that's a good idea to print, even as a rare?
22:43:55 <b_jonas> ah, the players gain life
22:43:59 <b_jonas> tricky
22:44:36 <ais523> double arcbond is used for the steady decrement in the current busy beaver TWM construction
22:44:39 <b_jonas> and yes, the opponent gaining life explains why my reasoning is wrong
22:45:09 -!- LKoen has quit (Remote host closed the connection).
22:45:12 <b_jonas> ais523: I'm not surprised about constructions using them. I'm just surprised that they printed that in a standard-legal set.
22:46:32 <b_jonas> so what you mustn't put in these decks are combos that are unlimited and a player can choose how many times they execute it
22:46:54 <b_jonas> at least if there's any possibility that something from it can be converted to damage to the opponent
22:47:16 <ais523> right
22:56:14 -!- LKoen has joined.
22:57:59 -!- LKoen has quit (Client Quit).
23:39:15 -!- ais523 has quit (Quit: sorry for my connection).
23:39:28 -!- ais523 has joined.
00:14:16 <arseniiv> was here a holy war about whether ++ and -- (and specifically, both prefix and postfix kinds of these) are such a good thing in a language?
00:15:06 <ais523> just putting this out there for people who are interested: I've made a draft of what a 10+halt-waterclock interpreter for a TC language in The Waterfall Model could look like: http://nethack4.org/pastebin/and-high-rise.txt
00:15:13 <b_jonas> arseniiv: not really a hot holy war, but python and ruby silently don't have them
00:15:31 <ais523> I haven't proved this TC, nor implemented the actual interpreter yet
00:15:42 <ais523> just described the basic design and what all the waterclocks are used for
00:15:46 <ais523> so it's quite possible there's a mistake
00:15:50 <ais523> but I thought I'd post it anyway
00:16:08 <ais523> it's almost certainly possible to do better than 10 but I thought I'd err on the side of producing something TC
00:16:42 <arseniiv> b_jonas: yeah Python is amidst sane ones here :) (for what I think)
00:17:18 -!- MtGBusyBeaver has joined.
00:17:29 <b_jonas> ais523: do you also have a suspected order of magnitude on the upper bound of the waterfall matrix elements, as a function of the program size in some other more well-known computational model?
00:17:32 <arseniiv> ais523: The Waterfall Model is nice
00:17:44 <b_jonas> I'd like to know how many exponentials you need
00:18:15 <ais523> b_jonas: two of the matrix exponents are probably single-exponential in the size of a 2-tag system that emulates the program
00:18:30 <MtGBusyBeaver> I am also curious to how big the initial setup needs to be
00:18:34 <ais523> err, actually 1, in this construction
00:18:41 <ais523> MtGBusyBeaver: a double-arrow number is enough, a single-arrow number might not be
00:18:55 <MtGBusyBeaver> ezpz
00:19:10 <ais523> I wasn't quite sure how powerful the pre-BB layers would be
00:19:34 <ais523> if you can reconfigure the machine between iterations you can make do with small numbers by constructing a Waterfall Model program whose purpose is to output a large number rather than to be a UTM
00:19:35 <MtGBusyBeaver> they are less powerful for sure, but they are still layers
00:19:57 <MtGBusyBeaver> so they are roughly one arrow each
00:19:58 <b_jonas> ais523: yes, but how about a 150***3 or 150***4 number? I'd like to know how many exponentials you need. a double arrow number like 150***150 is likely enough.
00:20:05 <ais523> but I figured you'd probably find a way to create a double-arrow number
00:20:27 <ais523> b_jonas: well, the issue is that you're encoding the UTM you want to run as the digits of a number
00:20:30 <b_jonas> not many of even your esolanguages need more than a few levels of exponential to simulate something sane
00:20:32 <ais523> so it's exponential in the size of the UTM
00:20:43 <b_jonas> ais523: yes, there are no inputs, only program
00:20:52 <b_jonas> both in the turing machine you run and the waterfall program
00:21:07 <ais523> I believed I only used a double-exponential (2**(2**x)) once, and even in that situation it later turned out to be unnecessary
00:21:07 <b_jonas> that's why I asked as a function of the program size
00:21:11 <ais523> *I believe
00:21:11 <MtGBusyBeaver> we can probably make something like 5-7 arrows with just what we have
00:22:00 <b_jonas> ais523: though I guess in this case I have to ask this restricted to less than a hundred waterclocks, regardless of input program size, to be more relevant for M:tG
00:22:10 <ais523> b_jonas: this is a specific construction with 10 waterclocks
00:22:14 <ais523> + a halt waterclock
00:22:25 <ais523> that I haven't figured out the details of yet, but have a basic plan for
00:22:43 <b_jonas> MtGBusyBeaver: I also guess that just a double arrow number like 150***150 should be enough for most programs
00:22:55 <b_jonas> four arrows like you mentioned earlier should be more than enough
00:22:58 <ais523> the idea is to implement a version of High Rise in base 3 where carrying is disallowed, sequences 0 and 1 are empty, and sequence 2 alternates between a geometric progression and 0
00:23:47 <ais523> that High Rise language, I'm about 99% confident has a fairly direct implementation of 2-tag
00:23:54 <MtGBusyBeaver> well once we run one BB we have access to that number so iterations really grow very fast
00:24:23 <ais523> via arranging the base of sequence 2's geometric progression so that the distances between pairs of 2s in the data string (with one intervening 2 between them) represent tag system elements
00:24:26 <b_jonas> MtGBusyBeaver: yes, the question is just how larege you need to start the bootstrapping
00:24:47 <arseniiv> . o O ( wait, only just now I noticed that zero arrows is the multiplication (and both can be denoted by an empty string), so arrow notation is even better than I thought! )
00:24:52 <b_jonas> it almost certainly won't be a problem in your M:tG construction, but I'm still curious for reasons other than that construction
00:24:55 <ais523> and I'm also fairly confident that a The Waterfall Model program using the waterclock assignment I linked above can be made to implement it
00:25:09 <MtGBusyBeaver> checking the logs for it
00:25:42 <MtGBusyBeaver> http://nethack4.org/pastebin/and-high-rise.txt this link?
00:25:43 <b_jonas> ais523: that should work. and how many exponentials do you need to encode *to* a 2-tag system
00:25:54 <ais523> now, if you have a double-arrow startup, you could make do with a fixed program (and simply varying the initial waterclock sizes) by writing a UTM in 2-tag and hardcoding that
00:25:59 <ais523> MtGBusyBeaver: right
00:26:12 <ais523> MtGBusyBeaver: although it's just a thought dump rather than presented in a way that's easy to follow
00:26:17 <ais523> https://esolangs.org/wiki/High_Rise might help for some context
00:26:48 <ais523> I will probably end up writing out the explicit proofs and Waterfall Model machine at some point, but likely not in the next few days because I have a day job
00:27:14 <ais523> b_jonas: I don't know offhand how complex UTMs in 2-tag are
00:27:15 <b_jonas> nice
00:27:43 <b_jonas> ais523: I'm not asking for an UTM there, rather how large the tag system program is as a function of the program you're compiling from
00:27:48 <ais523> the problem with languages that are "well known" to be TC is that I often haven't proved them TC myself and thus don't have much of an intuitive idea of what the complexities are like
00:28:03 <b_jonas> ais523: for the Waterfall model, you need an UTM so that the program always fits in 150 or so waterclocks, because the M:tG construction can't handle more
00:28:23 <ais523> b_jonas: well, this is the usual trick when optimising universal machines
00:28:37 <ais523> you want your machine to be small, so you want as little code as possible, so much of the complexity is in the data
00:28:47 <b_jonas> yeah, I guess that's true
00:28:59 <b_jonas> if you only care about program size, not runtime (and we don't care about runtime here), then an UTM probably helps
00:29:08 <ais523> just look at, e.g., Three Star Programmer or the I/D machine
00:29:28 <MtGBusyBeaver> well we have to do shenanigans to get 124 clocks
00:29:43 <ais523> the interpreters are ridiculously simple and small, but writing a program to do anything is very complex because you have to code all the basic operations you want into the program itself
00:29:52 <b_jonas> sure
00:29:55 <MtGBusyBeaver> 12 and under requires much less restriction on the setu
00:30:00 <MtGBusyBeaver> setup
00:30:32 <ais523> Three Star Programmer requires a complex one-time setup just to be able to write to specific memory addresses, for example, then needs to neutralise the extra copies of that setup on every future iteration because it has no way to run code only once
00:30:57 <MtGBusyBeaver> and it looks like 10 is going to be enough for TC-ness
00:31:00 <ais523> MtGBusyBeaver: that's why I was aiming for 12 as a target, it's nice to have a concrete number rather than continuously worry about if I'm wasting a waterclock somewhere
00:31:12 <ais523> the 10 is almost certainly improvable, but I can't immediately see how
00:31:18 <b_jonas> "no way to run code only once" => oh no... Countercall
00:31:36 <ais523> b_jonas: I think oerjan proved Countercall sub-TC? although I can't remember
00:31:50 <b_jonas> did he?
00:32:02 <ais523> it'll be in the IRC logs from around when Countercall was created
00:32:15 <MtGBusyBeaver> also reading the logs, there are actually two ways for the MTG program to halt
00:32:22 <MtGBusyBeaver> either by killing them
00:32:36 <MtGBusyBeaver> or by killing all of the other arcbonded creatures
00:33:11 <MtGBusyBeaver> the second one can be delayed in a BB method and we can prevent them from dying
00:34:24 <MtGBusyBeaver> so the creatures with arcbond act as the halting clock
00:34:36 <ais523> one nice thing about your construction is that I think it has no limit on "self-reset" values, right?
00:34:43 <ais523> a waterclock that zeroes can set itself to any value
00:34:49 <MtGBusyBeaver> yes
00:35:15 <ais523> with the Hungry Lynx construction, I used Elesh Norn partly for the static +2/+2, giving me a self-reset max of 4, because I was worried it might not be high enough
00:35:26 <ais523> (although I think we subsequently discovered that a self-reset of 3 is enough)
00:35:50 <ais523> but large self-resets might be needed for the 10-waterclock construction
00:36:37 <MtGBusyBeaver> the +1/+1 from dralnu's crusade means we can't reset ourself smaller than 2
00:36:37 <b_jonas> ais523: I'm not entirely sure, but I think oerjan only conjectured that Countercall is not TC, and proved something much weaker
00:36:44 <ais523> ah, OK
00:36:54 <ais523> MtGBusyBeaver: there's no issue with low self-resets
00:36:54 <b_jonas> at least that's what it seems from checking the logs again
00:36:58 <b_jonas> but it could be hiding anywhere
00:37:02 <ais523> you can always just increase all the other waterclocks to compensate
00:37:15 <MtGBusyBeaver> yeah, but it is worth noting
00:37:35 <ais523> right, definitely worth being aware of all your limitations
00:38:36 <MtGBusyBeaver> also if you need any of the "growing"/"flooding" type clocks those don't count towards the 12 limit
00:39:26 <ais523> right, I figured that out; it might be interesting to try to create a UTM with some number of those
00:39:41 <ais523> you'd want to store data using the length of time the program had been running
00:40:00 <ais523> even with the help of a few normal clocks, though, it'd be a pain to keep things under control
00:40:09 <MtGBusyBeaver> yeah it seems really chaotic
00:40:21 <MtGBusyBeaver> volatile
00:43:32 <b_jonas> ais523: anyway, it's useful to know that you will probably be able to prove that 10 or 12 clocks are enough
00:43:55 <b_jonas> for turing-completeness that is
00:44:07 <MtGBusyBeaver> well that 10 proof looks close so 12 is almost assured
00:45:11 <b_jonas> oh, since we're talking about M:tG, I wanted to advertise the play-by-post M:tG variant game that we're running: https://forums.giantitp.com/showthread.php?601011
00:46:55 <MtGBusyBeaver> three card blind always interesting
00:47:12 <b_jonas> each round, players secretly choose a 3-card deck, then they're revealed, then each deck plays two games against each other deck, you don't lose for drawing from an empty library, all game information that would normally be hidden is known, we figure out the result of each game assuming perfect play,
00:47:30 <ais523> that sounds like 3-card blind so far
00:47:41 <ais523> I assume luck always goes against the player who put the luck card in their deck?
00:47:45 <MtGBusyBeaver> my first forum name was to participate in that on the old WotC
00:47:48 <MtGBusyBeaver> forums
00:47:59 <b_jonas> players get a point for a draw and three points for a match won, the player with the most points in that round wins the round and an internet point and right to boast.
00:48:16 <MtGBusyBeaver> IIRC luck was decided by the opponent
00:49:21 <b_jonas> ais523: yes, it's 3-card blind, and yes, random choices go against the person who put that card in their deck
00:51:26 <b_jonas> and it's vanishing, which means that the cards from the deck that won a round are banned from future rounds, except certain cards like basic lands and storage lands are immune to getting banned this way.
00:52:44 <b_jonas> and you aren't allowed to mulligan, despite that with the latest mulligan rule it would actually help you if you could
00:53:23 <b_jonas> but apparently the player base is conservative and not used to the new mulligan rule yet, so they don't want to upset the meta from that
00:55:38 <ais523> I can't think of many situations where you'd prefer to have a card in your deck than in your hand
00:55:46 <MtGBusyBeaver> miracles
00:55:47 <ais523> maybe if you're going second and the opponent is playing Thoughtseize or the like?
00:55:57 <ais523> oh yes, miracles, didn't think of that one but it's obvious now you said it
00:56:02 -!- arseniiv has quit (Ping timeout: 256 seconds).
00:56:31 <b_jonas> ais523: that's sort of why the situation didn't come up before the current mulligan rule
00:56:37 <b_jonas> but read the new mulligan rule:
00:57:44 <ais523> you put cards from hand on the bottom of your library, so you choose which one you put there
00:57:49 <ais523> rather than it being random
00:57:50 <b_jonas> exactly
00:58:09 <b_jonas> so now it mostly protects you from Burning Inquiry and other discards
00:58:25 <b_jonas> well, it would
00:58:31 <b_jonas> not completely, but to a very large amount
00:58:45 <b_jonas> only we don't allow mulliganing, as a house rule, so nope
00:59:11 <ais523> well, you have a house rule to not lose by outdraw
00:59:20 <ais523> but that can happen during mulligans in regular MTG
00:59:24 <ais523> so it's a bit of a weird interaction
00:59:44 <ais523> (admittedly, it requires Shahrazad to be possible in a black-border game)
01:00:22 <b_jonas> nevertheless, we did manage to get strange metas from newly released broken cards, most notably the non-black-bordered small print run cards Impatient Iguana and Mirror Lotus
01:00:34 <b_jonas> s/Mirror Lotus/Mirrored Lotus/
01:01:51 <ais523> `card-by-name mirrored lotus
01:01:52 <HackEso> No output.
01:02:09 <ais523> oh, wait, is this from Unsanctioned?
01:02:09 <b_jonas> *newly released*
01:02:12 <b_jonas> no
01:02:28 <ais523> oh, Mystery Booster Playtest
01:02:42 <b_jonas> ais523: technically does not require Shahrazad anymore, because of Karn Liberated, but that won't come up in a real game, because you'll win before it'd happen
01:02:46 <b_jonas> ais523: yes
01:02:50 <ais523> that isn't a silver-bordered card, it has a black border and a "not for constructed play" footer
01:03:05 <b_jonas> ais523: I didn't say silver-bordered, I only said non-black-bordered
01:03:14 <b_jonas> also not gold bordered
01:03:24 <b_jonas> I'm not sure if it technically counts as having any border
01:03:34 <ais523> the border is black, though, with a few intrusions
01:03:53 <MtGBusyBeaver> oh the playtest cards
01:03:54 <b_jonas> but isn't that just the border of the card that the playtest sticker is sticked on?
01:04:10 <b_jonas> the properties of that card shouldn't matter
01:04:19 <b_jonas> even if you can somehow see them
01:04:40 <ais523> b_jonas: the underlying card is part of the card, as printed, though
01:04:45 <ais523> the sticker is also part of the card
01:04:51 <ais523> they're on the same print sheet and printed together
01:05:03 <b_jonas> that said, there probably won't be a judgement on this, because there are only three un-cards that care about whether a card is black-bordered
01:05:12 <ais523> so the underlying card is part of the card; most of its properties don't matter because there's a sticker over it, but I'd argue it determines the border color
01:05:22 <b_jonas> ais523: yes, but the underlying card shouldn't matter to determine characteristics
01:05:30 <b_jonas> well I don't know
01:06:21 <ais523> the sticker doesn't cover the border
01:06:24 <b_jonas> maybe they are black-bordered then
01:06:38 <ais523> it's a bit like host/augment, parts of the card are covered by the augment but those parts that aren't still count
01:06:48 <ais523> or Curse of the Fire Penguin
01:06:53 <ais523> `card-by-name curse of the fire penguin
01:06:54 <HackEso> Curse of the Fire Penguin \ 4RR \ Enchantment -- Aura \ Enchant creature \ Curse of the Fire Penguin consumes and confuses enchanted creature. \ UNH-R \ \ Curse of the Fire Penguin Creature \ 4RR \ Creature -- Penguin \ 6/5 \ Trample \ When this creature dies, return Curse of the Fire Penguin to the battlefield. \ UNH-R
01:07:17 <ais523> was wondering how the bot would represent that thing
01:07:20 <ais523> I guess that's a decent effort
01:07:38 <b_jonas> ais523: I don't think playtest stickers are like that. if they were, I'd make an Ulamog proxy such that the sticker happens to not cover the mana cost {W}
01:07:51 <ais523> b_jonas: the cards in question are not playtest stickers
01:07:58 <ais523> they're cards whose design /looks/ like a playtest sticker
01:08:22 <b_jonas> sure
01:08:25 <ais523> but the sticker and underlying card are part of the same printed card, and in particular the underlying card is always the same
01:08:34 <b_jonas> and admittedly they made a good job where the playtest sticker covers almost everything
01:09:16 <ais523> I think I'd take border color and frame color from the underlying card, but pinline color from the sticker
01:09:28 <b_jonas> ok, then they're black-bordered cards that aren't valid for tournaments
01:09:33 <ais523> that said, I'm not sure if M:tG will ever have a card that cares about pinline color
01:09:34 <MtGBusyBeaver> Form of the mulldrifter is clearly on a mulldrifter though
01:09:44 <ais523> even silver-bordered
01:10:02 <b_jonas> that category already exists I think, because I think some very low print run cards were printed as black bordered with square corners rather than gold bordered
01:10:29 <b_jonas> pinline color would be tricky because pre-Mirrodin cards don't have it
01:10:53 <b_jonas> MtGBusyBeaver: heh, indeed
01:12:40 <b_jonas> MtGBusyBeaver: and One with Death is on One with Nothing
01:13:07 <ais523> One with Death is actually a fairly good card in constructed, IIRC
01:13:26 <ais523> because there are a few combos that force your opponent to resolve one of your spells, and that's about the strongest possible payoff for one of those
01:15:03 <b_jonas> ais523: that sounds a bit hard to do. isn't the normal route just donating an Illusions of Grandeur or a Phage?
01:16:26 <MtGBusyBeaver> Hive Mind + pact of negation
01:16:57 <ais523> I think Hive Mind is the most common core of the combo
01:16:59 <ais523> `card-by-name Hive Mind
01:17:00 <HackEso> Hive Mind \ 5U \ Enchantment \ Whenever a player casts an instant or sorcery spell, each other player copies that spell. Each of those players may choose new targets for their copy. \ M10-R
01:17:14 <ais523> you don't even need anything else when using One With Death because the opponent's copy resolves first
01:17:48 <ais523> the normal kill in tournaments uses pacts in the hope that the opponent doesn't have the right color of mana to pay for them
01:18:20 <b_jonas> I see
01:19:38 <b_jonas> I played a Phage deck twice in the three card blind, got a second place from it once, and that one doesn't try to get the opponent to resolve Phage, just puts it to play under the opponent's control (as one path to win; the other is to just play it and attack with it)
01:22:35 -!- MtGBusyBeaver has quit (Remote host closed the connection).
01:23:54 -!- MTGBusyBeaver has joined.
01:38:35 -!- ais523 has quit (Quit: quit).
02:11:49 -!- MTGBusyBeaver has quit (Remote host closed the connection).
02:20:26 -!- sprocklem has quit (Ping timeout: 240 seconds).
02:21:32 -!- sprocklem has joined.
02:31:25 -!- user24 has joined.
02:38:26 -!- user24 has quit (Quit: Leaving).
02:40:58 -!- Anas10808 has joined.
02:41:39 <Anas10808> Hi
02:42:08 -!- Anas10808 has quit (Remote host closed the connection).
04:16:51 <esowiki> [[User:Quadril-Is]] https://esolangs.org/w/index.php?diff=70245&oldid=69894 * Quadril-Is * (+23)
04:17:21 -!- PkmnQ has joined.
04:27:28 -!- PkmnQ has quit (Remote host closed the connection).
07:23:13 -!- imode has quit (Ping timeout: 255 seconds).
07:34:02 -!- tromp_ has joined.
07:34:13 -!- tromp has quit (Read error: Connection reset by peer).
07:52:36 -!- Lord_of_Life_ has joined.
07:54:40 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
07:54:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
08:13:06 -!- xelxebar has quit (Remote host closed the connection).
08:16:48 -!- xelxebar has joined.
08:27:23 -!- b_jonas has quit (Quit: leaving).
08:49:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
08:52:22 -!- MDead has joined.
08:55:34 -!- MDude has quit (Ping timeout: 265 seconds).
08:55:37 -!- MDead has changed nick to MDude.
08:57:50 -!- xelxebar has joined.
10:07:08 -!- wib_jonas has joined.
10:08:36 <wib_jonas> fizzie: the log bot seems to have stopped yesterday
11:48:50 -!- kritixilithos has joined.
12:23:45 -!- arseniiv has joined.
12:38:08 -!- sprocklem has quit (Ping timeout: 256 seconds).
13:00:05 -!- LKoen has joined.
13:27:21 -!- LKoen has quit (Remote host closed the connection).
13:27:41 -!- LKoen has joined.
13:30:28 -!- kspalaiologos has joined.
13:33:31 -!- LKoen has quit (Remote host closed the connection).
13:36:06 -!- LKoen has joined.
13:42:46 -!- LKoen has quit (Remote host closed the connection).
13:44:13 -!- LKoen has joined.
13:49:38 -!- heroux has quit (Ping timeout: 240 seconds).
13:53:38 <wib_jonas> oh nice!
13:54:11 <wib_jonas> I created a stub at https://esolangs.org/wiki/Orca , and a few months later the person who created this esolang came along and edited more details onto the wiki
13:55:17 -!- atslash has quit (Read error: Connection reset by peer).
13:55:20 <wib_jonas> including a scan of a print magazine article reviewing the language (or its implementation)
13:55:57 <myname> nice
13:57:29 <wib_jonas> I don't know if they came to the wiki because I wrote the stub, or on the other hand the stub was useless and they'd have written the wiki article anyway, though
13:57:49 <myname> there is much more to explain, though
13:58:10 <myname> explanations of examples would be lovely
13:58:45 <wib_jonas> myname: there's a link saying "Tutorial Video on Youtube"
13:59:33 <myname> yeah, if i don't forget i will watch that later
14:03:01 <wib_jonas> ah, the log bot is working now. and the previous one might have been false alarm.
14:08:57 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
14:26:44 -!- heroux has joined.
14:39:43 -!- FreeFull has quit (Ping timeout: 255 seconds).
14:49:25 -!- FreeFull has joined.
15:26:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
15:28:06 -!- xelxebar has joined.
15:49:12 -!- kspalaiologos has quit (Read error: Connection reset by peer).
15:49:40 -!- kspalaiologos has joined.
15:50:53 <int-e> `"
15:50:55 <HackEso> 1/1:378) <fizzie> elliott: You have become the very thing you fought for! \ 1254) <coppro> actually a small trebuchet onto the balcony might work
15:51:04 -!- kspalaiologos has quit (Read error: Connection reset by peer).
16:13:50 -!- wib_jonas has quit (Remote host closed the connection).
17:04:01 <esowiki> [[Infinite Goto]] N https://esolangs.org/w/index.php?oldid=70246 * PythonshellDebugwindow * (+181) Created page with "''Infinite Goto'' is a language by [[User:PythonshellDebugwindow]]. Programs in it will never end. ==Syntax== All lines have a number on them. Numbers less than 0 are treated..."
17:04:18 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70247&oldid=70190 * PythonshellDebugwindow * (+20) /* Languages */
17:19:46 -!- imode has joined.
17:27:03 <myname> the youtube video is interesting
17:27:10 <myname> now i want to install it
18:09:46 <arseniiv> myname: there is a browser version also, the article says. Maybe it’s functional enough not to install locally (haven’t tried, but you’ve intrigued me into watching tutorial, maybe a bit later though)
18:13:49 <myname> i downloaded it, but i have no idea on how to create a midi device
18:24:13 <arseniiv> I think I had a thing somewhere that creates a virtual midi device but that’s a windows one
18:31:49 -!- LKoen has joined.
18:34:23 -!- atslash has joined.
18:55:01 <esowiki> [[Infinite Goto]] M https://esolangs.org/w/index.php?diff=70248&oldid=70246 * PythonshellDebugwindow * (+965)
19:14:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
19:53:13 -!- Lord_of_Life_ has joined.
19:55:14 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:57:53 -!- Lord_of_Life has joined.
19:58:19 -!- Lord_of_Life_ has quit (Ping timeout: 255 seconds).
20:04:42 <arseniiv> that thing is interesting, though I’m not comfortable with that kind of music environments
20:10:12 -!- LKoen has quit (Remote host closed the connection).
20:10:37 -!- LKoen has joined.
20:21:18 <esowiki> [[Infinite Goto]] M https://esolangs.org/w/index.php?diff=70249&oldid=70248 * PythonshellDebugwindow * (+509) /* Syntax */
20:21:54 -!- b_jonas has joined.
20:22:01 <esowiki> [[Infinite Goto]] https://esolangs.org/w/index.php?diff=70250&oldid=70249 * PythonshellDebugwindow * (+83) /* Storage */
20:38:20 -!- LKoen has quit (Remote host closed the connection).
20:38:41 -!- LKoen has joined.
20:39:50 -!- Phantom_Hoover has joined.
20:39:59 <Phantom_Hoover> kmc, what level of smug prepper are you on right now
20:40:01 -!- Phantom_Hoover has changed nick to Guest69050.
20:40:08 <kmc> lol
20:40:09 <kmc> hi there
20:41:57 -!- Guest69050 has quit (Changing host).
20:41:57 -!- Guest69050 has joined.
20:42:08 -!- Guest69050 has changed nick to Phantom_Hoover.
21:07:06 <esowiki> [[Infinite Goto]] M https://esolangs.org/w/index.php?diff=70251&oldid=70250 * PythonshellDebugwindow * (+555) /* Syntax */ and /* Examples */
22:31:48 -!- j4cbo has quit (Remote host closed the connection).
22:31:49 -!- dog_star has quit (Remote host closed the connection).
22:33:50 -!- j4cbo has joined.
22:36:06 -!- dog_star has joined.
22:36:51 -!- ^[ has quit (Remote host closed the connection).
22:36:51 -!- dnm has quit (Remote host closed the connection).
22:39:31 -!- ^[ has joined.
22:42:28 -!- dnm has joined.
22:46:17 -!- pikhq has quit (Remote host closed the connection).
22:49:57 -!- pikhq has joined.
22:50:17 -!- lynn has quit (Remote host closed the connection).
22:50:17 -!- ProofTechnique has quit (Remote host closed the connection).
22:53:10 -!- ProofTechnique has joined.
22:56:12 -!- lynn_ has joined.
23:19:44 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:34:19 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
23:38:07 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=70252&oldid=70242 * PythonshellDebugwindow * (+15) /* M */
23:43:22 -!- oerjan has joined.
23:43:48 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=70253&oldid=70252 * PythonshellDebugwindow * (+20) /* I */
00:33:29 -!- arseniiv has quit (Ping timeout: 258 seconds).
00:41:56 -!- sprocklem has joined.
01:03:47 <esowiki> [[Deadfish]] https://esolangs.org/w/index.php?diff=70254&oldid=70217 * Oerjan * (+17) Undo revision 70217 by [[Special:Contributions/PythonshellDebugwindow|PythonshellDebugwindow]] ([[User talk:PythonshellDebugwindow|talk]]) (This is the reference interpreter, if you think it doesn't work you're thinking something wrong.)
01:06:12 <oerjan> unless some recent C standard broke it, or something.
01:14:54 <zzo38> What did they break this time?
01:17:28 -!- sprocklem has quit (Ping timeout: 256 seconds).
01:19:22 -!- sprocklem has joined.
01:23:27 <int-e> nothing.
01:24:52 <int-e> I hope this is correct: We have an unsinged int x, and a comparison x == -1. The -1 is of type int and gets promoted to unsigned int (turning into 0xFFFFFFFF on 32 bit platforms) before the comparison is made.
01:25:21 <oerjan> yay
01:25:25 <int-e> shold probably give that a U suffix. But who cares.
01:25:30 <int-e> *should
01:25:48 <int-e> I'll own the "unsinged" though.
01:25:59 <int-e> `grwp unsigned
01:26:02 <HackEso> No output.
01:26:04 <int-e> `grwp unsinged
01:26:07 <HackEso> No output.
01:26:11 -!- oerjan has changed nick to oerjan_.
01:26:13 -!- oerjan_ has changed nick to oerjan.
01:26:44 * oerjan torches int-e's unsinged int
01:26:52 <oerjan> *MWAHAHAHA*
01:28:01 <int-e> Well, I guess it's officially demoted to singed now.
01:28:27 <int-e> If it had been a fireball it might have been an explicit cast.
01:28:48 <int-e> But I'm not sure torches can be interpreted in terms of the C standard.
01:31:45 <oerjan> okay
01:38:15 <int-e> "32 bit platform" -- includes most 64 bit platforms as well, I should check the right terminology here. Surely there's something shorter than "having a 32 bit int type".
01:39:27 <int-e> is this another incArnation?
01:39:34 -!- sprocklem has quit (Ping timeout: 256 seconds).
01:40:29 -!- sprocklem has joined.
01:40:44 * int-e notices the same habit of making virtually all edits "minor".
01:43:28 <oerjan> ask ais523
01:47:01 <int-e> Well, I'm probably wrong. They're actually revisiting old pages and improving them.
01:47:33 <int-e> But I still find this pattern odd :)
01:48:25 <esowiki> [[User talk:A]] https://esolangs.org/w/index.php?diff=70255&oldid=70201 * A * (+108)
02:32:16 -!- b_jonas has quit (Quit: leaving).
02:33:09 <moony> per an earlier convo, decided to look into Orca
02:33:14 <moony> seems like a fun esolang
02:33:19 <moony> trying to get it to play a note rn
02:41:33 <moony> already like it a lot. Still haven't got a value to play, but it's fun
02:43:26 <moony> I feel like having a large screen gives me a unfair advantage in programming with it
02:51:25 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
02:57:25 -!- oerjan has quit (Quit: Nite).
03:48:12 -!- imode has quit (Ping timeout: 256 seconds).
03:50:10 -!- imode has joined.
04:54:03 -!- Sgeo__ has quit (Read error: Connection reset by peer).
04:55:57 -!- Sgeo has joined.
05:35:00 -!- moony has changed nick to moonytheboot.
05:35:13 -!- moonytheboot has changed nick to moony.
07:10:14 -!- kritixilithos has joined.
07:19:14 -!- atslash has quit (Ping timeout: 240 seconds).
07:29:03 -!- atslash has joined.
07:35:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
07:38:28 -!- kritixilithos has joined.
07:46:37 -!- imode has quit (Ping timeout: 255 seconds).
07:49:47 -!- LKoen has joined.
07:57:23 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
07:57:47 -!- Lord_of_Life has joined.
07:59:54 <zzo38> I found a program with the comment: "This can't, but will, happen."
08:02:35 <myname> i like it
08:03:15 <myname> what is an "unfair advantage in programming"?
08:13:34 -!- Phantom_Hoover has joined.
08:13:57 -!- Phantom_Hoover has changed nick to Guest47121.
08:17:12 -!- xelxebar_ has joined.
08:18:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
08:20:20 <zzo38> I don't know.
08:27:57 -!- Guest47121 has quit (Read error: Connection reset by peer).
08:55:18 <esowiki> [[]] M https://esolangs.org/w/index.php?diff=70256&oldid=60028 * Salpynx * (-10) /* Hello Worlds */
09:24:48 -!- spruit11 has quit (Ping timeout: 256 seconds).
09:32:36 -!- cpressey has joined.
09:48:57 <esowiki> [[Talk:Siterip]] N https://esolangs.org/w/index.php?oldid=70257 * Salpynx * (+1145) syntax validity
10:02:29 <cpressey> "The NTM that accepts BB(BB(100)) necessarily accepts smaller numbers too" <-- I think I see the problem with this now. s/The NTM/Any *constructible* NTM/
10:03:36 <cpressey> You can posit an NTM that accepts only BB(BB(100)), and such an NTM exists in principle, much like how BB(BB(100)) itself exists in principle. But you can't construct (compute) it.
10:08:47 -!- wib_jonas has joined.
10:15:27 <wib_jonas> in the OOTS comic, word of god at "https://www.patreon.com/posts/answer-post-2020-34406298" says that Greg was *also* stuck in Durkon's body without being able to control it until Malack was destroyed.
10:36:01 <wib_jonas> so Greg was honest and truthful in "http://www.giantitp.com/comics/oots0939.html" that Belkar shouldn't incriminate him for how Malack's thrall drunk Belkar's blood; and Belkar's argument in "http://www.giantitp.com/comics/oots0957.html" was invalid.
10:36:15 <wib_jonas> well, that part of Belkar's argument. the rest still stands.
10:57:02 -!- MDude has joined.
12:03:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:41:35 -!- kritixilithos has joined.
13:09:15 -!- LKoen has quit (Remote host closed the connection).
13:15:14 -!- MDude has quit (Ping timeout: 240 seconds).
13:38:18 -!- joast has quit (Quit: Leaving.).
13:38:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:40:20 -!- joast has joined.
13:41:16 -!- LKoen has joined.
13:57:35 -!- sprocklem has quit (Ping timeout: 260 seconds).
13:59:10 -!- sprocklem has joined.
14:02:56 -!- arseniiv has joined.
14:13:57 <esowiki> [[Siterip]] https://esolangs.org/w/index.php?diff=70258&oldid=70244 * Hakerh400 * (+176) Add clarification
14:14:00 <esowiki> [[Talk:Siterip]] https://esolangs.org/w/index.php?diff=70259&oldid=70257 * Hakerh400 * (+1786) /* Syntax validity */
14:15:32 -!- arseniiv has quit (Quit: gone completely :o).
14:27:48 -!- arseniiv has joined.
14:43:47 -!- LKoen has quit (Remote host closed the connection).
15:55:25 <cpressey> "Never use a higher-order solution when a first-order solution would suffice."
16:01:06 <cpressey> Also, always remember, automatic merge is a best effort heruistic.
16:03:38 -!- sprocklem has quit (Ping timeout: 240 seconds).
16:04:22 <int-e> Uh...
16:04:41 <int-e> cpressey: How far is the author of that quote willing to push that idea?
16:05:12 <int-e> . o O ( unfold all your procedures. cut&paste code is the best code. embrace goto. )
16:07:02 <cpressey> Didn't WvO [plan to] write a paper called "Abstraction considered harmful"?
16:07:28 <int-e> And "The NTM that accepts BB(BB(100))" obviously refers to the particular construction that we can actually write down without knowing anything about BB() except its definition.
16:08:00 <int-e> But I guess I'm counter-nitpicking. Surely not very useful, that is.
16:08:09 <wib_jonas> cpressey: I don't know, but some of my coworkers managed to internalize that principle and built large unmaintainable systems with it without the need for a paper
16:08:34 <int-e> mmm WvO
16:08:58 <int-e> cpressey: I'm not even disagreeing with that premise.
16:09:28 -!- imode has joined.
16:09:33 <int-e> cpressey: I think one should stop abstracting when it stops significantly compressing the code, in a weak and fuzzy sense that takes readability into account.
16:10:10 <int-e> (For "real" code.)
16:11:20 <int-e> But who's WvO.
16:12:03 <cpressey> I don't know who might've said those words before me (and I put them in quotes for a reason) but here's how far I'd push it: if you're thinking of writing a macro or a middleware or a metaclass please, please think hard about the class of problems it's supposed to solve and why it's the best way to solve them.
16:12:18 <cpressey> WvO = Wouter van Oortmerssen
16:12:31 <int-e> That doesn't ring a bell?
16:12:43 <cpressey> You don't know who Wouter van Oortmerssen is?
16:12:45 <wib_jonas> cpressey: yes, that version is more reasonable
16:13:15 <int-e> (But at least now I can $GOOGLE)
16:13:27 <cpressey> I feel old now
16:13:39 -!- LKoen has joined.
16:13:57 <int-e> cpressey: I'm not sure it's an age thing. It's probably more of a bubble phenomenon.
16:14:57 <cpressey> But... but... FALSE
16:15:06 <int-e> Also I'm bad with names. It's quite possible that I've encountered him before. I've certainly heard of False and also of Ardappel (at least in passing).
16:16:52 <int-e> Anyway, I could lament abstractions all day. Especially abstractions that solve a simple problem but are unreasonably complex (because they solve many more problems that nobody has). Favorites: Docker. Kubernetes.
16:17:36 <int-e> (I'm expecting some backlash for this :P Though maybe this is the right crowd to not get much of it.)
16:17:38 -!- kritixilithos has joined.
16:18:22 <int-e> cpressey: I forgot, do you use Haskell?
16:18:34 <int-e> cpressey: If so, what do you think of lens?
16:19:57 <cpressey> I use Haskell but I only use like 15% of it. I don't even use monads (if I can help it) so, no, I haven't used lenses.
16:20:05 <int-e> (lens is a bit of a puzzle to me. And I'm not sure whether I'm just not serious enough of a programmer to appreciate it, or whether it's *actually* a cult with no real gain. I suspect the former.)
16:21:17 <int-e> I do recall a blog post (I believe?) that said that lens is not idiomatic Haskell, and that certainly resonated with me.
16:21:29 <cpressey> I get the impression that if I had an actual need for reversible translations, lens would be useful, but, I could also believe there are lots of people who want translations to be reversible for what are mostly aesthetic purposes...
16:21:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:21:48 <int-e> I have broken into the level of complexity where I felt that monads (the RWS kind) pay off.
16:22:59 -!- sftp has quit (Ping timeout: 265 seconds).
16:23:15 <int-e> And I use the list monad all the time.
16:24:31 <int-e> cpressey: The kind of deeply nested data structures that lens is (supposedly) good for just don't seem to come up in my code.
16:24:56 <int-e> And its vocabulary is just so overwhelming that I never really tried to learn any of it.
16:31:02 <cpressey> I'm more interested in recursion schemes. But, right now, even more interested in learning Coq and seeing what can be done with extraction.
16:31:56 <cpressey> I've worked through the exercises in the first 2 chapters of the first volme of https://softwarefoundations.cis.upenn.edu/ so far
16:33:54 <int-e> Do you use coqide or something else?
16:34:33 <wib_jonas> my recursion schemes are accidental infinite recursion bugs
16:35:03 <cpressey> I started out using jsCoq, then eventually figured out how to install CoqIDE, now using it instead
16:35:03 <int-e> wib_jonas: you could type them in a system with strong normalization
16:35:32 <int-e> (with obvious downsides)
16:35:37 -!- ais523 has joined.
16:35:49 <wib_jonas> int-e: even the simplest typesafe language would give an error (or at least warning) for that
16:35:51 <int-e> hais523
16:37:15 -!- wib_jonas has quit (Remote host closed the connection).
16:40:47 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[Category:Turing-complete]]": category redirects don't actually work, the pages don't show up in the redirected-to category
16:41:26 <esowiki> [[DINAC]] M https://esolangs.org/w/index.php?diff=70260&oldid=70222 * Ais523 * (+0) cat fix
16:41:49 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70261&oldid=70204 * Ais523 * (+0) /* Resources */ cat fix
16:42:12 <esowiki> [[MyScript]] M https://esolangs.org/w/index.php?diff=70262&oldid=70241 * Ais523 * (+0) cat fix
16:45:22 <arseniiv> <int-e> And its vocabulary is just so overwhelming that I never really tried to learn any of it. => I used lens in one unfinished interpreter project, I think the code was more or less nice but I haven’t used full potential of lens ever. Lens is mildly intriguing but I totally agree it’s so big and complex
16:46:38 <arseniiv> in that project, I used those assignment-like operations for State monadic code
16:46:45 <Taneb> I like lens, but I'm the one responsible for there being so many damn operators
16:46:49 <arseniiv> they were convenient
16:47:06 <Taneb> (because I needed <<+= for one thing so I added all the rest too)
16:47:28 <ais523> what does <<+= do?
16:47:32 <arseniiv> Taneb: oh now I know who to blame why I can’t let myself dive into them
16:48:13 <ais523> hmm, idea: a programming language that accepts every keyword, operator, control structure etc. from all other languages
16:48:13 <Taneb> ais523: "l <<+= n" adds the number n to the target of the lens l in the state, and returns the value before the addition was performed
16:48:52 <Taneb> (in a MonadState)
16:48:54 <ais523> hmm, oddly languages like C don't have a "postincrement-by" operator
16:49:11 <arseniiv> ais523: and all control structures which aren’t possibly implemented anywhere yet, like exitwhen
16:49:32 <Taneb> > runState (do _1 <<+= 3) (4, "hello")
16:49:34 <ais523> we can always create an esolang to have somewhere to put them
16:49:35 <lambdabot> (4,(7,"hello"))
16:49:49 <arseniiv> or a straightforward extension to exitwhen to allow it to represent arbitratry, albeit local, effects
16:50:25 <ais523> CLC-INTERCAL has a way to run a statement and it doesn't do anything until it becomes not an error, then it runs at that moment
16:50:33 <ais523> even though some other part of the code is executing
16:50:35 <ais523> I think, at least
16:50:42 <ais523> you can probably jury-rig an exitwhen out of that
16:51:26 <arseniiv> <Taneb> and returns the value before the addition was performed => mhmm could this kind of a behavior be abstracted out somehow?
16:52:29 <Taneb> :t (%%~)
16:52:30 <lambdabot> LensLike f s t a b -> (a -> f b) -> s -> f t
16:52:39 <ais523> arseniiv: Java uses the name "getAndUpdate" for that
16:52:47 <ais523> (Java doesn't have overloaded operators, just overloaded functions)
16:52:47 <Taneb> :t (<<%~)
16:52:49 <lambdabot> LensLike ((,) a) s t a b -> (a -> b) -> s -> (a, t)
16:53:21 <ais523> <<+= would be "getAndAdd"
16:53:31 * moony is wondering what's going on
16:53:44 <Taneb> moony: that is rather the point of this channel sometimes, I feel
16:54:21 <Taneb> Then you learn what's going on and we move on to something else, leaving you a little bit more enlightened in the mystical arts of the absolutely useless
16:54:42 -!- kritixilithos has joined.
16:54:55 <moony> I feel that esoteric languages present a learning opprotunity, and as such are not absolutely useless
16:55:16 <Taneb> It's not the language that is useless, but what it teaches
16:55:31 <Taneb> In this case the language is more or less Haskell
16:56:28 <moony> "ais523 | hmm, idea: a programming language that accepts every keyword, operator, control structure etc. from all other languages"
16:56:49 <moony> just make a language that can selfmodify, and implement that as a construct in itself
16:56:57 <moony> i.e. make a FORTH and build from there :P
16:57:02 <cpressey> "It's not the language that is useless, but what it teaches" I'll have to remember that one
16:57:05 <ais523> or a CLC-INTERCAL
16:57:22 <ais523> although I guess IACC is the better term for it
16:57:28 <ais523> (the language in which CLC-INTERCAL is implemented)
16:57:33 <ais523> IACC itself is implemented in Perl, also IACC
16:57:48 <ais523> there is a very complex bootstrapping process involved
16:58:23 <Taneb> cpressey: it's not what I say that's profound, but the thoughts it inspires
16:59:17 <moony> ais523: Pharo smalltalk would work too'
16:59:22 <moony> it's written in a subset of itself
17:00:31 <ais523> well, lots of languages are
17:08:19 <moony> I kinda wish there was a JIT language that was implemented in itself. So even the JITting logic would be JIT'd
17:08:55 <int-e> Is that entering Featherweight territory?
17:09:22 <moony> ?
17:10:08 <ais523> most implementation schemes I thought of for Feather were something like that, although it was more like "alternating AOT compilation"
17:10:12 <ais523> maybe a JIT would work better, though
17:10:24 <ais523> (alternating AOT = when you alternate between compiling and running)
17:11:18 <Taneb> moony: isn't Pypy that?
17:11:29 <Taneb> (I don't know it very well though)
17:11:36 <moony> I think so?
17:11:44 <int-e> Alternating AOT is definitely a thing though... I believe both in the Smalltalk world and in the SML world, probably elsewhere as well.
17:12:31 <int-e> And it may extend to JIT (with the profiling-based hotspot optimization) as well.
17:13:15 <int-e> In my mental picture of this, the real trouble is to get rid of the bootstrapping parts eventually.
17:13:17 <esowiki> [[Function x(y)]] N https://esolangs.org/w/index.php?oldid=70263 * PythonshellDebugwindow * (+1528) Created page with "{{lowercase}} '''function x(y)''' is a language created by [[User:PythonshellDebugwindow]]. ==Syntax== To start a function: function x() Or: function x(y) Or it can have as..."
17:13:31 <cpressey> Alternating compilation: odd-numbered statements are interpreted, even-numbered statements are compiled
17:21:18 -!- ais523 has quit (Remote host closed the connection).
17:22:30 -!- ais523 has joined.
17:26:42 -!- cpressey has quit (Quit: A la prochaine.).
17:31:13 -!- sftp has joined.
17:53:06 -!- kritixil1 has joined.
17:55:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:21:35 -!- b_jonas has joined.
18:48:11 -!- xkapastel has joined.
18:54:43 -!- kritixil1 has quit (Ping timeout: 240 seconds).
19:02:34 <olsner> (it's implementation-defined if statement numbering starts on 0 or 1)
19:09:20 <b_jonas> cpressey: or statements starting with PLEASE or PLEASE DO are compiled, statements starting with DO are interpreted
19:13:30 <esowiki> [[User:PythonshellDebugwindow]] https://esolangs.org/w/index.php?diff=70264&oldid=70247 * PythonshellDebugwindow * (+20)
19:13:30 <int-e> (Not serious, it's kind of fun. Though I haven't touched it in years...)
19:13:34 <b_jonas> int-e: no! don't do that, now we have to figure out how to do the equivalent of a REINSTATE from the C API
19:14:22 <int-e> b_jonas: pretend there was a line number and use a COME FROM statement?
19:14:49 <b_jonas> oh, that could work, yes
19:14:50 <int-e> Which is a fun way to effectively disable a statement... at least as long as the COME FROM is not ABSTAINED FROM.
19:16:03 <b_jonas> int-e: tcsh can run goto statements in an interactive shell, forwards and backwards across multiple separate input lines. you can goto back to lines that have already been executed immediately. this is such a nice eso feature that I don't understand why no other interactive interpreter supports it.
19:16:16 <b_jonas> allowing come from in an interactive interpreter would be impossible though.
19:16:21 <b_jonas> at least without a time machine.
19:17:03 <int-e> Yeah... and then things get paradoxical quickly
19:17:42 <int-e> but maybe many-world intercal would be a lot cooler than threaded intercal
19:21:00 <ais523> COME FROM [19:09]
19:21:03 <ais523> err
19:21:06 <ais523> DO COME FROM [19:09]
19:21:10 <ais523> my IRC client has timestamps, it's OK
19:21:32 <int-e> Now you just have to deal with time zones.
19:21:45 <ais523> well it's correct for my client, so I get to use INTERCAL, at least
19:21:45 <int-e> Though I guess that was UTC.
19:22:05 <ais523> it's GMT I think, which is basically identical to UTC but with some minor technical difference
19:23:27 <int-e> Does it alternate between GMT and BST?
19:23:42 <int-e> . o O ( time will tell )
19:23:48 <ais523> my client does, yes
19:24:05 <ais523> OK, so it seems that GMT is ambiguous with respect to how it handles leap seconds, but it's traditionally considered a proportion of a day
19:24:16 <ais523> so GMT times are supposed to smooth out leap seconds across the year
19:24:37 <ais523> and are apparently also affected by the tides (which influence the earth's rotation to some extent)
19:24:50 <ais523> also, once GMT had midday rather than midnight at time 0, but that was changed
19:25:12 <int-e> On computers you'll get something close to UTC anyway (maybe with smoothed leap seconds)
19:25:15 <ais523> but apparently you can write times like "December 31.5 GMT"
19:25:36 <ais523> which is a great idea, fractional days in dates is pretty obvious once you see it
19:25:44 <int-e> Fun.
19:26:49 <int-e> Though it's a bit odd to start at 1.0 and end at <32.0.
19:27:00 <b_jonas> ais523: oh yeah. http://www.madore.org/~david/weblog/d.2007-03-32.1434.html#d.2007-03-32.1434 is dated to a stylized nonexistent date
19:27:18 <ais523> March 32 2007
19:27:20 <ais523> how did that happen?
19:27:33 <b_jonas> ais523: deliberate style thing
19:27:46 <ais523> I guess it's the same basic concept as 9690 September, 1993
19:27:47 <b_jonas> David may have had to modify his blog engine to allow that for all I know
19:28:21 <int-e> What kind of format is this... '2020 M05 30'
19:28:32 <ais523> well it makes it clear what's the month and what's the day
19:28:36 <b_jonas> there's also http://www.madore.org/~david/weblog/d.2016-12-31.2414.html#d.2016-12-31.2414 which is dated to an existent date but its topic is a fictional date
19:28:39 <ais523> at least if you use a language where "month" starts with "m"
19:28:50 <b_jonas> well, more like the topic is what special event happens on a fictional day
19:28:59 <int-e> ais523: Oh that kind of makes sense. Still looks odd.
19:29:03 <ais523> perhaps it might be useful for unambiguity if you normally use a format that gives week numbers rather than month numbers
19:29:16 <ais523> (those normally put a W into the format to avoid people misinterpreting them as months)
19:29:17 <b_jonas> ais523: no, for week numbers you use
19:29:18 <b_jonas> `datei
19:29:20 <HackEso> 2020-03-12 19:29:19.493 +0000 UTC March 12 Thursday 2020-W11-4
19:29:26 <b_jonas> 2020-W11-4 <--- that thing
19:30:17 <b_jonas> int-e: I think the date was written as 2020 MAY 30 first, then someone changed the MAY to 05 but wasn't precise enough with the corrector fluid
19:30:35 <b_jonas> or possibly 2020 MAI 30
19:31:26 <int-e> b_jonas: It's how Firefox renders the expiration date of certificates for me in the "Security" tab of the "Page info" dialog...
19:31:37 <int-e> (And no, it's M for all months.)
19:32:03 <int-e> This may have something to do with it, of course: LC_TIME="POSIX"
19:32:35 <b_jonas> int-e: oh, that's an improvement. aren't those expiration dates stored in some insane format in the certificates, with the fields in some random order like %m%d%y%H%M%C%Z,%S ?
19:33:21 <ais523> huh, so some of the BBC radio stations send a time reference signal by radio on the hour most hours, consisting of five short beeps and one longer beep
19:33:35 <ais523> but they adjust for leap seconds by sending an additional short beep on the leap second
19:33:50 <ais523> that's kind-of clever, I should listen out for it next time there's a leap second
19:33:50 <b_jonas> ais523: nice
19:34:20 <int-e> Annoyingly, LC_TIME has no effect on this. But setting LANG to en_US changes the format.
19:34:29 <ais523> this also adjusts for negative leap seconds in the obvious way, but a negative leap second has never happened
19:34:59 <b_jonas> the five beeps from radio was how I set my watch long ago, when the internet didn't exist, I wore a watch, and cheap watches keep time so inaccurately that I had to set the time often
19:35:40 <b_jonas> the television also showed the time but that was not usable for setting an accurate clock because it had an impredictible amount of delay up to 5 seconds
19:35:54 <ais523> I wonder whether radio-controlled clocks use the BBC time signal, or some other time signal
19:36:38 <b_jonas> I think they use some other signal
19:36:58 <b_jonas> but I'm not quite sure
19:37:04 <b_jonas> I don't like radio controlled clocks
19:37:50 <ais523> in the UK there's a phone number you can dial for an accurate time signal spoken as words
19:38:10 <ais523> (humans have recorded a description for every time it can display, a computer replays the human speaking the time)
19:38:20 <ais523> but it's rarely useful nowadays now that NTP exists, and IIRC fairly expensive
19:38:44 <b_jonas> yes, that still exists in Hungary, and surprisingly it's a three digit phone number too
19:39:22 <b_jonas> it's useful because you can use it on dumb analog home phone lines when the electricity is out
19:39:44 <int-e> also, imagine you're blind and need to know the current time
19:39:54 <ais523> you would probably have a local speaking clock, wouldn't you?
19:40:04 <LKoen> I had a blind teacher who had a wristwatch
19:40:13 <LKoen> he would touch the hands of the watch to know the time
19:40:19 <b_jonas> yes, a local speaking clock on your mobile phone, because you don't want to pay for the telephone call every time
19:40:20 <int-e> Yes, there are devices for that. But that niche by itself should justify the 3 digit number :)
19:40:41 <ais523> I just tried running `date | espeak` but its default output format isn't great for speaking
19:40:45 <int-e> Even if it's not used much.
19:41:28 <int-e> b_jonas: Hah. Now imagine making that into a cloud service that calls that phone number once per minute, and replays the resulting recording to all the users of the app.
19:42:25 <int-e> . o O ( The sad part is that I can't rule out with certainty that this is being done. We build amazingly stupid things. )
19:42:41 <b_jonas> there are some other potentially useful but rarely used services that used to be available on dumb phone lines but have been discontinued since. I imagine the speaking clock service is very cheap to run now so there's not much incentive to discontinue it
19:43:47 <ais523> `date '+%H:%M:, %A %-d %Y' | espeak`
19:43:48 <HackEso> date: invalid date ‘'+%H:%M:\023, %A %-d \002 %Y' | espeak`’
19:43:59 <ais523> err, my client didn't interpret that well, n
19:44:00 <b_jonas> the Wikimedia Commons Picture of the Year competition round 1 voting is on, but I'm too tired to look through the images now. I'll have to remember to do that some time before the voting ends on 2020-03-22
19:44:13 <ais523> `quote privmsg #esoteric :date '+%H:%M:, %A %-d %Y' | espeak
19:44:15 <HackEso> No output.
19:44:18 <ais523> date '+%H:%M:, %A %-d %Y' | espeak
19:44:21 <ais523> there we go?
19:44:28 <LKoen> I don't know what's the command to make my computer speak
19:44:33 <ais523> apparently noy
19:44:33 <b_jonas> ais523: HackEso doesn't have a sound output
19:44:39 <ais523> b_jonas: I wasn't trying to run it
19:44:40 <ais523> just post it in IRC
19:44:45 <int-e> `date +%H:%M:%S, %A %-d %Y
19:44:46 <HackEso> 19:44:46, Thursday 12 2020
19:44:50 <ais523> but apparently my client interprets escapes even in /quote
19:44:54 <LKoen> it has text-to-speech in system preferences / accessibility, but how to get it from terminal?
19:45:01 <ais523> date '+%H:%M:%S, %A %-d %B %Y' | espeak
19:45:05 <ais523> there we go
19:45:22 <ais523> `date '+%H:%M:%S, %A %-d %B %Y'
19:45:23 <HackEso> date: invalid date ‘'+%H:%M:%S, %A %-d %B %Y'’
19:45:29 <ais523> `` date '+%H:%M:%S, %A %-d %B %Y'
19:45:30 <HackEso> 19:45:29, Thursday 12 March 2020
19:45:40 <ais523> espeak is fairly good at pronouncing that format
19:46:15 <b_jonas> ais523: the actual speaking clock uses a different format including "half past" and "quarter to" and that sort of nonsense
19:46:32 <ais523> I didn't want an actual speaking clock-alike, just something I could tell the time from
19:46:41 <b_jonas> but we're slowly advancing towards using a proper positional number system
19:46:55 <b_jonas> so we can just use %H:%M:%S now
19:47:27 <b_jonas> and more importantly, almost nobody writes months in roman numerals now, so that's one less format for months that I have to deal with
19:47:54 <b_jonas> but I still hate how months are sometimes named and almost no calendar lists both the name and the number of months
19:48:16 <ais523> hmm, if you're going to have a d:m:y date format, an h:m:s time format is inconsistent
19:48:20 <ais523> it should be s:m:h for consistency
19:48:38 <b_jonas> I never know what number of month August and September are
19:48:42 <ais523> I wonder why times are consistently big-endian, whereas big-endian dates are rarely used outside technology
19:48:52 <b_jonas> ais523: no, I'm using %Y-%m-%d date format
19:48:52 <ais523> 8 and 9 respectively
19:49:05 <ais523> I was thinking of my espeak date format
19:49:48 <b_jonas> time formats are not consistently big endian, because "quarter to five" is not big endian, nor is "12 PM"
19:50:01 <b_jonas> or "12:10 PM"
19:50:50 <b_jonas> as for datetime formats, you know which website I hate the most about that?
19:51:26 <ais523> hmm, I just realised that middle-endianness is actually really common in the real world
19:51:30 <ais523> after seeing all these examples
19:51:40 <ais523> I hadn't thought of AM/PM as a digit but of course it is
19:52:37 <b_jonas> the OOTS forums, not because "Today, 07:25 PM" is a really stupid datetime format, but because of the hypocricy: it says " (ISO 8601)" after each such timestamp and links to some webpage on W3C about what date formats you should use.
19:53:18 <b_jonas> and no, I checked https://forums.giantitp.com/profile.php?do=editoptions , you can change the time zone, but you can't change to a saner datetime format
19:54:05 <ais523> the only forum where I customized the date/time format (beyond changing the timezone) was mafiascum.net, which appears to allow all of strftime
19:54:17 <ais523> that was because the default format didn't show the seconds and they were often important
19:54:24 <b_jonas> if you follow the "show printable version" of thread link, that timestamp changes to "2020-03-12, 07:25 PM"
19:54:26 <zzo38> Yes, some web forums allow that customization and some dont.
19:54:34 <zzo38> That is one thing how NNTP is better. While it uses one date/time format, the client can reformat it for display.
19:54:58 <b_jonas> zzo38: I could technically have a custom client for these forums too
19:55:17 <b_jonas> but the problem is that phpBB's HTML format changes so often that you'd have to replace half of your client every year
19:55:28 <b_jonas> I've parsed phpBB forums multiple times, they're never the same
19:55:32 <zzo38> b_jonas: Yes, or a GreaseMonkey script, or whatever, but that isn't that good (including for the reason you specify, and others)
19:55:53 <ais523> I think it's open source, isn't it? you could try to upstream an API
19:56:24 <b_jonas> ais523: you can't even deterministically parse the "Today" or "Yesterday" datetime format when it's near a day boundary
19:56:46 <ais523> does it give you a better format when you mouse-hover it?
19:56:58 <b_jonas> ais523: not the OOTS server, no.
19:57:00 <ais523> on Reddit the default time format is very imprecise but it gives you a proper datestamp in the title field
19:57:01 <b_jonas> some other websites do
19:58:15 <b_jonas> ais523: I don't need an "API", those are for sites that use so much crazy javascript for rendering that the normal web output can't be parsed, with the website possibly trying to add extra restrictive terms for anyone using the API; phpBB isn't like that, the HTML can be parsed just fine, almost everything is represented in there,
19:58:24 <b_jonas> it's just that they change the format every few years
19:58:27 -!- Lord_of_Life_ has joined.
19:59:07 <ais523> b_jonas: well the point of the API is also to be stable and machine-parsable, avoiding the need to scrape
19:59:13 <b_jonas> I prefer websites where there's no separate API, instead the HTML format has reliable classes and other extra info that isn't necessarily used for rendering the default view, but reliable for anything you want to do client-side
19:59:14 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:59:30 <b_jonas> ais523: an API, sure. those are fine. it's "API"s that I don't like.
19:59:34 <ais523> Wikipedia's pages are very scrapable and I've written a number of scripts to scrape them, yet it was nonetheless decided that an API would be useful and it is widely used
19:59:46 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:59:54 <ais523> simply because it's less likely to break as a consequence of unrelated changes
20:00:03 <b_jonas> ais523: yes, mediawiki has the api.php which is mostly well designed, better than most others
20:00:10 <b_jonas> it's not perfect, but good enough
20:00:57 <b_jonas> I have used the mediawiki API for reading a few times, not yet for writing
20:01:42 <zzo38> I think it should be made to use NNTP; if a message is received by NNTP, the headers should be kept (including message ID if the client specifies one), and then decide how to render for the web interface (it should render the message as plain text, unless there is a "Content-type: text/markdown" header, perhaps); and then also implement other way around.
20:02:06 <zzo38> The web interface should also need to display the message ID and connection information, even if JavaScript and CSS are both disabled.
20:02:45 <arseniiv> once I considered making changes to espeak’s data to make it pronounce Russian better, but I think that’s a hard task without some software to help with editing and analyzing all the stuff e. g. in which direction vowel parameters should be changed, to not try all possible values in vain
20:03:30 <int-e> . o O ( esqueak )
20:04:02 <ais523> espeak is one of those programs which I would /expect/ to be almost impenetrable to someone not familiar with the code
20:04:26 <b_jonas> by the way, the IOCCC submission deadline is coming soon
20:04:26 <ais523> because it's trying to do something that, for most humans, would be poorly defined and very difficult to express rigorously
20:04:33 <ais523> oh, it's open again?
20:04:36 <b_jonas> yes
20:04:41 <ais523> I probably won't have a submission for this year
20:04:45 <arseniiv> and also this usually requires extending the dictionary with many rare wordforms
20:04:49 <ais523> I had a great idea a number of years ago but never had time to work on it
20:04:58 <ais523> (and another great idea a number of years ago which GregorR used to win)
20:05:40 <int-e> it's closing in a few days anyway
20:05:41 <b_jonas> I have a few IOCCC ideas, but most probably wouldn't work, and I didn't have the energy to work on the remaining ones
20:05:58 <b_jonas> if I felt like working on them, I wouldn't care about the deadline, because it's a recurring event now
20:06:15 <b_jonas> it doesn't matter much if I can only submit something two years later and it's judged two years after that
20:06:24 <b_jonas> well, it can matter a little
20:06:26 <b_jonas> but not too much
20:06:34 <arseniiv> ais523: ah, I didn’t mean the code, the language properties are defined in separate files
20:06:42 <ais523> arseniiv: those too
20:06:58 <arseniiv> yeah their format is quite complex I think
20:07:29 <b_jonas> arseniiv: it has to be. languages are complex if you want to text to speech them.
20:07:42 <zzo38> I have done some changes with espeak files before
20:07:53 <ais523> languages are complex full stop, apart from a few conlangs and computer languages
20:07:58 <arseniiv> and also there are the recordings for consonants, which also can require meddling with. Though the vowels may come first
20:08:02 <ais523> this is because information is complex
20:08:10 <ais523> and languages are about expressing information
20:08:18 <b_jonas> zzo38: are they domain-specific words, possibly acronyms, added to the dictionary with custom pronunciations
20:08:19 <arseniiv> yeah languages are a ton of complexity on so many levels
20:09:15 <zzo38> I did not do dictionary modification, just the speech modification
20:09:39 <arseniiv> though phonetics per se is not that complex, but even this one task, of representing an appropriate average phonetic invertory for a dialect, may be rendered hard to do, as in espeak
20:10:02 <b_jonas> "invertory"
20:10:07 <arseniiv> phonology is where things become more complex, and mapping from the written text, still more
20:10:57 <zzo38> Now I wonder if a file can be written for clock speech
20:11:16 <b_jonas> zzo38: there's an old IOCCC entry for that
20:17:59 -!- arseniiv has quit (Ping timeout: 258 seconds).
20:20:34 -!- arseniiv has joined.
20:20:40 <arseniiv> I’m almost jealous for Spanish where marking accent is for what I know mandatory
20:21:39 <arseniiv> haha I accidentally forgot to pay to my ISP, here now take my money and give me #esotetic back
20:22:53 <arseniiv> and this post hadn’t even gone through:
20:22:59 <arseniiv> and with languages having accent which jumps here and there and isn’t usually marked in the text, oh. A dictionary wouldn’t solve annotating accents as this may require parsing the actual syntax to make out which of homographic words each one is. Happily, espeak allows to mark accents manually, and happily, Russian has only one kind of accent and no tones
20:24:33 <arseniiv> <b_jonas> "invertory" => hm? :)
20:27:02 <b_jonas> ¿„invertory„?
20:28:00 <int-e> arseniiv: you typoed that one first
20:28:19 <arseniiv> ww… why
20:28:32 <arseniiv> I’ll consult my dictionary one sec
20:28:44 <arseniiv> ah I see
20:29:18 <arseniiv> a sneaky one. I haven’t even noticed something’s wrong
20:31:31 <b_jonas> ais523: did you at least notice "#esotetic"?
20:32:37 <arseniiv> lol
20:33:13 <arseniiv> (but why ais52̈3)
20:33:31 <ais523> I wasn't paying attention to the channel
20:33:33 <ais523> I'm not, most of the time
20:33:41 <ais523> although I'll catch up on scrollback on occasion
20:34:28 <b_jonas> argh sorry
20:34:35 <b_jonas> I should stop tab-expanding the wrong person
20:36:03 <arseniiv> hehe
20:36:21 <b_jonas> `? torgle
20:36:23 <HackEso> torgle? ¯\(°​_o)/¯
20:37:18 <arseniiv> `? perl
20:37:19 <HackEso> Perl is the Perfect Emacs Rewriting Language
20:37:25 <arseniiv> makes sense
20:38:13 <arseniiv> someone has non-secret plans for 2020-04-01?
20:38:32 <b_jonas> arseniiv: I'll be reading the SIGBOVIK proceedings probably
20:39:01 <arseniiv> oh I forgot about that, I should make a bookmark
20:42:11 <arseniiv> but I meant, have you planned something impure, i. e. effectful
20:43:07 <int-e> `? plans
20:43:08 <HackEso> plans? ¯\(°​_o)/¯
20:45:34 <arseniiv> for my part I’m still to have an idea from somewhere. Unfruitful. No flashy philosophic zen esolang ideas too. Completely unacceptable
20:46:19 <arseniiv> though maybe an esolang utilizing exitwhen only, but I’m not confident that’s possible
20:47:46 <arseniiv> and also obviously exitwhen is a local construct, and the corresponding global thing is simply algebraic effects (if one treats exitwhen in an extended sense)
20:48:49 <b_jonas> arseniiv: it's a Wednesday so I'll go to the swimming pool. how much do viruses survive in a chlorinated swimming pool? because infecting others or getting infected could be impure.
20:49:09 <b_jonas> wait, is it a wednesday?
20:49:16 <b_jonas> let me recheck
20:49:27 <arseniiv> hopefully that kind of impure wouldn’t happen to any of us!
20:49:39 <b_jonas> `datei 2020-04-01
20:49:40 <HackEso> 2020-04-01 00:00:00.000 +0000 UTC April 1 Wednesday 2020-W14-3
20:49:46 <b_jonas> yes, wednesday
20:55:33 <b_jonas> fungot, are you a mad scientist, called mad by the world?
20:55:33 <fungot> b_jonas: have to go pick up tomorrow without any pain at all and defer you to write the procedure f which i just can't
20:58:15 -!- sprocklem has joined.
21:06:24 -!- ais523 has quit (Quit: sorry for my connection).
21:06:39 -!- ais523 has joined.
21:07:03 <ais523> b_jonas: I habituallly use two context characters when nickpinging someone
21:07:22 <b_jonas> WHOA I just found a useful feature in the UI of this phone
21:07:36 <b_jonas> still sucks in general, just slightly less than I thought
21:07:57 <b_jonas> ais523: um, what do you mean by "two context characters"?
21:10:47 <ais523> the first two characters
21:11:03 <ais523> sometimes you can nickping someone with just tab, but the IRC client needs to guess a lot in that case
21:11:20 <ais523> I just tried it out and it guessed "b_jonas:" which seems like a reasonable guess in the circumstances
21:11:30 <b_jonas> ah, tab expansion
22:10:07 <arseniiv> in the meantime I hypothesize a concatenative language with dynamic-typed effects and handlers *rofl*
22:11:16 <arseniiv> though I think I’m doing something wrong as I came to need an additional `unhandle` primitive to be able to represent rethrowing an exception, when treating throwing exceptions as a type of effect
22:11:55 <arseniiv> or else the code would try to handle an exception thrown in the handler by that same handler
22:13:45 <arseniiv> . o O ( tab expansion makes your tabs 8 characters wide )
22:14:17 <arseniiv> tabstops*
22:17:27 <arseniiv> I thought I would be able to represent alg. datatypes and matching on their values via this effect framework, but it seems impossible. Their analogy is not of this kind
22:24:05 <arseniiv> hm or maybe with quasiquoting and making a set of data constructors separate from effect constructors one could go Scott on them: a data constructor DataX takes the corresponding number of values v1, …, vn from the stack and pushes a quote [ v1 … vn EffectX ]. Then a match construct pops a quote and evaluates it in the context of an effect handler corresponding to this data type. Hm but if one tries to handle a wrong value, it can be
22:24:05 <arseniiv> handled with some outer matching construct not intended to do so. Though that’s a pretty esotetic behaviour
22:24:15 <arseniiv> and again that typo
22:25:20 <arseniiv> do you like this? (not “esotetic” but data via effects)
22:28:52 <arseniiv> come to this, it may as well be called Esotetic Invertory
22:29:09 <arseniiv> this hypothetical language
22:32:41 <arseniiv> but I’m lazy to write many things needed for that to work at all: a basic stack language, quotes, quasiquoting, dictionary literals (maybe as a kind of macro), a couple of basic datatypes for making IO with, and also a symbol datatype too, for specifying effect names and constructors in handlers
22:33:18 <arseniiv> though one can do with integer indices for constructors, and then arrays instead of dictionaries. Hmm…
22:37:24 <b_jonas> arseniiv: modify an existing langauge then?
22:38:03 <arseniiv> b_jonas: it may be more tedious as I would need to understand how it works first
22:38:22 <arseniiv> I think I can minimize this thing sufficiently, though
22:47:24 -!- oerjan has joined.
22:50:04 <int-e> . o O ( I hate email )
22:52:55 <oerjan> are the logs down
22:55:45 <arseniiv> suppose one can push not only a fresh quote by using `[ ... ]` but also push a function pointer by just writing `'word` or something. Then I can make effect types into plain words, and effect constructor will just push that “effect quote” and an additional index. A handler will be able first to compare the pointer to the one it’s supposed to handle, and if it’s OK, it’ll apply it to the constructor index and select the handling
22:55:45 <arseniiv> path based on the result
22:55:45 <arseniiv> all that requires way less primitives but it can be wrapped gracefully. An effect constructor wrapper would just place an effect quote and index on the stack and call an universal `effect` primitive which would find a nearest correct handler nearest to the top of the call stack, slice a continuation, push it under those two valuesm call the handler etc. etc.
22:55:45 <arseniiv> though I’d be more glad if I’ll come up with something neater than arbitrary values to represent effect constructors. Or I should reject constructors altogether and think of that value as an argument. Hm but that way one could make it to shift/reset and this is too far
22:59:33 <oerjan> hm i think my net connection is dead slow
23:02:47 <arseniiv> oerjan: at least alternative logs http://tunes.org/~nef/logs/esoteric/?C=M;O=D do work. The primary ones don’t load for me right now too, but approx. 2 hours ago they did
23:03:49 <oerjan> i got the tunes
23:09:23 <ais523> <oerjan> are the logs down ← stalker mode is still updating live
23:09:49 <ais523> but I can't load the page in a new tab
23:09:58 <ais523> so I think the logs are updating but the webserver hosting them is having issues
23:10:39 <ais523> 504, apparently
23:14:17 <int-e> (re: email, but it turns out that poking people via email is more effective than leaving them reports on github)
23:17:51 -!- xkapastel has quit (Quit: Connection closed for inactivity).
00:13:54 -!- imode has quit (Ping timeout: 256 seconds).
00:23:33 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
00:23:44 <arseniiv> int-e: what have you poke them with?
00:26:30 <int-e> pointy letters and rount letters
00:26:35 <int-e> round even
00:30:54 -!- arseniiv has quit (Ping timeout: 256 seconds).
00:32:46 <fizzie> The web thing's been a little flaky occasionally. I was meant to debug it, but haven't managed to.
00:33:29 <fizzie> Should be back now.
00:33:42 <fizzie> ...or maybe not.
00:33:45 -!- FreeFull has quit.
00:34:44 <fizzie> Well, at least it's started to hang up kind of consistently.
00:35:44 <fizzie> I think chances are there's some bug in the websocket-based stalker mode that manages to hang up the regular request processing, even though it's not supposed to.
00:36:00 -!- MTGBusyBeaver42 has joined.
00:36:30 <fizzie> When I restart it, it works for a bit, until there's a new stalker mode connection, and then it stops working again.
00:39:07 <fizzie> Might have something to do with there being two active stalkers at the same time, that's probably not something I actually tested.
00:52:25 <MTGBusyBeaver42> ais523: looking at your WiP proof for 10 waterclocks, I'm not familiar with the language you are implementing, but it looks like the idea is to use that language to implement a cyclic tag system and prove TC that way,
00:53:05 <ais523> 2-tag, but yes
00:53:44 <MTGBusyBeaver42> the eso wiki says not all variants of high rise are TC, what makes this implementation one of the TC ones?
00:54:33 <ais523> it's pretty easy to implement High Rise variants in The Waterfall Model, the hard part is to aim for a TC variant
00:54:45 <ais523> I erred on the side of implementing a more powerful variant to make almost certain that it's TC
00:55:04 <ais523> (you can implement a simpler variant that /might/ be TC with 8 waterclocks, I added two extra here to more or less totally make sure)
00:55:19 -!- Lord_of_Life has quit (Ping timeout: 255 seconds).
00:55:35 <ais523> to prove this particular Waterfall machine TC, you have to do two things, prove it implements that particular High Rise variant, and prove the variant TC
00:56:01 <ais523> it's only a WIP proof because I haven't done either half yet, I'm currently working on the second half (when I'm working on something that isn't my day job)
00:56:50 <MTGBusyBeaver42> yeah, it looks like implementing it in TWM isnt asking for anything TWM has a hard time doing
00:57:17 <ais523> it's the use of the E' waterclock that makes it almost certainly TC, its purpose is to outright skip every second 2 in the High Rise data string
00:57:45 <ais523> that gives us the one bit of state that you need to add to 1-tag to make it TC, so the only remaining hurdle is to prove that the rest of the language can implement 1-tag
00:58:44 <ais523> I may as well write my thoughts on that up here, too: the only thing that determines where new 2s are added in the data string is the distance between two (non-ignored) 2s scrolling off the data string
00:59:18 <ais523> the basic idea is to use two sorts of distances, small distances which also happen to be odd numbers, and large distances which also happen to be even numbers
00:59:40 <ais523> then small distances push the corresponding large distances onto the data string, large distances push a string of small distances onto the data string
01:00:17 <ais523> for the latter, you have a block of 1s in one half of the data string that matches up to the pattern you want (made of 1s) in the other half
01:00:52 <ais523> for the former, you have a sequence 101010101010101… in one half of the data string against a 1 in the other that adds up to a 2 only if you have a small (thus odd) distance
01:01:17 <ais523> and a few sporadic 1s in both halves which match up only when using a specific small distance
01:01:40 <ais523> err, I don't mean one half of the data string, I mean one half of the geometric sequence
01:01:52 <ais523> the ratio between successive elements is a very large power of 3
01:02:01 <ais523> and the two halves are around 3^n and 3^(n+1)
01:02:11 <ais523> actually this proof uses 9 rather than 3 but it's the same principle
01:02:33 <ais523> I probably haven't explained this very well, it'll probably be better to write it up as an actual proof, or else write a compiler
01:02:36 <ais523> to make it more formal
01:03:13 <MTGBusyBeaver42> thanks, this did actually help, high-rise is wierd
01:04:44 <ais523> it's funny, in the early history of esolangs, people made things like INTERCAL and Malbolge which were weird on purpose, for the sake of weirdness
01:05:04 -!- Lord_of_Life has joined.
01:05:07 <ais523> and nowadays, when we look into the simplest, most fundamental available tarpits, we get just as much weirdness but it's naturally occurring
01:05:54 <MTGBusyBeaver42> Yeah I actually was looking at 3-star programmer randomly like a year ago
01:06:47 <ais523> there's a High Rise language in base 2, with carries allowed, which uses a blank sequence for 0 and a geometric (not interleaved-geometric) sequence for 1 which I'm genuinely not sure whether it's TC or not, it seems so close to being TC but I can't quite make it work
01:06:49 <MTGBusyBeaver42> so wierd for operations like that to be TC
01:08:26 <ais523> it gets easier once you realise that you can set things up so that some of the addresses are constants that always point to the same place, that effectively lets you get rid of stars when you don't want them
01:08:50 <ais523> it doesn't seem that ridiculous to me that a program based on ++*k, ++**k, ++***k can be TC for constant k
01:09:27 <ais523> only having increments available for writing and only having dereferences available for reading is painful, but by keeping regimented control over the whole of memory, it's not /that/ bad
01:11:35 <MTGBusyBeaver42> yeah, it is still bizarre to think about, more common operations like XOR are a lot easier to understand why.
01:12:18 <ais523> actually I think the hardest part with Three Star Programmer (and with the I/D machine) is that every statement has to increment /something/ so you need to find a lot of useless variables to throw your increments away in
01:13:12 <ais523> the TC proof for the I/D machine goes to the effort of setting up a queue that's never read from, just so that it can write to it the same way that it writes to the queue that it does use, thus vastly reducing the number of writes that need to be special-cased to sometimes write to somewhere useless
01:13:51 <ais523> this is a common trick in esoprogramming, I think, creating a dummy data structure that's just like your real, useful data structure so that you can throw away unwanted writes without using a conditional
01:14:02 <ais523> it was invented by Donald Knuth when he was programming in INTERCAL
01:15:16 <MTGBusyBeaver42> yeah I've definitely seen it before.
01:15:54 <MTGBusyBeaver42> anyway back to TWM->high-rise -> 2-tag -> TM
01:16:31 <MTGBusyBeaver42> what approximate ratio do we need in TWM to get an X state TM?
01:16:49 <ais523> let's see: a TWM program is defined by zeroing triggers and initial values
01:16:54 <ais523> and number of waterclocks
01:16:57 <ais523> the number of waterclocks is fixed
01:17:14 <ais523> the initial values could be small because 2-tag is good at bootstrapping itself
01:17:42 <ais523> (by "small" I mean in the 1000-10000 range, although you could add an additional waterclock if you needed them smaller)
01:18:06 <ais523> the zeroing triggers are mostly small but a few of them will be enormous, encoding the High Rise program that encodes the 2-tag program that encodes the TM
01:18:11 <MTGBusyBeaver42> Initial values are the same cost as the transitions
01:18:19 <ais523> right, that doesn't surprise me
01:19:34 <ais523> the size of the zeroing triggers will be a small multiple of the ratio of the High Rise geometric series times the base of High Rise geometric series, as a number
01:19:45 <ais523> but the 2-tag translation sees it as a string of digits
01:19:51 <ais523> which we'll be converting into a number using base 9
01:20:51 <ais523> the length of the string, I suspect is roughly quadratic in the number of colors of the 2-tag system (the length of the productions obviously also matters but it's only linear in those, so the number of colors probably dominates)
01:21:21 <ais523> so we have a number of the form 9^(2^colors)
01:21:34 <ais523> this is larger than most reasonable one-arrow numbers, but smaller than almost all two-arrow numbers
01:21:46 <ais523> wait, no
01:21:58 <ais523> it's 9^(colors^2 * constant) which is much smaller
01:22:21 <ais523> it's large as one-arrow numbers go, but perhaps in reach, and thus easily dominated by two-arrow numbers
01:22:47 <ais523> the question is, how large of a 2-tag system do you need to implement a UTM
01:23:13 <ais523> and I don't know that part because the 2-tag-from-UTM translation isn't one that I've personally worked on
01:23:49 <MTGBusyBeaver42> Well there are some pretty small UTMs
01:24:34 <ais523> there's a paper covering this but it isn't publicly available
01:24:53 <ais523> so I can't just look up the complexity
01:25:07 <ais523> ofc, the simpler the UTM, the larger the encoding of its input you typically need
01:26:43 <ais523> so the busy beaver function for a given UTM will grow more slowly the simpler the UTM is (although not much more slowly because busy beaver functions grow faster than anything computable, so they're all pretty fast)
01:26:44 <MTGBusyBeaver42> wait we dont need a UTM, we can encode the TM busy beaver as the 2-tag program
01:27:22 <ais523> right; and in fact you could encode a Waterfall Model busy beaver which would probably be busier (it would have to be at least as busy)
01:27:50 <MTGBusyBeaver42> Yeah once we iterate the conversion doesn't particularly matter
01:27:57 <ais523> it's an interesting problem because you need to show that the UTM exists in order to prove that the busy beaver function grows quickly, but the busiest beaver probably won't use one at all
01:28:40 <ais523> hmm, or maybe it will? that's an interesting question in its own right
01:29:05 <ais523> (and one that's very hard to answer because finding busy beavers is almost impossible even for very small machines)
01:29:51 <ais523> hey, #esoteric regulars: if you have a language that is sub-TC, does that imply that finding busy beavers for it is computable? or can a language be sub-TC and yet have an uncomputable halting problem?
01:30:02 <MTGBusyBeaver42> Yeah, though how to define the size of a TWM busy beaver something like (Clocks, Max size)
01:30:23 <ais523> "number of Plant tokens required to set it up"
01:30:31 <MTGBusyBeaver42> yes
01:33:01 <MTGBusyBeaver42> if Flooding Waterfall Machines have real busy beavers then we can have a lot more freedom in the setup and probably get an extra layer of iterations too
01:33:50 <ais523> well, 10 waterclocks + a number of flooding clocks is going to give you much busier beavers, because you can write a UTM using the 10 waterclocks, and use the flooding clocks as additional storage that naturally tends to explode
01:34:11 <ais523> if all your waterclocks are flooding, I'm still unsure what happens
01:34:53 <ais523> I think the best way to think about the flooding version of the language is that the zeroing triggers actually run every cycle, but their effects don't become visible until their clock zeroes
01:35:22 <ais523> but that way of thinking about it hasn't helped me much with actually programming in the language :-D
01:37:57 <MTGBusyBeaver42> yeah, either way of thinking about it, there's not really a good way to encode the values, due to combining multiplication and addition/subtraction
02:30:58 -!- ais523 has quit (Quit: quit).
02:36:09 -!- ais523 has joined.
02:37:07 <ais523> MTGBusyBeaver42: you should point out to the thread that Battletide Alchemist doesn't work if there's any way to have it on the field when setting up a double-Arcbond (even among your own creatures); you can use the optional damage prevention to make the loop run for a set, unlimited number of iterations
02:38:11 <ais523> like, the idea is that you make the opponent gain loop each iteration but don't use it yourself, set up a trivial infinite loop, run yourself out of life via choosing not to use Battletide Alchemist after a chosen number of iterations in order to deal a chosen amount of damage to the opponent
02:39:28 <ais523> although, I think it isn't being used anyway in the current versions
02:39:29 -!- ais523 has quit (Client Quit).
02:42:20 <zzo38> "There's a reason the comprehensive rules and errata for Magic: The Gathering is hundreds of pages long and reads like a federal tax code" I don't think so; the tax code is much more confusing.
03:15:20 <MTGBusyBeaver42> Well the score is actually how negative their life goes, not the total dealt.
03:16:49 <MTGBusyBeaver42> is the federal tax code TC?
03:19:12 <esowiki> [[Lightlang]] https://esolangs.org/w/index.php?diff=70265&oldid=68026 * Felixcesar15 * (-2131) New instruction set
03:20:50 <esowiki> [[Lightlang]] M https://esolangs.org/w/index.php?diff=70266&oldid=70265 * Felixcesar15 * (-49)
03:25:43 <zzo38> I don't know, but that is independent.
04:17:41 -!- oerjan has quit (Quit: Nite).
04:26:47 -!- MTGBusyBeaver42 has quit (Remote host closed the connection).
05:05:11 -!- imode has joined.
05:25:46 -!- Sgeo has quit (Ping timeout: 258 seconds).
06:04:56 -!- kritixilithos has joined.
06:21:53 -!- Sgeo has joined.
06:38:49 -!-