←2020-03 2020-04 2020-05→ ↑2020 ↑all
00:14:13 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=70556&oldid=70504 * LegionMammal978 * (+13) /* C */
00:17:37 <esowiki> [[Cheers]] https://esolangs.org/w/index.php?diff=70557&oldid=50618 * LegionMammal978 * (+324) added categories
00:23:03 <esowiki> [[Flurry]] https://esolangs.org/w/index.php?diff=70558&oldid=66937 * Challenger5 * (+1058)
00:25:34 <esowiki> [[Talk:Flurry]] https://esolangs.org/w/index.php?diff=70559&oldid=70552 * Challenger5 * (+264)
00:27:08 -!- xelxebar has joined.
01:03:12 <esowiki> [[Talk:Z]] https://esolangs.org/w/index.php?diff=70560&oldid=70550 * Challenger5 * (+854)
01:04:29 <esowiki> [[Talk:Z]] https://esolangs.org/w/index.php?diff=70561&oldid=70560 * Challenger5 * (+180)
01:06:06 <esowiki> [[Z]] https://esolangs.org/w/index.php?diff=70562&oldid=62308 * Challenger5 * (+89)
02:03:04 -!- Phantom_Hoover has joined.
02:14:44 <esowiki> [[Ly]] https://esolangs.org/w/index.php?diff=70563&oldid=69953 * IFcoltransG * (+4) /* Commands */ Updated whether the development is active or not
02:20:32 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:35:42 <esowiki> [[Charm]] https://esolangs.org/w/index.php?diff=70564&oldid=54864 * IFcoltransG * (+18) Changed from 'is actively maintained' to 'was actively maintained'
02:37:50 -!- tromp has quit (Ping timeout: 246 seconds).
02:40:11 -!- tromp has joined.
02:43:22 -!- imode has quit (Ping timeout: 256 seconds).
02:45:10 -!- imode has joined.
03:16:46 <int-e> tromp: I updated BB.txt and added my code, so that should answer all your questions
05:02:39 <esowiki> [[Talk:Z]] M https://esolangs.org/w/index.php?diff=70565&oldid=70561 * Challenger5 * (-12) move my message to respect signature
05:03:11 <esowiki> [[Z]] https://esolangs.org/w/index.php?diff=70566&oldid=70562 * Challenger5 * (-28) remove unused feature
05:31:56 -!- WillGibson has joined.
05:41:12 -!- WillGibson has left.
05:45:31 -!- kspalaiologos has joined.
05:53:41 -!- ArthurStrong has quit (Quit: leaving).
06:53:31 -!- aji has quit (Ping timeout: 265 seconds).
06:54:58 -!- shinh_ has quit (Ping timeout: 265 seconds).
07:01:03 -!- aji has joined.
07:01:19 -!- shinh_ has joined.
07:05:14 -!- xelxebar has quit (Remote host closed the connection).
07:05:45 -!- xelxebar has joined.
07:09:53 -!- Sgeo__ has joined.
07:12:53 -!- ashnur has joined.
07:13:15 -!- Sgeo_ has quit (Ping timeout: 256 seconds).
07:13:34 -!- ashnur has left ("WeeChat 2.7.1").
08:48:33 -!- imode has quit (Ping timeout: 265 seconds).
09:24:27 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
09:24:52 -!- Lord_of_Life has joined.
09:30:25 -!- rain1 has joined.
09:59:24 <esowiki> [[Vitsy]] M https://esolangs.org/w/index.php?diff=70567&oldid=50645 * VTCAKAVSMoACE * (-1)
10:24:49 -!- arseniiv_ has joined.
10:26:53 -!- xkapastel has joined.
10:44:52 <rain1> hi
10:46:52 <kspalaiologos> greets
10:47:18 <rain1> hey hows it going
10:48:19 <kspalaiologos> it's alright
11:03:33 <b_jonas> SIGBOVIK conference procedings are released
11:03:37 <b_jonas> http://sigbovik.org/2020/
11:03:38 <rain1> cool
11:03:46 <rain1> i was checking out poc or gtfo recently
11:03:49 <rain1> just remembered it recently
11:14:32 <tromp> int-e: thanks for those nice additions. I see how (\1 (\\3 2)) is in your set W. Btw, do you mind me renaming B to V and W' to B in BB.txt ?
11:21:02 <int-e> tromp: fine with me
11:21:32 <int-e> (I used V for something else initially but then got rid of that)
11:22:04 <tromp> B for bodies and V for variables is more mnemonic. plus W and W' are harder to tell apart
11:23:14 <int-e> This generalizes to things like W T W -> H[W T W], but I haven't checked whether that applies to any of the remaining size 32 cases.
11:25:00 <int-e> (There's also W W W -> H[W W W], and W W T -> H[W W T] all with slightly different definitions for W and B)
11:25:13 <int-e> (So the families explode a bit.)
11:26:16 <tromp> yeah i noticed one of those W W W -> H[W W W] cases leading my program to hang at 34
11:26:35 <int-e> mine too
11:26:44 <int-e> (well, I didn't investigate which case it was)
11:27:05 <tromp> it was (\1 1 1) (\\1 2 2)
11:27:07 <int-e> (but it does run out of memory at 34)
11:27:43 <int-e> where memory is what I have here, which is 32G.
11:28:06 <tromp> my desktop has the same:)
11:28:29 <int-e> (\1 1 1) (\\1 (\3) 1) looks like it is a WTW case.
11:28:49 <int-e> hmm, or does it.
11:29:29 <int-e> Nah, that was too quick. It's (unless I'm confusing myself) different.
11:30:18 <int-e> Oh. I *am* confusing myself.
11:30:55 <int-e> (Namely, 1 refers to the second argument, not the first.)
11:32:29 <int-e> So the conclusion is that generalizing this criterion would get rid of at least one remaining case for BB(32).
11:33:36 <rain1> are there any conditions on H?
11:34:38 <int-e> rain1: H ::= □ | \v. H | H T -- it's a context with the hole in head position
11:34:51 <int-e> (hence H)
11:34:52 <rain1> okay
11:38:11 <kspalaiologos> functional programming I smell
11:38:16 <kspalaiologos> understand nothing
11:39:10 <int-e> tromp: Anyway, the reason I blocked your question yesterday was because I had to figure out how to present this nicely... the initial thought process was very convoluted and not as rigorous as I liked. Sleeping on it helped... I could put things together in my head in the morning, then get up and write them down :)
11:39:55 <tromp> and nice it is:)
11:41:01 <int-e> (And as things stood yesterday, it might have turned out that the criterion was flawed. Embarrassing, but less embarrassing than being told by somebodye else :P -- I have some pride.)
11:45:42 <int-e> I wonder whether there's any serious literature on this question... identifying lambda terms with normal form.
11:46:04 <int-e> or rather, without.
11:46:16 <rain1> i would be interested in that oto
11:46:58 <rain1> I think they are called head recurrent terms
11:47:18 <int-e> that's a small subclass
11:52:20 <tromp> studying busy beavers is an exercise in recognizing ever wider classes of divergent behaviour
11:54:48 <int-e> and also, at some point, of compressing computations which we already know will be needed to find BB(38).
11:55:16 <int-e> (because 2^65536 is uncomfortably big)
11:55:22 <tromp> at least lambda calculus lends itself better to that than turing machines:)
11:55:44 <rain1> so much better
11:56:02 <int-e> Yeah the granularity is finer, so the difficulty rises a bit more gracefully.
11:56:06 <rain1> it's really interesting to study the lambda calculus BB
11:56:20 <tromp> TM busy beaver is stuck at 5 states, which is almost 50 bits
11:56:26 <rain1> i think it would also be interesting to check out the shortest terms that produce 2^n reductions and similar other functions
11:57:23 <int-e> maybe if you'd parameterize TMs by number of non-terminating transitions instead, you could do something more interesting
11:57:59 <int-e> But also, TMs are kind of icky to analyse; I wouldn't know where to begin :)
11:59:42 <int-e> (Okay, that's a lie. There's a fairly obvious notion of stationary loops that don't change the tape, and shifting loops that write the same string to the tape over and over again. And after that is where I think it becomes really ugly.)
12:00:41 <tromp> both cases of tape-independent behaviour
12:04:31 -!- xelxebar has quit (Remote host closed the connection).
12:07:57 <int-e> It's comparable to where we're at with the BLCBBs; the next step is bound to involve some sort of induction. Though, perhaps, there are some devilishly clever context-free-ish grammars (along the lines of W) that describe sets of terms that have no normal forms and are closed under left-most outer-most reduction.
12:12:01 -!- xelxebar has joined.
12:21:58 -!- rain1 has quit (Quit: Lost terminal).
12:34:13 <tromp> int-e: could you represent Bot by Var maxInt instead ?
12:34:50 <tromp> (assuming incv would preserve it)
12:37:03 <int-e> Probably? Var -1 is another idea. But I started from scratch and this felt cleaner.
12:37:36 <tromp> it behaves similarly to my function eqfree in BB.lhs
12:39:17 <tromp> so you could avoid Bot by writing a custom S.member
12:39:56 <tromp> seems cleaner still
12:41:14 <int-e> (If I had worked on top of AIT.lhs I would probably have resorted to such trickery.)
12:41:29 <int-e> err
12:41:33 <int-e> BLC.lhs of course
12:41:43 <int-e> ...
12:41:59 <int-e> /undo
12:42:15 <tromp> Equality modulo free vars is hardly trickery
12:42:33 <int-e> I meant the Var -1 idea.
12:42:39 <tromp> oh sure
12:43:37 <tromp> but expressing Equality modulo free vars is cleaner than adding a Bot constructor to your terms
12:44:11 <tromp> seems cleaner imo :-)
12:46:04 <int-e> Yeah but it doesn't interact nicely with Ord.
12:46:21 <int-e> (not that it really matters)
12:47:25 <tromp> it matters for efficiency of set membership I guess
12:47:54 <int-e> sure but that's hardly the bottleneck at the set sizes I allow
12:48:15 <int-e> I used Data.Set out of habit, really.
12:49:11 <tromp> btw, you don't need to add all r to the set, just the ones where subst 0 a b is larger in size than r
12:49:37 <tromp> i.e. the local size minima
12:50:21 <int-e> I probably don't care :)
12:50:49 <tromp> not at these sizes no:)
12:50:52 <int-e> But yeah, good point.
12:51:17 <int-e> Actually I'm worried that it would explode. :)
12:51:22 <tromp> btw, my understanding of Haskell is lacking
12:51:48 <tromp> i thought i could change your b <- return (simp b) to let b = simp b
12:51:58 <int-e> that's recursive
12:52:12 <tromp> ah, now I see
12:52:27 <tromp> so i could just let sb = simp b
12:52:32 <int-e> true
12:52:33 <tromp> and avoid the reuse of b
12:52:49 <int-e> but the shadowing of the old version is a feature here
12:53:11 <tromp> how so?
12:53:25 <int-e> It means I will not accidently use it.
12:53:43 <tromp> ah, ok.
12:54:00 <tromp> a sanitation feature:)
12:54:19 <int-e> I usually use primes... and then I produce bugs by missing a prime somewhere :-/
12:54:54 <int-e> so I've become a believer in deliberate shadowing of identifiers.
12:55:22 <tromp> you're a prime example of a shadowy character:-)
12:55:30 <int-e> in lieu of assignments from imperative programming languages
12:57:09 -!- xelxebar has quit (Remote host closed the connection).
12:57:46 <tromp> yes, i guess imperative programs can be directly transcribed with x = E replaced by x <- Just E
12:57:46 <int-e> > let f n | n <- n+1, n <- n*2 = n in f 4
12:57:49 <lambdabot> 10
13:00:10 <tromp> > let f n = do n <- Just n+1; n <- Just n*2 in f 4
13:00:14 <lambdabot> error:
13:00:14 <lambdabot> The last statement in a 'do' block must be an expression
13:00:14 <lambdabot> n <- Just n * 2
13:01:12 <tromp> > let f n = do n <- Just n+1; n <- Just n*2; return n in f 4
13:01:16 <lambdabot> error:
13:01:16 <lambdabot> • No instance for (Num (Maybe Integer))
13:01:16 <lambdabot> arising from a use of ‘e_1124’
13:01:29 -!- xelxebar has joined.
13:02:12 <tromp> > let f n = do n <- Just (n+1); n <- Just n*2; return n in f 4
13:02:16 <lambdabot> error:
13:02:16 <lambdabot> • No instance for (Num (Maybe Integer))
13:02:16 <lambdabot> arising from a use of ‘e_1124’
13:02:22 <tromp> > let f n = do n <- Just (n+1); n <- Just (n*2); return n in f 4
13:02:25 <lambdabot> Just 10
13:02:51 <tromp> Just ice at last:-)
13:03:09 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70568&oldid=70502 * PythonshellDebugwindow * (+388) REgeex
13:28:17 <tromp> why does your simpA have an argument i that's always 0 ?
13:29:50 <int-e> because I had some idea that used it with 1 but didn't pan out
13:31:13 <int-e> related to the "level 2" beta reduction (\x\y. u) v w -> (\x. u[y := w]) v
13:31:58 <int-e> And by "didn't pan out" I mean it didn't help at the sizes I currently care about.
13:33:28 <b_jonas> quesiton about the Wiki. Ellipsis and A are categorized as Languages, whereas Unary and Lenguage are categorized as joke languages. they're essentially the same language. what makes one of them a joke language and the other a language? are they just on the border where they can just be categorized either?
13:35:13 <int-e> <joke> you gotta keep those categories balanced </joke>
13:36:54 <esowiki> [[SimPL]] N https://esolangs.org/w/index.php?oldid=70569 * B jonas * (+601) Created page with "'''SimPL''' is an esoteric programming language with very simple syntax. SimPL programs are very large because their contents are encoded in unary, there is only one program..."
13:38:17 <esowiki> [[SimPL]] https://esolangs.org/w/index.php?diff=70570&oldid=70569 * B jonas * (+93)
14:42:15 -!- sprocklem has quit (Ping timeout: 260 seconds).
14:44:10 -!- sprocklem has joined.
15:00:33 <int-e> tromp: Thanks btw, you definitely have a point about using Bot to mark free variables. I don't think it actually goes wrong just yet, but it easily could...
15:01:27 <tromp> i'm rewriting my BB.lhs based on your improvements
15:02:08 <tromp> using the S.Set and storing the minimal size r
15:02:52 -!- sprocklem has quit (Ping timeout: 256 seconds).
15:02:58 <tromp> and using data BBClass = NormalForm DB | Diverging | Unknown for reduction results
15:03:01 <int-e> ...and even if it couldn't go wrong, the reasons why it doesn't happen are too subtle :)
15:03:17 -!- sprocklem has joined.
15:03:38 <int-e> tromp: nice
15:15:48 -!- imode has joined.
18:07:07 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
18:09:18 -!- ArthurStrong has joined.
18:32:05 <esowiki> [[Minimal operation language]] N https://esolangs.org/w/index.php?oldid=70571 * PythonshellDebugwindow * (+1484) Created page with "{{Template:Distinguish/Confusion|Minimal}} '''Minimal operation language''' is a test esolang by [[User:PythonshellDebugwindow]], who will try to implement it and possibly fai..."
18:32:36 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70572&oldid=70568 * PythonshellDebugwindow * (+78)
18:38:08 -!- iczero has changed nick to ferris-ball.
18:45:14 -!- Phantom_Hoover has joined.
18:45:14 -!- moony has changed nick to ferrisier-ball.
18:50:03 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70573&oldid=70571 * PythonshellDebugwindow * (+32) /* Syntax */
19:13:16 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70574&oldid=70573 * PythonshellDebugwindow * (+0) /* Syntax */
19:24:12 -!- kspalaiologos has quit (Quit: Leaving).
19:32:38 -!- trn has quit (Quit: quit).
19:34:12 -!- ferrisier-ball has changed nick to moony.
19:34:23 -!- ferris-ball has changed nick to iczero.
19:36:06 -!- moony has changed nick to noomy.
19:36:17 -!- laerlingSAP has quit (Quit: ZNC 1.7.3 - https://znc.in).
19:37:31 -!- laerlingSAP has joined.
19:42:48 -!- trn has joined.
21:25:41 -!- Lord_of_Life_ has joined.
21:26:37 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
21:27:01 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:38:19 -!- arseniiv_ has quit (Ping timeout: 258 seconds).
21:41:44 <b_jonas> SIGBOVIK talks are now being broadcast.
22:00:37 -!- Lymia has quit (Quit: Hugs~ <3).
22:08:08 -!- tromp has quit (*.net *.split).
22:08:09 -!- MDude has quit (*.net *.split).
22:08:09 -!- lambdabot has quit (*.net *.split).
22:08:09 -!- shikhin has quit (*.net *.split).
22:08:09 -!- Lord_of_Life has quit (*.net *.split).
22:08:09 -!- Phantom_Hoover has quit (*.net *.split).
22:08:09 -!- ArthurStrong has quit (*.net *.split).
22:08:09 -!- Sgeo__ has quit (*.net *.split).
22:08:09 -!- shinh_ has quit (*.net *.split).
22:08:09 -!- j-bot has quit (*.net *.split).
22:08:09 -!- Hooloovo0 has quit (*.net *.split).
22:08:09 -!- Melvar has quit (*.net *.split).
22:08:09 -!- atehwa has quit (*.net *.split).
22:08:09 -!- diverger has quit (*.net *.split).
22:08:09 -!- olsner has quit (*.net *.split).
22:08:09 -!- grumble has quit (*.net *.split).
22:08:09 -!- hakatashi has quit (*.net *.split).
22:08:10 -!- tswett[m] has quit (*.net *.split).
22:08:10 -!- APic has quit (*.net *.split).
22:08:10 -!- noomy has quit (*.net *.split).
22:08:11 -!- xavo[m] has quit (*.net *.split).
22:08:11 -!- xylochoron[m] has quit (*.net *.split).
22:08:11 -!- ocharles has quit (*.net *.split).
22:08:11 -!- oren has quit (*.net *.split).
22:08:12 -!- mich181189 has quit (*.net *.split).
22:08:12 -!- pikhq has quit (*.net *.split).
22:08:12 -!- Soni has quit (*.net *.split).
22:08:12 -!- iczero has quit (*.net *.split).
22:08:12 -!- Bowserinator has quit (*.net *.split).
22:08:12 -!- rodgort has quit (*.net *.split).
22:08:12 -!- mniip has quit (*.net *.split).
22:08:12 -!- Cale has quit (*.net *.split).
22:08:12 -!- sftp has quit (*.net *.split).
22:08:12 -!- BWBellairs has quit (*.net *.split).
22:08:12 -!- aji has quit (*.net *.split).
22:08:12 -!- b_jonas has quit (*.net *.split).
22:08:12 -!- erdic has quit (*.net *.split).
22:08:12 -!- myname has quit (*.net *.split).
22:08:12 -!- Deewiant has quit (*.net *.split).
22:08:12 -!- LBPHacker has quit (*.net *.split).
22:08:13 -!- dnm_ has quit (*.net *.split).
22:08:13 -!- glowcoil has quit (*.net *.split).
22:08:13 -!- stux has quit (*.net *.split).
22:08:13 -!- haavard has quit (*.net *.split).
22:08:13 -!- ineiros has quit (*.net *.split).
22:08:13 -!- xelxebar has quit (*.net *.split).
22:08:13 -!- sparr has quit (*.net *.split).
22:08:13 -!- myndzi has quit (*.net *.split).
22:08:13 -!- imode has quit (*.net *.split).
22:08:13 -!- FreeFull has quit (*.net *.split).
22:08:13 -!- nchambers has quit (*.net *.split).
22:08:13 -!- FireFly has quit (*.net *.split).
22:08:13 -!- clog has quit (*.net *.split).
22:08:13 -!- j4cbo has quit (*.net *.split).
22:08:13 -!- ^[_ has quit (*.net *.split).
22:08:13 -!- Lykaina has quit (*.net *.split).
22:08:13 -!- ornxka has quit (*.net *.split).
22:08:13 -!- ski has quit (*.net *.split).
22:08:13 -!- diginet has quit (*.net *.split).
22:08:13 -!- jix has quit (*.net *.split).
22:08:13 -!- gitlogger has quit (*.net *.split).
22:08:13 -!- int-e has quit (*.net *.split).
22:08:13 -!- paul2520 has quit (*.net *.split).
22:08:13 -!- izabera has quit (*.net *.split).
22:08:13 -!- kmc has quit (*.net *.split).
22:08:13 -!- sprocklem has quit (*.net *.split).
22:08:13 -!- sebbu has quit (*.net *.split).
22:08:13 -!- laerling has quit (*.net *.split).
22:08:13 -!- shig has quit (*.net *.split).
22:08:13 -!- catern has quit (*.net *.split).
22:08:13 -!- xkapastel has quit (*.net *.split).
22:08:13 -!- dog_star has quit (*.net *.split).
22:08:13 -!- relrod has quit (*.net *.split).
22:08:14 -!- lynn_ has quit (*.net *.split).
22:08:14 -!- ProofTechnique has quit (*.net *.split).
22:08:14 -!- Taneb has quit (*.net *.split).
22:08:14 -!- vertrex has quit (*.net *.split).
22:08:14 -!- interruptinuse has quit (*.net *.split).
22:08:14 -!- fizzie has quit (*.net *.split).
22:08:14 -!- HackEso has quit (*.net *.split).
22:08:14 -!- howlands_ has quit (*.net *.split).
22:08:14 -!- Banana51 has quit (*.net *.split).
22:08:14 -!- wmww has quit (*.net *.split).
22:08:14 -!- trn has quit (*.net *.split).
22:08:14 -!- laerlingSAP has quit (*.net *.split).
22:08:14 -!- zzo38 has quit (*.net *.split).
22:08:14 -!- spruit11 has quit (*.net *.split).
22:08:14 -!- iovoid has quit (*.net *.split).
22:08:14 -!- imode-ruby has quit (*.net *.split).
22:08:14 -!- joast has quit (*.net *.split).
22:08:14 -!- aloril has quit (*.net *.split).
22:08:14 -!- lifthrasiir_ has quit (*.net *.split).
22:08:14 -!- quintopia has quit (*.net *.split).
22:08:14 -!- heroux has quit (*.net *.split).
22:16:45 <esowiki> [[Special:Log/newusers]] create * Binyamin * New user account
22:24:22 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70575&oldid=70539 * Binyamin * (+197)
22:31:02 -!- Lymia has joined.
22:31:02 -!- Lord_of_Life has joined.
22:31:02 -!- trn has joined.
22:31:02 -!- laerlingSAP has joined.
22:31:02 -!- Phantom_Hoover has joined.
22:31:02 -!- ArthurStrong has joined.
22:31:02 -!- imode has joined.
22:31:02 -!- sprocklem has joined.
22:31:02 -!- xelxebar has joined.
22:31:02 -!- xkapastel has joined.
22:31:02 -!- Sgeo__ has joined.
22:31:02 -!- shinh_ has joined.
22:31:02 -!- aji has joined.
22:31:02 -!- tromp has joined.
22:31:02 -!- zzo38 has joined.
22:31:02 -!- mniip has joined.
22:31:02 -!- b_jonas has joined.
22:31:02 -!- MDude has joined.
22:31:02 -!- spruit11 has joined.
22:31:02 -!- Cale has joined.
22:31:02 -!- diverger has joined.
22:31:02 -!- iovoid has joined.
22:31:02 -!- erdic has joined.
22:31:02 -!- tswett[m] has joined.
22:31:02 -!- xavo[m] has joined.
22:31:02 -!- wmww has joined.
22:31:02 -!- xylochoron[m] has joined.
22:31:02 -!- oren has joined.
22:31:02 -!- ocharles has joined.
22:31:02 -!- imode-ruby has joined.
22:31:02 -!- myname has joined.
22:31:02 -!- APic has joined.
22:31:02 -!- mich181189 has joined.
22:31:02 -!- pikhq has joined.
22:31:02 -!- Soni has joined.
22:31:02 -!- dnm_ has joined.
22:31:02 -!- iczero has joined.
22:31:02 -!- Bowserinator has joined.
22:31:02 -!- sftp has joined.
22:31:02 -!- FreeFull has joined.
22:31:02 -!- nchambers has joined.
22:31:02 -!- BWBellairs has joined.
22:31:02 -!- j-bot has joined.
22:31:02 -!- rodgort has joined.
22:31:02 -!- Hooloovo0 has joined.
22:31:02 -!- noomy has joined.
22:31:02 -!- sebbu has joined.
22:31:02 -!- lambdabot has joined.
22:31:02 -!- glowcoil has joined.
22:31:02 -!- olsner has joined.
22:31:02 -!- shikhin has joined.
22:31:02 -!- Melvar has joined.
22:31:02 -!- grumble has joined.
22:31:02 -!- atehwa has joined.
22:31:02 -!- laerling has joined.
22:31:02 -!- hakatashi has joined.
22:31:02 -!- Deewiant has joined.
22:31:02 -!- LBPHacker has joined.
22:31:02 -!- stux has joined.
22:31:02 -!- j4cbo has joined.
22:31:02 -!- ^[_ has joined.
22:31:02 -!- dog_star has joined.
22:31:02 -!- shig has joined.
22:31:02 -!- catern has joined.
22:31:02 -!- howlands_ has joined.
22:31:02 -!- ornxka has joined.
22:31:02 -!- haavard has joined.
22:31:02 -!- joast has joined.
22:31:02 -!- aloril has joined.
22:31:02 -!- relrod has joined.
22:31:02 -!- ineiros has joined.
22:31:02 -!- ski has joined.
22:31:02 -!- lifthrasiir_ has joined.
22:31:02 -!- quintopia has joined.
22:31:02 -!- lynn_ has joined.
22:31:02 -!- ProofTechnique has joined.
22:31:02 -!- heroux has joined.
22:31:02 -!- Taneb has joined.
22:31:02 -!- diginet has joined.
22:31:02 -!- int-e has joined.
22:31:02 -!- vertrex has joined.
22:31:02 -!- jix has joined.
22:31:02 -!- interruptinuse has joined.
22:31:02 -!- Lykaina has joined.
22:31:02 -!- paul2520 has joined.
22:31:02 -!- izabera has joined.
22:31:02 -!- kmc has joined.
22:31:02 -!- FireFly has joined.
22:31:02 -!- clog has joined.
22:31:02 -!- myndzi has joined.
22:31:02 -!- sparr has joined.
22:31:02 -!- gitlogger has joined.
22:31:02 -!- HackEso has joined.
22:31:02 -!- fizzie has joined.
22:31:02 -!- Banana51 has joined.
22:32:58 -!- ArthurStrong has quit (Quit: leaving).
22:34:43 -!- ArthurStrong has joined.
22:41:30 <esowiki> [[Talk:Qwote]] https://esolangs.org/w/index.php?diff=70576&oldid=70486 * Binyamin * (+1202)
22:41:51 <esowiki> [[Talk:Qwote]] https://esolangs.org/w/index.php?diff=70577&oldid=70576 * Binyamin * (-486)
22:44:23 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
23:44:36 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=70578&oldid=70046 * Binyamin * (+76) /* Joke/Silly Ideas */
23:56:21 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:59:24 -!- Sgeo__ has quit (Read error: Connection reset by peer).
01:59:51 -!- zzo38 has quit (Ping timeout: 260 seconds).
02:06:31 -!- Sgeo has joined.
02:12:10 -!- Phantom_Hoover has joined.
02:16:14 -!- zzo38 has joined.
02:35:39 <esowiki> [[FiM++]] https://esolangs.org/w/index.php?diff=70579&oldid=69638 * Salpynx * (+16) /* Collatz sequence */ 5yr old pointed out a logic bug in my code. Fixed.
02:36:47 <kmc> lol
02:38:45 <zzo38> I am reading the SIGBOVIK proceedings. There is something about chess, giving an example with Fischer Random where the king is moving to the cell where the rook currently occupies, but nevertheless you are required to move the king first and then move the rook. One way I think might be to pick up the king with some fingers and use other fingers on the same hand to move the rook.
02:40:40 <b_jonas> zzo38: yes, there are two articles by tom7 this year
02:44:19 <b_jonas> no I'm wrong
02:44:23 <b_jonas> there are three
02:45:14 <b_jonas> or who the heck knows really
03:40:49 -!- ArthurStrong has quit (Quit: leaving).
03:45:01 <esowiki> [[Special:Log/newusers]] create * Hommecitrons * New user account
03:47:24 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70580&oldid=70575 * Hommecitrons * (+129) /* Introductions */
03:51:54 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=70581&oldid=69580 * Hommecitrons * (+50)
04:17:20 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
04:19:01 -!- Sgeo_ has joined.
04:21:57 -!- Sgeo has quit (Ping timeout: 250 seconds).
04:29:32 -!- Sgeo__ has joined.
04:33:13 -!- Sgeo_ has quit (Ping timeout: 264 seconds).
05:08:34 -!- zzo38 has quit (Ping timeout: 240 seconds).
05:10:42 -!- zzo38 has joined.
05:13:27 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
05:18:38 -!- zzo38 has quit (Ping timeout: 265 seconds).
05:18:57 -!- zzo38 has joined.
05:30:35 -!- zzo38 has quit (Ping timeout: 256 seconds).
05:30:59 -!- zzo38 has joined.
05:35:06 -!- xelxebar_ has joined.
05:37:35 -!- Lymia has quit (Quit: Hugs~ <3).
05:39:40 -!- Lymia has joined.
05:42:54 -!- zzo38 has quit (Ping timeout: 240 seconds).
05:48:36 -!- xelxebar_ has quit (Quit: ZNC 1.7.2+deb3 - https://znc.in).
05:48:39 -!- zzo38 has joined.
05:49:13 -!- arseniiv_ has joined.
06:48:37 -!- rain1 has joined.
07:16:14 <esowiki> [[Babalang]] N https://esolangs.org/w/index.php?oldid=70582 * RocketRace * (+3268) Begin writing the article. Will keep stub status until I am finished.
07:17:36 <esowiki> [[Talk:Babalang]] N https://esolangs.org/w/index.php?oldid=70583 * RocketRace * (+176) Created page with "Hello. This article is incomplete. I will continue writing to it once I have free time. ~~~~"
07:29:19 -!- wmww has quit (Quit: killed).
07:29:36 -!- tswett[m] has quit (Quit: killed).
07:29:45 -!- xylochoron[m] has quit (Quit: killed).
07:29:45 -!- xavo[m] has quit (Quit: killed).
07:37:07 -!- Phantom_Hoover has joined.
07:59:25 -!- wmww has joined.
08:20:44 -!- tromp has quit (Read error: Connection reset by peer).
08:22:27 -!- tromp has joined.
08:24:46 -!- kspalaiologos has joined.
08:30:31 -!- imode has quit (Ping timeout: 265 seconds).
08:32:41 -!- ski has quit (Read error: Connection reset by peer).
08:38:08 -!- tswett[m] has joined.
08:38:08 -!- xavo[m] has joined.
08:38:08 -!- xylochoron[m] has joined.
08:41:47 <esowiki> [[Special:Log/newusers]] create * Javaveryhot * New user account
09:02:16 -!- iczero has quit (Excess Flood).
09:02:51 -!- iczero has joined.
09:26:09 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
09:27:11 -!- Lord_of_Life has joined.
09:49:07 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70584&oldid=70580 * Javaveryhot * (+121)
09:49:36 <esowiki> [[Kentarg]] N https://esolangs.org/w/index.php?oldid=70585 * Javaveryhot * (+1412) Created page with "Kentarg is a programming language created by ~~~. The project was started at 6 February 2020 and released (with version 0.0.0) at 14 February 2020. Kentarg program files use..."
09:53:40 -!- ArthurStrong has joined.
09:59:56 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
10:21:06 <esowiki> [[Kentarg]] https://esolangs.org/w/index.php?diff=70586&oldid=70585 * Javaveryhot * (+1805)
10:28:35 -!- Phantom_Hoover has joined.
10:31:48 <esowiki> [[Int**]] https://esolangs.org/w/index.php?diff=70587&oldid=70122 * Hakerh400 * (+22)
10:38:25 <esowiki> [[Self-modifying Turing machine]] https://esolangs.org/w/index.php?diff=70588&oldid=70425 * Hakerh400 * (+642) Explain an edge case in details
10:50:16 -!- FreeFull has quit (Quit: rebooting).
10:57:46 -!- FreeFull has joined.
10:59:25 -!- ArthurStrong has quit (Quit: leaving).
11:10:44 <esowiki> [[Halt halt halt]] N https://esolangs.org/w/index.php?oldid=70589 * Hakerh400 * (+2106) +[[Halt halt halt]]
11:10:49 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70590&oldid=70556 * Hakerh400 * (+21) +[[Halt halt halt]]
11:10:52 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=70591&oldid=70505 * Hakerh400 * (+21) +[[Halt halt halt]]
11:13:34 <esowiki> [[Halt halt halt]] M https://esolangs.org/w/index.php?diff=70592&oldid=70589 * Hakerh400 * (-38)
11:17:55 <esowiki> [[Halt halt halt]] M https://esolangs.org/w/index.php?diff=70593&oldid=70592 * Hakerh400 * (+44)
11:58:01 -!- sebbu has quit (Quit: reboot).
12:16:13 -!- rain1 has quit (Quit: Lost terminal).
12:45:32 -!- user24 has joined.
12:55:37 -!- xkapastel has joined.
13:03:52 -!- xelxebar has quit (Ping timeout: 240 seconds).
13:30:08 <int-e> Oh, Halt halt halt... Let's wait for an example program that exercises all 3 values (assuming ZFC is consistent).
13:42:06 -!- rain1 has joined.
13:52:29 -!- sebbu has joined.
14:23:50 <esowiki> [[Duck Duck Goose]] https://esolangs.org/w/index.php?diff=70594&oldid=42970 * LegionMammal978 * (-963) fixed examples, added categories
14:27:49 -!- Sgeo__ has quit (Ping timeout: 264 seconds).
15:00:56 -!- user24 has quit (Quit: Leaving).
15:06:36 -!- Sgeo has joined.
15:08:30 -!- imode has joined.
15:27:26 <esowiki> [[Talk:Flurry]] https://esolangs.org/w/index.php?diff=70595&oldid=70559 * Yul3n * (+209)
15:37:14 <esowiki> [[Cthulhu]] https://esolangs.org/w/index.php?diff=70596&oldid=66590 * Yul3n * (+128)
16:49:29 <zzo38> O, in Magic: the Gathering now they made up cards that you can cast from your sideboard if certain conditions are met.
17:07:31 <b_jonas> zzo38: oh jesus they're making permanents made of multiple cards (like B.F.M.s or SNOT or meld or host) in black-bordered magic. in common. this will be a rules nightmare.
17:09:13 <b_jonas> also wtf is a Hero. it used to be a defunct creature type, but apparently there's now a card type, outside of standard-legal expansions, named the same.
17:09:48 <b_jonas> I really can't keep up with all this nonsense that wizards creates these days
17:10:17 <zzo38> I don't know all of the rules yet, but I am guessing it is similar to meld for the purpose of zone changes, although I don't know what happens to the spell once a permanent is mutated, since the permanent is an object that already existed, presumably it remains the same one, just with different characteristics.
17:15:24 <b_jonas> why the heck would they name something that goes onto the type line the same as a defunct creature type?
17:15:55 <b_jonas> unless it's for the same purpose, like Legendary named of Legend I guess
17:15:55 <zzo38> I don't know. I don't know what it means either, if anything.
17:17:30 <zzo38> I don't like all of the rules of Magic: the Gathering myself, such as rule 202.3b looks messy to me, and the rules prohibiting creatures from being attached to anything is also messy to me.
17:18:18 <zzo38> (Also, instead of [ability] counters, I would have made the rules [ability] tokens: An [ability] token is a Aura enchantment token with "enchant permanent" and "enchanted permanent has [ability]".)
17:18:27 <b_jonas> that's even worse than making an "Avatar" creature type
17:18:38 <b_jonas> because "Avatar" at least wasn't in the type line
17:19:02 <zzo38> What do you think about [ability] counters?
17:20:41 <b_jonas> I'm less afraid of those. they won't cause rules problems. they may cause playability problems, but wizards is aggressively checking for those, at least in standard, so it probably won't happen.
17:21:07 <b_jonas> it's certainly better than the workarounds like static abilities that apply "as long as" a permanent has a certain type of counter
17:21:54 <zzo38> Yes, it won't have rules problems, and avoids workarounds like that too.
17:22:13 <zzo38> Although as I said I would have done it as tokens instead
17:22:33 <b_jonas> or the ones that just modify characteristic forever without any marker like a counter, like Balduvian Frostwaker
17:22:45 <b_jonas> compared to those, an ability counter is a cleaner solution
17:23:07 <b_jonas> obviously they have to be careful balancing them so that they don't cause playability problems in formats with larger cardpool
17:23:15 <zzo38> Although there are disadvantages to using tokens too, such as status.
17:23:19 <b_jonas> `card-by-name Aquitect's Will
17:23:20 <HackEso> Aquitect's Will \ U \ Tribal Sorcery -- Merfolk \ Put a flood counter on target land. That land is an Island in addition to its other types for as long as it has a flood counter on it. If you control a Merfolk, draw a card. \ LRW-C, DDT-C
17:23:28 <b_jonas> ^ this is an example for the "as long as it has a flood counter" thing
17:25:36 <b_jonas> there's also the solution where they print tokens and do abilities like "create an aura enchantment token with shroud and enchant creature and 'enchanted creature has flying' attached to target creature", but it gets long and ugly to print such abilities, so it's not useful when they want to do in large numbers
17:28:00 <b_jonas> anyway, +X/+X counter tech has existed forever in Magic, so it's technology that's proven to work if they don't overuse it
17:29:27 <b_jonas> I just wonder if there's any clash with existing names of counters that happen to be ability words
17:29:48 <zzo38> Yes, I wondered about that too.
17:32:30 <b_jonas> the rules manager probably knew for a decade that ability counters may come one day, but would he have the authority to veto the *name* of a keyword ability on that ground?
17:44:14 <zzo38> I don't know.
17:44:46 <zzo38> Another idea I thought of is for ability counters to use the words "[ability] ability counter".
17:49:34 <zzo38> Also, perhaps they will have to add a new sub-layer for ability counters.
18:06:54 <b_jonas> `card-by-name Soul Echo
18:06:54 <HackEso> Soul Echo \ XWW \ Enchantment \ Soul Echo enters the battlefield with X echo counters on it. \ You don't lose the game for having 0 or less life. \ At the beginning of your upkeep, sacrifice Soul Echo if there are no echo counters on it. Otherwise, target opponent may choose that for each 1 damage that would be dealt to you until your next upkeep, you remove an echo counter from Soul Echo instead. \ MI-R
18:08:22 <b_jonas> zzo38: ^ echo counter. echo used to be a keyword ability without a parameter.
18:10:54 <b_jonas> imagine suddenly having to pay WW for each counter on Soul Echo each turn
18:11:17 <zzo38> Echo costs only apply once.
18:11:31 <zzo38> O, OK, so there is one (although now that keyword ability has a parameter, so it is perhaps not as bad as the other one).
18:12:07 <b_jonas> oh true, you'd only pay it one turn
18:12:30 <b_jonas> like I said, echo didn't use to have a parameter. even the Comp rules mentions that.
18:12:35 <b_jonas> see the printed text of Acridian
18:13:09 <zzo38> Yes, I do know that.
18:15:02 <b_jonas> well, at least in this case, at worst they have to oracle patch it to use echo - {0} counters, or better, some other kind of named counters
18:15:47 <zzo38> Yes.
18:16:24 <rain1> hi
18:16:55 <zzo38> Still, I said it is messy due to things like this, and would prefer explicitly calling them "ability counters" in the text. The effect is the same, although it is more clearly what it means and provides better forward and backward compatibility.
18:19:14 <b_jonas> oh yeah, there are fuse counters, but they'd be really hard, probably impossible, to get them to a situation where it's ambiguous
18:19:20 <b_jonas> `card-by-name Goblin Bomb
18:19:21 <HackEso> Goblin Bomb \ 1R \ Enchantment \ At the beginning of your upkeep, you may flip a coin. If you win the flip, put a fuse counter on Goblin Bomb. If you lose the flip, remove a fuse counter from Goblin Bomb. \ Remove five fuse counters from Goblin Bomb, Sacrifice Goblin Bomb: Goblin Bomb deals 20 damage to target player or planeswalker. \ WL-R \ \ Goblin Bombardment \ 1R \ Enchantment \ Sacrifice a creature: Goblin Bombardment deals 1 damage to
18:19:34 <b_jonas> mentioned on multiple old cards
18:19:46 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70597&oldid=70574 * PythonshellDebugwindow * (+1124)
18:20:03 <zzo38> The other possibility, other than explicitly saying they are ability counters in the effect that adds them, is to extend rule 111.10 similar to how I mentioned before.
18:20:34 <zzo38> (Although this results in a different effect than the other one.)
18:21:04 <b_jonas> they could also just explicitly list which named counters are ability counters
18:23:01 <zzo38> Yes, although I don't like that much either, since it interferes with unofficial cards.
18:34:10 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70598&oldid=70597 * PythonshellDebugwindow * (+162) /* Operators */
18:34:53 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70599&oldid=70598 * PythonshellDebugwindow * (+18) /* Syntax */
18:35:28 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70600&oldid=70599 * PythonshellDebugwindow * (+29) /* Syntax */
19:22:26 -!- MDude has joined.
19:23:01 -!- arseniiv_ has quit (Ping timeout: 264 seconds).
19:26:21 -!- kspalaiologos has quit (Quit: Leaving).
19:34:36 <esowiki> [[KeyVM]] M https://esolangs.org/w/index.php?diff=70601&oldid=68927 * Void * (+33) /* General properties */
19:47:30 -!- rain1 has quit (Quit: leaving).
20:23:43 <esowiki> [[Special:Log/newusers]] create * Usernametaken * New user account
20:30:39 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70602&oldid=70584 * Usernametaken * (+430) /* Introductions */
20:31:38 <esowiki> [[Befunge]] M https://esolangs.org/w/index.php?diff=70603&oldid=65759 * Usernametaken * (+1) /* Hello, world! (without string reversion) */
20:33:52 <esowiki> [[Befunge]] https://esolangs.org/w/index.php?diff=70604&oldid=70603 * Usernametaken * (+0) /* Simple game ("Less or More") */
20:38:01 -!- Remavas has joined.
21:04:36 -!- Remavas has quit (Quit: Leaving).
21:27:19 -!- Lord_of_Life_ has joined.
21:28:55 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
21:28:55 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:57:07 -!- Sgeo_ has joined.
21:58:42 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
22:00:33 -!- Sgeo has quit (Ping timeout: 256 seconds).
22:48:59 <tromp> int-e: I ended up just using id (\ 1) instead of bottom inside simpE, which has the exact same behaviour
22:59:14 -!- tromp has quit (Remote host closed the connection).
23:24:10 -!- Sgeo__ has joined.
23:27:23 -!- Sgeo_ has quit (Ping timeout: 260 seconds).
23:33:33 -!- tromp has joined.
23:37:44 -!- tromp has quit (Ping timeout: 246 seconds).
23:38:00 -!- xelxebar has joined.
23:54:49 <zzo38> I thought some idea of ais523's card game. Possibly the overspill for Reconnaissance resource can be moving cards from the bottom of your spent pile to the bottom of your regular pile.
00:53:09 -!- kmc has quit (Changing host).
00:53:09 -!- kmc has joined.
01:03:43 <b_jonas> everyone knows that naming something "final version" is almost always a bad idea, because there will be a later vesrion. and "modern" or "contemporary" is also almost always a bad idea, because your book title WILL read stupid a few decades from now. but I'm starting to suspect that naming technological things "mini" or "micro" or "nano" or "tiny" or "compact" is also a bad idea, because something
01:03:49 <b_jonas> smaller will come along later and your name will sound silly. just look at "compact flash cards" and "compact disks"
01:08:31 <b_jonas> zzo38: right, I should have looked on the scryfall wiki first: https://mtg.gamepedia.com/Hero_(card_type)
01:12:03 -!- tromp has joined.
01:16:13 <zzo38> O, so that is what it is. (It still isn't quite so clear how it is working. Vanguards aren't permanents, but heroes presumably would have to be, in order for their functions to work.)
01:16:26 -!- tromp has quit (Ping timeout: 246 seconds).
01:20:15 -!- tromp has joined.
01:25:39 -!- tromp has quit (Ping timeout: 272 seconds).
01:27:42 -!- tromp has joined.
01:29:18 -!- tromp_ has joined.
01:32:37 -!- tromp has quit (Ping timeout: 272 seconds).
01:33:35 -!- tromp_ has quit (Ping timeout: 246 seconds).
01:45:16 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:01:06 -!- Phantom_Hoover has joined.
02:01:08 -!- Phantom_Hoover has quit (Changing host).
02:01:08 -!- Phantom_Hoover has joined.
02:10:27 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
03:07:32 -!- olsner has quit (Ping timeout: 256 seconds).
03:12:57 -!- olsner has joined.
03:17:17 -!- tromp has joined.
03:22:11 -!- tromp has quit (Ping timeout: 272 seconds).
04:12:28 -!- ArthurStrong has joined.
04:53:37 * pikhq yawns, waves for the first time in some time
05:15:53 <int-e> yawn-wave
05:16:44 <int-e> somebody should try that in a stadion... get a column to yawn simultaneously, see how infectious yawns really are)
05:21:39 -!- ArthurStrong has quit (Quit: leaving).
05:25:40 <pikhq> Lol
05:33:42 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
05:36:52 -!- Lord_of_Life has joined.
05:49:25 -!- imode has quit (Ping timeout: 264 seconds).
05:52:55 -!- xelxebar_ has joined.
06:28:06 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
06:44:37 -!- Sgeo_ has joined.
06:48:07 -!- Sgeo__ has quit (Ping timeout: 256 seconds).
06:59:38 -!- tromp has joined.
07:01:55 -!- spruit11 has quit (Ping timeout: 260 seconds).
07:02:37 -!- tromp_ has joined.
07:03:02 -!- Phantom_Hoover has joined.
07:06:05 -!- tromp has quit (Ping timeout: 246 seconds).
07:19:22 <esowiki> [[Flurry]] https://esolangs.org/w/index.php?diff=70605&oldid=70558 * Challenger5 * (-164)
07:28:14 -!- imode has joined.
07:34:12 -!- Bowserinator has quit (Quit: Blame iczero something happened).
07:34:32 -!- Bowserinator has joined.
07:35:02 -!- noomy has quit (Remote host closed the connection).
07:35:22 -!- wlp1s1 has joined.
07:35:46 -!- moony has joined.
07:36:23 -!- moony has changed nick to noomy.
07:36:25 -!- iczero has quit (Ping timeout: 240 seconds).
07:47:43 -!- arseniiv_ has joined.
07:57:01 -!- imode has quit (Ping timeout: 265 seconds).
08:11:18 -!- arseniiv_ has quit (Read error: Connection reset by peer).
08:11:39 -!- arseniiv_ has joined.
09:27:20 -!- Lord_of_Life_ has joined.
09:28:39 -!- Sgeo__ has joined.
09:29:28 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
09:29:29 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
09:31:44 -!- Sgeo_ has quit (Ping timeout: 256 seconds).
09:38:40 -!- rain1 has joined.
10:13:58 -!- arseniiv has joined.
10:16:21 -!- arseniiv_ has quit (Ping timeout: 258 seconds).
10:43:07 -!- xkapastel has joined.
11:09:10 -!- Sgeo_ has joined.
11:12:11 -!- Sgeo__ has quit (Ping timeout: 256 seconds).
11:40:45 -!- spruit11 has joined.
11:43:53 -!- arseniiv_ has joined.
11:44:27 -!- arseniiv__ has joined.
11:45:37 -!- arseniiv has quit (Ping timeout: 256 seconds).
11:48:27 -!- arseniiv_ has quit (Ping timeout: 256 seconds).
11:52:08 -!- Sgeo__ has joined.
11:55:40 -!- Sgeo_ has quit (Ping timeout: 256 seconds).
12:09:19 -!- rain1 has quit (Quit: Lost terminal).
12:52:28 -!- xkapastel has quit (Quit: Connection closed for inactivity).
13:00:08 -!- kspalaiologos has joined.
13:13:13 <esowiki> [[Talk:2KWLang]] N https://esolangs.org/w/index.php?oldid=70606 * LegionMammal978 * (+232) Created page with "Are the Unicode double quotes (<code></code> as opposed to <code>""</code>) part of the syntax, or are they unintentional? ~~~~"
13:33:13 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
13:46:15 -!- Sgeo_ has joined.
13:49:30 -!- Sgeo__ has quit (Ping timeout: 256 seconds).
14:01:35 -!- xkapastel has joined.
14:52:17 <esowiki> [[Special:Log/newusers]] create * Nomennominatur * New user account
14:54:31 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70607&oldid=70602 * Nomennominatur * (+113)
14:55:13 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70608&oldid=70607 * Nomennominatur * (+0)
15:17:17 -!- hakatashi has quit (Read error: Connection reset by peer).
15:17:22 -!- hakatashi1 has joined.
15:17:26 -!- diverger has quit (Ping timeout: 256 seconds).
15:17:59 -!- diverger has joined.
15:37:47 -!- tromp_ has quit (Ping timeout: 246 seconds).
15:43:59 -!- tromp has joined.
16:31:59 -!- esowiki has joined.
17:21:17 <tromp> int-e: i'm working on resolving the remaining TODOs in BB.txt
17:24:09 -!- rain1 has joined.
17:36:18 -!- imode has joined.
17:56:02 -!- imode has quit (Ping timeout: 265 seconds).
17:59:48 -!- kspalaiologos has quit (Quit: Leaving).
18:12:59 -!- aloril has quit (Ping timeout: 260 seconds).
18:16:09 -!- arseniiv__ has changed nick to arseniiv.
18:24:43 -!- imode has joined.
18:59:42 -!- MTGBusyBeaver42 has joined.
19:03:23 -!- aloril has joined.
19:08:01 <MTGBusyBeaver42> For those interested in an update on the MTG deck using The Waterfall Model to get BB numbers while still not going infinite, our current bound is BB_16(120)
19:08:04 <MTGBusyBeaver42> where BB_1(x) is the normal busy beaver function and BB_2(x) is BB_1(x) nested instances of BB_1(x)
19:10:08 <MTGBusyBeaver42> We still have a little room and are no longer restricted to 6 clocks (now over 100)
19:10:50 <MTGBusyBeaver42> what would be helpful would be knowing whether the Flooding variant is Turing complete or not.
19:20:40 <b_jonas> MTGBusyBeaver42: I wanted to ask, what is the defn of BB_k?
19:21:34 <b_jonas> you only say what BB_2 is and it"s not clear how to continue
19:30:08 <b_jonas> also doesn't BB have two inputs, the nr of clocks and the bound on the matrix elements, and you vary only the latter?
19:30:49 <MTGBusyBeaver42> Bound on the matrix imput
19:31:27 <MTGBusyBeaver42> BB_n+1(x) is BB_n(x) nested BB_n(x) times
19:32:50 <b_jonas> do you always have 120 clocks? what is the matrix elt bound at the start?
19:33:12 <MTGBusyBeaver42> once we have more than 6 clocks we can implement a UTM where the simulated TM is bound by the input
19:33:44 <b_jonas> I mean it might not matter, you get a number that's larger than I can imagine
19:34:08 <MTGBusyBeaver42> we max out our clocks at half the number of creature types
19:35:01 <MTGBusyBeaver42> the 120 constant is the number of large life gains we can get in the setup
19:36:07 <MTGBusyBeaver42> which is mostly from the limits of the opponent's deck size
19:38:17 <MTGBusyBeaver42> We have them draw 53 cards and discard 60 for 113 just from their deck
19:40:49 <b_jonas> how do you get the output value from the waterclock machine?
19:42:07 <MTGBusyBeaver42> we make mana via Mana echoes and turn that into storm for Thousand Year Storm
19:43:14 <MTGBusyBeaver42> And eventually run out of attack steps so we have the last one trample over and kill them
19:45:31 <b_jonas> But what value does that read from the abstract machine? it's just that 120 sounds too small and I want to see this can even start to grow
19:46:21 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70609&oldid=70590 * PythonshellDebugwindow * (+33) /* M */
19:47:11 -!- MDude has joined.
19:50:04 <MTGBusyBeaver42> Well theres a bit of rounding being lost in the bound. We get a few iterations just using our starting life total, and we can easily make our starting matrix for the first computation have values far more than 10^^^^10
19:51:31 <MTGBusyBeaver42> which was what ais theorized was required to get BB numbers with the 6 waterclock version
20:00:04 -!- rain1 has quit (Quit: Lost terminal).
20:01:50 <MTGBusyBeaver42> (I'm not sure exactly how big we can get the first computation, most of the tiers we get for the BB function also apply to our pre BB setup to get up to 10->10->16, but it doesn't show in the overall estimation)
20:02:28 -!- xkapastel has quit (Quit: Connection closed for inactivity).
20:03:16 <esowiki> [[ADDI]] https://esolangs.org/w/index.php?diff=70610&oldid=65119 * LegionMammal978 * (+7730) copied operator tables
20:05:31 <b_jonas> anyway, iterating BB_n BB_n times to get BB_{n+1} is crazy
20:05:38 <MTGBusyBeaver42> so our first computation would last on the order of BB(x) ticks, and we's get BB(x) colorless mana, which becomes BB(x) storm, and then BB(x) extra combat steps at the cost of a red mana
20:05:39 <b_jonas> that will result in even larger numbers than I can imagine
20:05:48 <b_jonas> and then you do BB_16
20:06:16 <b_jonas> that sounds crazy big, unless you messed something up and it just doesn't work and the deck can just deal 500 damage or something
20:07:08 <MTGBusyBeaver42> more likely is we have missed an infinite and the deck is disqualified :(
20:07:28 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70611&oldid=70600 * PythonshellDebugwindow * (+11) /* Syntax */
20:08:57 <b_jonas> that too
20:09:16 <b_jonas> BB(BB(10^^^^10)) is already much larger than any number that I can imagine
20:09:23 <b_jonas> very likely even BB(10^^^^10) is
20:12:34 <MTGBusyBeaver42> even BB(1919) is beyond ZFC set theory
20:15:11 <MTGBusyBeaver42> in that someone has explicitly made a 2 symbol, 1919 state Turing Machine that halts IFF ZFC is inconsistent.
20:15:50 <b_jonas> MTGBusyBeaver42: yes, but that's for the turing machine BB, not for the waterclock BB
20:15:59 <b_jonas> for waterclocks, 1919 is probably not enough
20:16:24 <b_jonas> 10^^^^10 is way more than enough with a few dozen clocks
20:17:04 <MTGBusyBeaver42> true, but they still grow at an uncomputable rate
20:17:11 <b_jonas> that said, that particular 1919 state machine probalby does not halt
20:17:14 <b_jonas> so it doesn't really help you
20:17:52 <b_jonas> the rate, sure, I was just afraid that if you start form 120, then you get something silly like BB(120) = 1, and you can't even start to increase your numbers
20:18:05 <b_jonas> but I hope you checked that that's not the case with your construction
20:19:25 <MTGBusyBeaver42> oh no we can easily grow faster, consider the examples on the tutorial http://nethack4.org/esolangs/waterfall/
20:19:43 <b_jonas> by the way, beaver is particularly thematic for a waterclock machine, because they build dams
20:20:05 <b_jonas> so it should be like "busy ant" for a turing machine, and "busy beaver" for waterclock
20:20:42 <MTGBusyBeaver42> all of the halting examples take more than their maximum value to halt
20:22:20 <MTGBusyBeaver42> and yes, the name and theme of TWM is particularly suited to this challenge
20:23:58 <b_jonas> I guess it would be "busy bee" for a machine with a RAM, and "busy bird" for something based on combinator calculus or lambda calculus
20:25:10 <b_jonas> tromp: do you call it busy bird function?
20:25:22 <b_jonas> the binary lambda calculus one that is
20:27:35 <tromp> lno; i just call it BB_lambda
20:28:13 <tromp> as you can see at https://mathoverflow.net/questions/353514/whats-the-smallest-lambda-calculus-term-not-known-to-have-a-normal-form
20:29:28 <tromp> if you define one for combinators it's gonna grow slower
20:38:58 -!- xkapastel has joined.
20:46:49 <tromp> BB.txt updated in repo
21:02:37 -!- arseniiv has quit (Ping timeout: 264 seconds).
21:17:41 <zzo38> Can division by zero errors be caught in Turbo Pascal?
21:21:38 <b_jonas> zzo38: division of what type?
21:22:28 <zzo38> Integer division.
21:23:27 <b_jonas> sure, but 16-bit or 32-bit? because 16-bit is a cpu built in instruction, but 32-bit need not be if you're compiling for 286. also, for what target? DOS or Win16?
21:24:00 <b_jonas> for DOS and 16-bit, you can probably just override the interrupt handler, as long as you restore the original handler when your program exits
21:24:08 <zzo38> Sixteen bits. Target is DOS.
21:24:32 <b_jonas> then probably override the interrupt handler.
21:25:05 <b_jonas> turbo pascal has a well-defined register use ABI so you can interface it with machine code
21:27:17 -!- Lord_of_Life_ has joined.
21:29:34 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
21:30:07 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:33:19 <zzo38> Do you know if Turbo Pascal has a IF expression (like C has the ?: expression)?
21:33:44 <b_jonas> zzo38: I don't think it has one, but you'll have to check the help
21:34:09 <b_jonas> zzo38: do you need a lazy one?
21:34:21 <b_jonas> I mean a shortcut one
21:34:53 <zzo38> Yes.
21:35:17 <b_jonas> I think you need a proper if statement, but I'm not sure
21:35:20 <zzo38> (Of course I can do without, although it would be helpful to have it if it does have.)
21:36:30 <b_jonas> zzo38: could you use borland C++ instead? you can even link compilation units among them together if you write C prototypes of the pascal functions, and compile exported C functions with the pascal calling convention
21:36:50 <b_jonas> it even has a slightly better optimizer
21:37:08 <b_jonas> and a comparably good library that comes with them
21:37:26 <b_jonas> though really ancient, confusing if you are used to modern C or modern C++
21:37:46 <zzo38> I doubt it is a good reason to change everything to C just due to such an operator, since a IF expression isn't really needed
21:37:53 <b_jonas> in particular, be REALLY careful with code that uses the "long long" type, because the borland compiler believes that's just a strange spelling of "long" and accepts it without warning and gives you a 32-bit integer
21:38:59 <b_jonas> zzo38: sure, that alone isn't a good reason to change
21:40:32 <b_jonas> also the pascal compiler is at least small. I could put turbo.exe (the GUI) and the few files it needs (but not the command-line compiler) to my compressed boot floppy with enough space for other programs, that's impossible for the borland C compiler with just a single 1.44 MB floppy
21:41:49 <b_jonas> but then you can probably afford multiple floppies, or a hard disk
21:42:11 <zzo38> Yes, I am storing the files on the hard disk
21:42:32 <b_jonas> termbot had both the pascal and the C compiler runnable from command line from its hard disk
21:42:40 <b_jonas> (also qbasic)
21:43:22 <b_jonas> (but qbasic is very hard to use, because its PRINT statement and error messages don't write to stdout/stderr)
21:44:12 <zzo38> I doubt that C is the best programming language for real-mode PC programming, due to the memory segmentation.
21:44:33 <b_jonas> zzo38: borland C has extensions to C for that
21:45:39 <b_jonas> you can declare pointers that point to specific program segments, dereference pointers to a specific segment, even have variables of type pointer to segment and dereference using those, or just have far or huge pointers
21:45:39 <zzo38> O, OK.
21:46:01 <b_jonas> IIRC there's a special infix operator :> to combine a segment with an offset
21:46:25 <b_jonas> of cousre you may still want to write some or all of your program in assembly, simply because the compiler doesn't optimize too well
21:48:26 <zzo38> The reason I am using Pascal is because I am modifying a program that is already written in Pascal, anyways.
21:49:26 <b_jonas> and do you want to compile it for DOS, as opposed to port it to a more modern linux pascal compiler?
21:50:26 <zzo38> Yes, I am compiling it for DOS. (I have no intention to port this program to other operating systems, although some other people are, either in Pascal or by rewriting it in C.)
21:50:57 <zzo38> It is ZZT. Do you like ZZT?
21:51:22 <b_jonas> I don't know, I don't follow these game engines much
21:55:58 <zzo38> I have made many changes, including removing the editor (in order to save memory; but there are external editors that can be used instead), allowing pushing X to clear the message line during game play, making HOME and END keys work in popup text windows, displaying file modification times in the save game menu, getting rid of the configuration menu and help menu (to save both memory and time), etc
22:03:18 <zzo38> Does DOSBOX implement EMS?
22:03:26 <b_jonas> I hope so
22:05:13 <b_jonas> but if not, there are other emulators
22:12:09 <b_jonas> zzo38: try to run the MEM command, that should at least tell if EMM is enabled in your current config
22:13:22 <zzo38> It says 15168 Kb free expanded memory, so it looks like it is implemented (although I don't know if there are problems with the implementation).
22:18:30 <zzo38> Another emulator is Zeta, which is sometimes used with ZZT, although Zeta does not implement EMS as far as I can tell (even though the author of Zeta has also written the code to allow ZZT to use EMS)
22:20:52 <b_jonas> zzo38: I used Dosbox very little. I just ran most of my DOS programs on a real MS-DOS in a machine emulated by Bochs
22:21:02 <b_jonas> well, after I stopped running native DOS that is
22:21:56 <b_jonas> and DOS windows in Win16
22:24:09 <b_jonas> although that's sort of orthogonal, I have ran Win16 in the Bochs virtual machine
22:32:07 <zzo38> There is only one 16-bit Windows program I intend to run on my computer, which is Hero Mesh, so that I can test the behaviour to see that the behaviour of Free Hero Mesh in compatibility mode matches that of Hero Mesh.
23:41:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
23:49:17 -!- xelxebar has joined.
23:58:55 -!- xelxebar_ has quit (Remote host closed the connection).
00:09:48 -!- ais523 has joined.
00:10:13 <ais523> hi MTGBusyBeaver42
00:11:16 <ais523> sorry that I haven't been doing much on the M:tG busy beaver construction, I've been too busy playing Netrunner
00:11:24 <ais523> (which, sadly, is probably not Turing-complete; I have tried, of course)
00:48:16 <zzo38> ais523: Did you read my comment of the card game you wrote the rules for? (Also, maybe we can print cards for that game using TeXnicard, if you want to, I suppose)
00:48:27 <zzo38> (I have some other comments too, which I did not mention yet.)
00:50:22 <zzo38> Also, I think some people on this IRC may be playing mahjong? To those people, I want to ask what rule variations do you use, e.g. do you use any red fives (and if so how many), and do you use kuitan ari or kuitan nashi?
01:17:42 <zzo38> Also, what you thinking of the ability counters and other new rules of Magic: the Gathering cards?
01:36:16 <ais523> zzo38: I read your comment but didn't immediately have an opinion about it
01:36:23 <ais523> I'd have to remember how my game worked
01:37:02 <ais523> I think in order to make it into a proper game, you'd need to experiment with multiple versions of the rules until you found something that worked
01:37:19 <zzo38> I have a copy of your file in case you lost it.
01:37:21 <ais523> what are ability counters?
01:37:57 <zzo38> Something new in Magic: the Gathering apparently, that permanents with an ability counter have the corresponding ability.
01:38:16 <ais523> hmm, Netrunner has had that for ages
01:38:21 <zzo38> (I should think a new sublayer would be added to handle this, like there is a sublayer for power/toughness counters, presumably.)
01:38:26 <ais523> they're called "condition counters" and have abilities that affect the card they're on
01:38:34 <ais523> although, the only way to create them is that a card turns itself into the counter
01:38:46 <ais523> (this makes it easy to remember what the counter does, by seeing what card it is)
01:39:36 <zzo38> An idea I had before they did this was ability tokens, which is just another kind of predefined tokens.
01:42:19 -!- hakatashi1 has quit (Remote host closed the connection).
01:42:42 -!- hakatashi has joined.
01:44:11 <MTGBusyBeaver42> No worries ais523, there have been a lot of changes to the deck recently packing in more optimizations
01:48:07 <MTGBusyBeaver42> I'm more worried about the judge calls about the new companions
01:48:25 <MTGBusyBeaver42> at least for the prerelease (if that even happens)
01:48:32 <ais523> in Netrunner? or in M:tG?
01:48:39 <MTGBusyBeaver42> in MTG
01:49:04 <ais523> ah right, I was confused because the new netrunner sets also have a mechanic called "companions" that are likely to cause judge calls
01:49:15 <ais523> (they lead to a lot of undos when playing online, and you can't really play not-online atm…)
01:49:47 <MTGBusyBeaver42> well these companions have a deckbuilding restriction
01:50:10 <MTGBusyBeaver42> I'm worries specifically about Lutri, the Spellchaser
01:50:26 <MTGBusyBeaver42> "Companion — Each nonland card in your starting deck has a different name. (If this card is your chosen companion, you may cast it once from outside the game.)"
01:51:18 <ais523> ugh, "starting deck" implies that the restrictions can be met or unmet as a consequence of sideboarding
01:51:26 <MTGBusyBeaver42> not only is that a complete freeroll in any izzet edh deck, its the only restriction that is easy to cheat on
01:51:28 <ais523> if not for that, you could probably just verify them in deck checks
01:51:49 <MTGBusyBeaver42> and will require deck checks
01:53:03 <ais523> anyway, when I saw the Amonkhet spoilers I thought it'd require too many counter/token types to work
01:53:10 <ais523> and still think I was right in retrospect
01:53:20 <ais523> I dislike keyword counters for a similar reason
01:53:51 <zzo38> I dislike ability counters for a different reason, which is namespace collision
01:54:56 <zzo38> (One way to avoid this is to write "flying ability counter" or "banding ability counter" instead of "flying counter" or "banding counter". Although my idea previously was tokens instead anyways, which has its own advantages and disadvantages over this way.)
01:55:32 <MTGBusyBeaver42> Please don't give out Banding counters
01:55:55 <ais523> "bands with other creatures with bands with other counters"
01:57:24 <MTGBusyBeaver42> you monster
01:58:45 <ais523> it demonstrates the namespace collision, though
01:58:50 <ais523> it's really hard to parse
01:59:15 <ais523> fwiw, I think the M10 rules update ruined banding
01:59:24 <ais523> when damage went on the stack, it was pretty easy to explain
01:59:59 <ais523> the more recent version of the combat rules is less loopholey but much more complex, and banding seems more complex still because it effectively sets the combat rules back to the older way of doing things
02:00:32 <zzo38> Yes, although I think some of that has to do with how damage prevention effects work; they work differently before and after Sixth Edition rules.
02:01:32 <zzo38> I don't think banding is too confusing, although there is a problem with the "bands with other" rules, that I wrote some alternative rules for which I think is better and less confusing.
02:06:02 -!- Phantom_Hoover has joined.
02:06:41 <zzo38> In Fifth Edition, all damage went on the stack, although it is a different stack than the stack in the modern game. You could also only play spells and abilities that target whatever is on the top of the stack.
02:11:13 <zzo38> (I think destruction events also used the stack; effects which regenerate a permanent targeted the destruction events.)
02:26:04 <b_jonas> ais523: *sigh* no,
02:27:09 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:28:42 <b_jonas> yes, they already know how to handle the case when the card turns itself to an enchantment etc. but they want repeatable effects like on a planeswalker, and if they really want to do those, I admit that then counters that by themselves grant abilities is the cleanest solution.
02:29:20 <b_jonas> I mentioned Balduvian Frostvaker earlier, which has the same problem, it has a repeatable effect that modifies a permanent without a timeout, so you want to mark it somehow
02:29:33 <b_jonas> since you would mark it with a bead anyway, it's better if the rules treat it as a real counter
02:29:36 <zzo38> That is probably correct.
02:30:27 <b_jonas> yes, it gets complicated because there are multiple different types of counters that your deck can give to any creature, but since they want to do such an effect in just this set, ability-granting counters are probably the best
02:33:23 <b_jonas> and yes, it will get ugly even in limited, because in just this one set Ikoria, you can get +1/+1, menace, deathtouch, trample, lifelink, flying, hexproof counters, just from commons and uncommons;
02:34:29 <ais523> it'll likely slow down tournaments a lot, because you can no longer just look at a creature's art and number of counters to know its stats
02:34:45 <b_jonas> and if you have rares, "Chevill, Bane of Monsters" puts bounty counters on any creature, other rares can add first strike, reach, vigilance counters (mind you, first strik counter probably apperas on an unrevealed uncommon too).
02:34:50 <b_jonas> ais523: exactly
02:35:03 <ais523> (OK, sometimes people played auras, but not very often in constructed tournaments)
02:35:08 <b_jonas> it's not a very good gimmick for a set, but there's probably been worse gimmicks
02:35:35 <b_jonas> ais523: and the decisions get hard too, because there are rares that by themself can grant many different type of counters
02:35:40 <ais523> Amonkhet had ridiculously complicated tokens
02:35:57 <ais523> back when I played, tokens were mostly just 1/1 creatures with no abilities, and you could represent them using beads
02:36:24 <zzo38> I just took a piece of paper and tore it and wrote the characteristics of the token on the paper.
02:36:39 <b_jonas> ok, admittedly that's just one card so far, "Vivien, Monster's Advocate" and it puts three types of counters
02:36:55 <b_jonas> plus "Crystalline Giant" which puts counters on itself only, and randomly
02:37:11 <b_jonas> apparently "Crystalline Giant" is rare, not mythic
02:38:00 <b_jonas> ais523: heck no, when I played, tokens were 1/1 green elves and 1/1 black-green elves and 1/1 green saprolings, and you had to distinguish them to know which ones get bonuses from the elf lords
02:38:41 <b_jonas> and I have to follow which ones are tapped, which ones have summoning sickness, and I want to have a lot of them, because the elf decks only wins if it takes the opponent over by growing big
02:38:42 <zzo38> Yes, and for effects which say "non-black" or "protection from black" or otherwise cares about the colors
02:38:53 <b_jonas> so it isn't that trivial to keep up
02:39:30 <b_jonas> zzo38: or just fear
02:39:44 <ais523> fear isn't used in standard-legal sets nowadays
02:39:48 <b_jonas> I know
02:39:56 <ais523> which I think is a pity
02:39:57 <zzo38> Yes, fear, too
02:40:01 <b_jonas> but we were talking about how magic was played back then
02:40:09 <ais523> in old magic, some colors had advantages in the ways that other colors interacted with them
02:40:21 <ais523> e.g. black creatures were harder to destroy, because many removal spells had a "nonblack" requirement
02:40:25 <zzo38> Make up custom (unofficial) sets with fear and whatever else, if you want to do, I think.
02:40:47 <ais523> but nowadays those requirements aren't kept to consistently, so any benefits of a card have to be on the card itself
02:41:02 <ais523> I guess it's clearer to new players to do it that way
02:43:59 <b_jonas> ais523: right, with Terror and Befoul (target nonblack nonartifact creature). but then it got uglier because we started to run removal like Doom Blade (target nonblack), Deathmark (target green or white creature), Soul Reap (target nongreen creature), Eyeblight's Ending (target non-Elf creature), and more weird ones
02:44:08 <b_jonas> as well as universal ones that just target any creature of course
02:44:48 <b_jonas> and those are just the black removal spells, the white ones are weird in different ways
02:44:58 <b_jonas> the black ones and the white ones also have varying effects
02:45:24 <b_jonas> it all gets complicated if you don't just run a red deck with simple lightning bolt style spells
02:46:05 <b_jonas> at least we lost "it can't be regenerated" clauses, which is a good thing
02:48:30 <ais523> I think that regenerate should have been templated as "the next time this creature would die, regenerate it instead"
02:48:43 <ais523> (with the word "regenerate" redefined to fit the new template)
02:48:49 <ais523> that would be much clearer on how regeneration works
02:49:14 <b_jonas> ais523: it might not fit on some of the more complicated cards though
02:49:15 <zzo38> What I don't like about "regenerate" is how it means two different things (although related), so that would help. However, I think that text is too long.
02:52:09 <b_jonas> regenerate is probably bad because it is one of those complicated keywords that appeared on many cards since early sets and the rules had to maintain and its use was continued as a sort of tradition, similar to protection and banding
02:52:36 <b_jonas> it's possible that the early sets shouldn't have started that tradition, but it's sort of too late now, and it would be even uglier to have a different regenerate-like ability in parallel
02:54:10 <ais523> such an ability exists and is commonly used, "gains indestructible until end of turn"
02:54:14 <b_jonas> this is still better than the simpler abilities that existed in lots of different versions, like reach, shroud, hexproof, lifelink, deathtouch, and all those triggers that grant +X/+X when the creature is (a) attacking (b) blocking (c) blocked (d) unblocked (c) blocked but with multipilicity (f) blocking but with multiplicity etc
02:54:18 <zzo38> I think regenerate, protection, and banding are all fine, although the wording for regeneration is bad due to how I mentioned.
02:55:05 <b_jonas> ais523: gains indestructible is somewhat more powerful though, because it doesn't remove the creature from combat
02:55:25 <b_jonas> though that only matters if there's more than one damage assignment time I guess
02:55:28 <b_jonas> or such things
02:55:53 <zzo38> Yes. One card I made up though is "Universal Salvation", which regenerates all permanents when it resolves.
02:56:09 <zzo38> I have also written cards with "regenerate and then destroy this permanent".
02:56:19 <b_jonas> `card-by-name bear umbra
02:56:20 <HackEso> Bear Umbra \ 2GG \ Enchantment -- Aura \ Enchant creature \ Enchanted creature gets +2/+2 and has "Whenever this creature attacks, untap all lands you control." \ Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.) \ ROE-R
02:56:33 <b_jonas> ^ this is how regenerate should have been done originally, but it's incompatible with our regenerate
02:57:38 <b_jonas> with "The next time this creature would be destroyed" for repeatable abilities of course
02:58:41 <b_jonas> also lets you use {T} abilities of the creature after combat
02:58:52 <b_jonas> yes, I guess that one is somewhat similar to what ais suggests
02:59:15 <b_jonas> the "gains indestructible until end of turn"
02:59:37 <b_jonas> that might indeed be better
03:05:10 -!- imode has quit (Ping timeout: 256 seconds).
03:07:15 <zzo38> I like the way regeneration works; it prevents from destruction only once rather than twice, and the regenerated permanent is tapped, too, which can be meaningful.
03:08:38 -!- imode has joined.
03:10:47 <ais523> I think creatures should have to tap to block
03:11:24 <ais523> it'd be easier to track the gamestate, and also reduce the number of unintuitive interactions (like blocking with Prodigal Pyromancer and also tapping it, to damage the creature it's blocking twice)
03:14:51 <zzo38> I do not think it is unintuitive.
03:23:54 -!- ais523 has quit (Quit: quit).
03:35:25 <esowiki> [[Talk:Baba is program]] https://esolangs.org/w/index.php?diff=70612&oldid=67809 * Hakerh400 * (+953) Updated the interpreter to match the specification
03:48:42 -!- MTGBusyBeaver42 has quit (Remote host closed the connection).
04:20:54 -!- wlp1s1 has changed nick to [iczero].
04:55:56 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
05:31:39 <esowiki> [[Intramodular Transaction]] M https://esolangs.org/w/index.php?diff=70613&oldid=66136 * Hakerh400 * (+15)
05:36:37 <zzo38> I thought making up a keyword ability for Magic: the Gathering where you can play the card from the ante zone (if you own it), at the cost of anteing two cards of your choice from your hand (in addition to any other applicable costs).
05:42:01 <esowiki> [[Nope.]] https://esolangs.org/w/index.php?diff=70614&oldid=67426 * Voltage2007 * (-210)
06:41:33 -!- [iczero] has changed nick to iczero.
08:09:37 <esowiki> [[Special:Log/newusers]] create * Nonameremote * New user account
08:10:28 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70615&oldid=70608 * Nonameremote * (+109)
08:10:52 -!- ArthurStrong has joined.
08:13:22 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
08:31:22 -!- imode has quit (Ping timeout: 265 seconds).
08:44:37 -!- abrex has joined.
08:45:00 <abrex> hello
08:45:39 -!- abrex has left.
08:49:30 -!- tromp has quit (Remote host closed the connection).
08:50:13 -!- tromp has joined.
08:54:28 -!- arseniiv has joined.
08:58:27 -!- rain1 has joined.
09:28:27 -!- Lord_of_Life_ has joined.
09:29:56 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
09:29:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
12:02:00 -!- xkapastel has joined.
12:13:43 -!- Frater_EST has joined.
12:43:50 -!- user24 has joined.
12:45:39 <int-e> tromp: I see you filled the gaps for BB(32)
12:47:54 <tromp> yep. so we can consider the 298 proven
12:48:13 <tromp> i'll work on 33 cases next
12:48:32 <tromp> to see if 1812 is true max
12:49:33 <tromp> computations for 34 seemm to blow up (using way obave 32GB)
12:52:06 <int-e> Yeah, I have not investigated why.
12:53:38 <int-e> I tried lowering the depth and then it went through, but it didn't produce the right maximum either (leaving the (\1 1 1 1) (\\2 (2 1)) case to be done)
12:57:37 <int-e> But tbh I was after low-hanging fruits only anyway... so 31 was a very sweet spot to stop in that regard.
13:12:05 <tromp> i sure am curious to see if BB(34) > 5*2^16+6 though :)
13:17:27 <tromp> seems unlikely...
13:17:34 <b_jonas> those busy birds
13:18:31 <tromp> busy bodies :-)
13:44:49 <rain1> can #esoteric recommend any youtube channels?
13:50:58 -!- Frater_EST has quit (Read error: Connection reset by peer).
14:46:51 <esowiki> [[Aeon]] https://esolangs.org/w/index.php?diff=70616&oldid=68588 * LegionMammal978 * (+24) fixed link
15:29:08 -!- diverger has quit (Ping timeout: 256 seconds).
15:42:08 -!- MDude has joined.
15:43:13 -!- rain1 has quit (Quit: Lost terminal).
15:46:40 -!- user24 has quit (Quit: Leaving).
15:52:32 -!- ArthurStrong has quit (Quit: leaving).
16:03:55 -!- imode has joined.
16:16:26 -!- kritixilithos has joined.
16:50:10 <b_jonas> `olist 1198
16:50:16 <HackEso> olist 1198: shachaf oerjan Sgeo FireFly boily nortti b_jonas
16:50:45 <b_jonas> rain: https://www.youtube.com/channel/UCiyuYC0D4-AO0AonCfMifPQ hr-Sinfonieorchester – Frankfurt Radio Symphony
17:09:38 -!- xkapastel has quit (Quit: Connection closed for inactivity).
17:20:20 -!- kritixil1 has joined.
17:22:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:45:43 -!- kritixil1 has quit (Ping timeout: 240 seconds).
17:49:05 -!- kritixil1 has joined.
17:59:20 <esowiki> [[Nope.]] M https://esolangs.org/w/index.php?diff=70617&oldid=70614 * Areallycoolusername * (-11) The C Interpreter is not official. The C++, VB.Net, and brainfuck interpreters are.
17:59:47 <esowiki> [[Nope.]] https://esolangs.org/w/index.php?diff=70618&oldid=70617 * Areallycoolusername * (+2)
18:14:59 -!- kritixil1 has quit (Remote host closed the connection).
18:22:34 -!- zzo38 has quit (Ping timeout: 240 seconds).
18:22:48 -!- zzo38 has joined.
18:29:33 -!- diverger has joined.
18:30:31 -!- diverger has quit (Read error: Connection reset by peer).
18:33:48 -!- divergence has joined.
18:34:03 -!- kritixil1 has joined.
18:42:16 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70619&oldid=70611 * PythonshellDebugwindow * (+6) /* Operators */
18:42:17 <zzo38> Recently someone posted to my NNTP about a chess variant called "corona chess", in which pieces only move 1 square distances, and must go home every 10th move. I think there are some problems with that, and it could be improved, though.
18:45:51 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70620&oldid=70619 * PythonshellDebugwindow * (-19) /* Gotos */
18:46:40 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70621&oldid=70620 * PythonshellDebugwindow * (+52) /* Syntax */
18:50:24 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70622&oldid=70621 * PythonshellDebugwindow * (+67) /* Operators */
19:00:23 -!- kritixil1 has quit (Ping timeout: 240 seconds).
19:12:03 -!- Phantom_Hoover has joined.
19:12:37 <zzo38> I can set up a NNTP to discuss the card game that ais523 was making, if this is wanted (or ais523 can set it up on their own server, if they have one).
19:19:45 <zzo38> I do have some other ideas. One is flags, which is another statistic; a card might either have or not have a flag. I can also think of a possible overspill effect for reconnaissance; one possibility is moving cards from the bottom of your spent pile to the bottom of your regular pile (maybe I mentioned this already). I also have some ideas about layers (this is kind of similar to the layers in Magic: the Gathering, but without any time
19:21:33 <zzo38> The set of flags would be fixed by the rules, and which ones are defined is according to what would be needed. I am not so sure I like the rule about max health reductions, although I don't know what would be better.
19:25:20 <zzo38> The layers might be: [I] Deleting aspects. [II] Adding aspects. [III] Changing flags; if the same number of effects add and remove the same flag, the flag remains unchanged, otherwise whichever is more wins. [IV] Numerical effects (addition and subtraction of constant or calculated values, as described by the existing rules). [V] Adding manoeuvres. [VI] Deleting manoeuvres.
19:25:49 <zzo38> Aspects can see the changes made by previous layers but not changes made by the current layer. Later layers override earlier layers.
19:29:31 <zzo38> (If an effect alters a manoeuvre without adding or deleting it, it is treated as though it adds the altered one and deletes the old one, and is treated as a layer V effect for the purpose of determining what values it can see. This means that layer VI effects will see both the original and altered manoeuvre.)
19:48:09 <zzo38> Another idea is to use some computer programming language to implement these rules, perhaps in Haskell.
20:02:29 <esowiki> [[Special:Log/newusers]] create * GigoG * New user account
20:08:37 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70623&oldid=70615 * GigoG * (+165) /* Introductions */
20:09:47 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70624&oldid=70623 * GigoG * (+120) /* Introductions */
20:10:56 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70625&oldid=70624 * GigoG * (-52) /* Introductions */
20:19:58 -!- kritixil1 has joined.
20:20:17 -!- kritixil1 has quit (Client Quit).
20:20:56 -!- ais523 has joined.
20:21:08 <ais523> zzo38: I did have an idea about layers, although it might restrict the cards you could make too much
20:21:18 <ais523> the idea was to design the cards so that the layer sequence never mattered
20:22:53 <esowiki> [[Magenta]] M https://esolangs.org/w/index.php?diff=70626&oldid=30997 * PythonshellDebugwindow * (+230) Now you too can read about bear food
20:27:21 <zzo38> Actually, I thought of adding the layers for the opposite reason, since the lack of timestamps makes some restrictions anyways, this layer system I suggest would add more flexibility; there are some things that are immutable anyways, with or without layers, and some effects which don't work anyways. I think the current system you have doesn't work at all with effects other than adjusting numerical values anyways.
20:34:00 <esowiki> [[Arbol]] https://esolangs.org/w/index.php?diff=70627&oldid=25343 * LegionMammal978 * (+78) /* External resources */ fixed link
21:01:35 -!- spruit11 has quit (Read error: Connection reset by peer).
21:30:11 -!- ap0calyps3 has joined.
21:31:16 -!- Lord_of_Life_ has joined.
21:31:28 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
21:34:03 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:47:05 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
22:02:38 <esowiki> [[AttoASM]] https://esolangs.org/w/index.php?diff=70628&oldid=33532 * LegionMammal978 * (-104) /* External resources */ fixed link
22:03:56 -!- ap0calyps3 has left.
23:25:32 -!- arseniiv has quit (Ping timeout: 265 seconds).
23:37:55 -!- xkapastel has joined.
23:52:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
00:11:42 <esowiki> [[Az]] M https://esolangs.org/w/index.php?diff=70629&oldid=40982 * LegionMammal978 * (+14) fixed title
00:19:13 -!- iczero has changed nick to mooooooooooooooo.
00:20:16 -!- ArthurStrong has joined.
00:28:58 <esowiki> [[Minimal operation language]] https://esolangs.org/w/index.php?diff=70630&oldid=70622 * Hakerh400 * (+128) Add interpreter
00:29:12 <esowiki> [[Talk:Minimal operation language]] N https://esolangs.org/w/index.php?oldid=70631 * Hakerh400 * (+320) /* Implementation */
00:42:52 -!- ais523 has quit (Quit: quit).
00:50:36 -!- ski has joined.
01:03:39 <esowiki> [[BugSophia]] https://esolangs.org/w/index.php?diff=70632&oldid=30922 * IFcoltransG * (+23) Languages category
01:05:13 -!- divergence has quit (Read error: Connection reset by peer).
01:09:55 -!- diverger has joined.
01:13:12 -!- mooooooooooooooo has changed nick to inb4.
02:05:57 -!- ArthurStrong has quit (Ping timeout: 260 seconds).
02:07:17 -!- ArthurStrong has joined.
02:13:03 -!- Phantom_Hoover has joined.
03:22:19 <esowiki> [[BDAMD]] M https://esolangs.org/w/index.php?diff=70633&oldid=30443 * LegionMammal978 * (+25) /* External resources */ fixed link
04:27:34 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:46:26 -!- MDude has quit (Ping timeout: 256 seconds).
04:51:36 -!- ArthurStrong has quit (Quit: leaving).
05:01:33 <zzo38> Actually ais523's card game design already has one thing that can be called a flag, which is the "General" flag. However, I have ideas of a few other flags, such as one flag that allows you to play other manoeuvres (except ones with the tactics track as source) before giving your opponent the chance to play, after playing to the tactics track.
05:04:47 -!- inb4 has changed nick to iczero.
05:35:51 <int-e> `learn The password of the month is starving for attention.
05:35:54 <HackEso> Relearned 'password': The password of the month is starving for attention.
07:14:15 -!- imode has quit (Ping timeout: 258 seconds).
08:17:47 <zzo38> Do you have any of Bohm's brainfuck programs?
08:19:34 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
09:18:38 -!- xelxebar has joined.
09:30:20 -!- Lord_of_Life_ has joined.
09:30:34 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
09:31:41 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
09:46:57 <esowiki> [[Babalang]] https://esolangs.org/w/index.php?diff=70634&oldid=70582 * RocketRace * (+2517) Detail the statement syntax.
10:10:19 <esowiki> [[Babalang]] M https://esolangs.org/w/index.php?diff=70635&oldid=70634 * RocketRace * (+49) Fix formatting
10:12:04 <esowiki> [[Babalang]] M https://esolangs.org/w/index.php?diff=70636&oldid=70635 * RocketRace * (+21) Further fix formatting
10:13:04 <esowiki> [[Babalang]] M https://esolangs.org/w/index.php?diff=70637&oldid=70636 * RocketRace * (+47) Wording
10:27:06 -!- ArthurStrong has joined.
10:34:36 -!- rain1 has joined.
10:48:16 -!- xkapastel has joined.
10:56:30 -!- rain1 has quit (Quit: Lost terminal).
11:07:36 -!- tromp has quit (Remote host closed the connection).
11:21:44 -!- tromp has joined.
11:32:23 <esowiki> [[Preposterous Programming]] https://esolangs.org/w/index.php?diff=70638&oldid=21367 * IFcoltransG * (+22) Added concepts category
11:50:21 -!- arseniiv has joined.
11:59:42 <esowiki> [[Preposterous Programming Language]] https://esolangs.org/w/index.php?diff=70639&oldid=35673 * IFcoltransG * (+342) Wording rewrite and categories
12:00:23 <esowiki> [[Preposterous Programming]] M https://esolangs.org/w/index.php?diff=70640&oldid=70638 * IFcoltransG * (+34) Added Computational Models category
12:00:54 <esowiki> [[Preposterous Programming]] M https://esolangs.org/w/index.php?diff=70641&oldid=70640 * IFcoltransG * (+0) Sheepishly fix category capitalisation
12:04:39 <esowiki> [[SimPL]] M https://esolangs.org/w/index.php?diff=70642&oldid=70570 * IFcoltransG * (+0) Fixed TC category
13:25:06 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70643&oldid=70630 * PythonshellDebugwindow * (+35)
13:49:01 -!- kspalaiologos has joined.
14:43:07 -!- MDude has joined.
15:49:29 <esowiki> [[Special:Log/newusers]] create * Manna5 * New user account
16:10:17 -!- rain1 has joined.
16:26:48 -!- Phantom_Hoover has joined.
16:39:03 <tromp> int-e: many of the TODOs in 32 and 33 follow a pattern similar to the one for 29
16:40:47 <tromp> the most general pattern that captures them is T = \x. K^j x^k (\y. y (x y ...))
16:41:36 <tromp> oops, I should add some parentheses as in T = \x. K^j (x^k (\y. y (x y ...)))
16:42:06 <tromp> where K is const function; I could also write \_ ... \_ instead of K^j
16:42:30 <tromp> and k >= 1 of course, making T strict
16:44:31 <tromp> If we then set T_0 = T, and T_{i+1} = \y. y (T_i y ...), then we can show by induction that T T_i reduces to a tern with T T_{i+1} in head position
16:44:39 <tromp> thus proving divergence
16:46:14 <tromp> so we can try to define this pattern with a function isW2, and then replace isW a && isW b by isW a && (isW b || isW2 b)
16:46:22 <tromp> which should eliminate a lot of TODOs
17:10:50 -!- arseniiv_ has joined.
17:11:46 -!- arseniiv has quit (Ping timeout: 265 seconds).
17:15:45 -!- ArthurStrong has left.
17:19:52 -!- imode has joined.
18:58:44 -!- ositoblanco has joined.
19:08:51 <esowiki> [[BAM128]] https://esolangs.org/w/index.php?diff=70644&oldid=32357 * LegionMammal978 * (+42) /* External resources */ fixed link, added categories
19:15:42 <zzo38> Do you know how to convert Fermat's Last Theorem into a Magic: the Gathering puzzle?
19:19:44 <esowiki> [[Duck Duck Goose]] M https://esolangs.org/w/index.php?diff=70645&oldid=70594 * LegionMammal978 * (-19) updated link
19:19:55 <esowiki> [[Cheers]] M https://esolangs.org/w/index.php?diff=70646&oldid=70557 * LegionMammal978 * (-10) updated link
19:20:06 <esowiki> [[Noodle Soup]] M https://esolangs.org/w/index.php?diff=70647&oldid=70536 * LegionMammal978 * (-15) updated link
19:20:17 <esowiki> [[And]] https://esolangs.org/w/index.php?diff=70648&oldid=70535 * LegionMammal978 * (-11) updated link
19:28:36 <rain1> not sure!
19:28:40 -!- rain1 has quit (Quit: Lost terminal).
19:42:03 -!- kspalaiologos has quit (Quit: Leaving).
19:47:01 -!- arseniiv_ has quit (Ping timeout: 264 seconds).
21:03:54 <esowiki> [[Special:Log/newusers]] create * Zerojl * New user account
21:06:10 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70649&oldid=70625 * Zerojl * (+58)
21:08:27 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70650&oldid=70649 * Zerojl * (+54)
21:29:50 -!- Lord_of_Life_ has joined.
21:32:19 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
21:32:36 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:45:49 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
21:48:53 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70651&oldid=70650 * JonoCode9374 * (+21)
23:02:05 <esowiki> [[Backpackr]] M https://esolangs.org/w/index.php?diff=70652&oldid=54153 * LegionMammal978 * (+14) fixed title
23:48:32 <esowiki> [[List of quines]] M https://esolangs.org/w/index.php?diff=70653&oldid=69331 * PythonshellDebugwindow * (+72) /* Cheating Quines */
23:58:27 <zzo38> One of the AI opponents in Pokemon Card GB2 has a "invincible deck", which would be good if the AI was not too stupid to handle it.
00:00:31 -!- xelxebar has quit (Remote host closed the connection).
00:01:17 -!- xelxebar has joined.
01:03:55 -!- imode has quit (Ping timeout: 260 seconds).
01:05:50 -!- imode has joined.
01:24:09 -!- imode has quit (Ping timeout: 250 seconds).
01:26:16 -!- imode has joined.
02:11:02 -!- Phantom_Hoover has joined.
02:20:07 <esowiki> [[Beeswax]] M https://esolangs.org/w/index.php?diff=70654&oldid=50725 * LegionMammal978 * (+14) fixed title
02:21:48 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
02:26:31 <esowiki> [[Binary lambda calculus]] https://esolangs.org/w/index.php?diff=70655&oldid=60332 * IFcoltransG * (+436) Added IO description
02:27:56 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:37:08 <esowiki> [[Beta-Juliet and Portia]] M https://esolangs.org/w/index.php?diff=70656&oldid=30458 * LegionMammal978 * (+14) fixed title
02:38:12 <zzo38> I loaded DOSBOX and then it was just black and wouldn't respond to any keys, nor to SIGINT, although SIGQUIT did terminate it. Di you know why?
02:47:58 <zzo38> O, it seems to do that due to a recursive batch file. But I should think it should still try to allow to be interrupted in such a case?
03:02:57 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Bfstack]] to [[BFStack]]: fix capitalization
04:17:29 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
04:19:59 -!- MDude has joined.
05:17:02 -!- ArthurStrong has joined.
05:59:20 -!- arseniiv_ has joined.
05:59:54 -!- kspalaiologos has joined.
07:03:07 -!- Phantom_Hoover has joined.
07:16:44 -!- arseniiv has joined.
07:17:42 -!- Sgeo_ has quit (Read error: Connection reset by peer).
07:18:10 -!- Sgeo_ has joined.
07:18:59 -!- arseniiv_ has quit (Ping timeout: 256 seconds).
08:05:37 -!- b_jonas has quit (Ping timeout: 264 seconds).
08:07:18 -!- b_jonas has joined.
08:18:48 -!- imode has quit (Ping timeout: 265 seconds).
09:12:28 -!- arseniiv_ has joined.
09:14:37 -!- arseniiv has quit (Ping timeout: 264 seconds).
09:17:12 -!- arseniiv has joined.
09:18:54 -!- arseniiv_ has quit (Ping timeout: 256 seconds).
09:21:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
09:29:37 -!- Lord_of_Life_ has joined.
09:33:18 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
09:33:18 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
09:42:23 <esowiki> [[Talk:Minimal operation language]] https://esolangs.org/w/index.php?diff=70659&oldid=70631 * A * (+181)
09:45:11 <esowiki> [[Talk:Minimal operation language]] https://esolangs.org/w/index.php?diff=70660&oldid=70659 * A * (+5)
09:48:39 -!- xelxebar has joined.
10:50:03 -!- rain1 has joined.
11:25:10 <esowiki> [[Pikobrain]] N https://esolangs.org/w/index.php?oldid=70661 * Hanzlu * (+295) Created page with "Pikobrain is an operative system created by [[User:Hanzlu]], link: [https://github.com/Hanzlu/Pikobrain]. I guess you could call it esoteric. Files are accessed by numbers. I..."
12:36:32 -!- arseniiv_ has joined.
12:39:13 -!- arseniiv has quit (Ping timeout: 264 seconds).
13:15:52 <esowiki> [[Minimal operation language]] https://esolangs.org/w/index.php?diff=70662&oldid=70643 * A * (+91) /* Resources */
13:25:50 -!- laerling has quit (Quit: ZNC 1.7.3 - https://znc.in).
13:25:50 -!- laerlingSAP has quit (Quit: ZNC 1.7.3 - https://znc.in).
13:39:16 -!- xkapastel has joined.
14:07:40 -!- laerlingsap has joined.
14:08:04 -!- laerlingsap has left.
14:57:01 <tromp> funny to see dutch article that "Beavers are on the rise"
14:58:13 <tromp> as we're studying here just how fast the busy beaver function rises:)
15:03:53 -!- xelxebar has quit (Remote host closed the connection).
15:04:21 -!- xelxebar has joined.
15:10:49 -!- ski has quit (Remote host closed the connection).
15:11:05 -!- rain1 has quit (Quit: Lost terminal).
15:31:18 <esowiki> [[Binodu]] M https://esolangs.org/w/index.php?diff=70663&oldid=27204 * LegionMammal978 * (+14) fixed title
15:44:48 -!- cpressey has joined.
15:46:53 <cpressey> Well anyway there's https://catseye.tc/installation/Mascarpone running on a web page now
15:48:29 -!- imode has joined.
15:52:42 <cpressey> Next I'm going to try update Burro. Not just putting it on a web page, lots of stuff needs updating there.
15:59:08 <esowiki> [[BitZ]] M https://esolangs.org/w/index.php?diff=70664&oldid=46435 * LegionMammal978 * (+28) /* External resources */ fixed link
16:12:57 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
16:37:58 <esowiki> [[Blo]] M https://esolangs.org/w/index.php?diff=70665&oldid=46273 * LegionMammal978 * (+14) fixed title
16:40:24 -!- cpressey has quit (Quit: A la prochaine.).
16:54:11 -!- ArthurStrong has left.
18:05:21 -!- dnm__ has joined.
18:05:55 -!- Lymee has joined.
18:06:19 -!- moony has joined.
18:06:29 -!- wlp1s1 has joined.
18:07:17 -!- glowcoil_ has joined.
18:08:05 -!- dnm_ has quit (Read error: Connection reset by peer).
18:08:05 -!- glowcoil has quit (Ping timeout: 246 seconds).
18:08:05 -!- Lymia has quit (Remote host closed the connection).
18:08:05 -!- noomy has quit (Remote host closed the connection).
18:08:05 -!- iczero has quit (Excess Flood).
18:08:05 -!- stux has quit (Quit: Aloha!).
18:08:05 -!- dnm__ has changed nick to dnm_.
18:08:06 -!- Lymee has changed nick to Lymia.
18:08:07 -!- glowcoil_ has changed nick to glowcoil.
18:09:18 -!- Phantom__Hoover has joined.
18:12:35 -!- stux has joined.
18:33:44 -!- kspalaiologos has quit (Quit: Leaving).
18:34:11 -!- _________more has joined.
18:34:59 <_________more> out of the people on this channel, how many of you are on the unofficial esolangs discord?
18:40:25 <_________more> it seems weird to me that the communities operate almost entirely separately...
18:46:14 -!- _________more has quit (Quit: Leaving).
18:48:22 <arseniiv_> weird indeed
18:48:25 <int-e> sowing discord
18:48:26 -!- arseniiv_ has changed nick to arseniiv.
18:48:57 <arseniiv> int-e: and reaping disoutlet?
18:50:08 <int-e> Hmm, I have not thought about what the fruit would be.
18:51:12 <int-e> I imagine it's really just more discord.
19:00:23 <arseniiv> hard to disagree
19:07:15 <int-e> arseniiv: no, you got it all wrong; it's easy to disagree, which is why discord is so common :P
19:08:01 <int-e> `? discord
19:08:07 <HackEso> The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p
19:08:11 <int-e> `quote discord
19:08:13 <HackEso> No output.
19:08:42 <int-e> `? irony
19:08:43 <HackEso> irony? ¯\(°​_o)/¯
19:12:16 <arseniiv> int-e: I disagree I got it all wrong
19:12:33 <int-e> that's the spirit.
19:12:40 <arseniiv> maybe it was wrong before I got it :P
19:16:30 <arseniiv> . o O ( irony is the kind of taste you feel when you are the fat lady of Limbourg and you taste a sample of iron )
19:19:46 <arseniiv> ( and furrow your brow )
19:26:34 <int-e> irony is too serious to joke about
19:31:42 -!- arseniiv_ has joined.
19:34:41 -!- arseniiv has quit (Ping timeout: 265 seconds).
19:47:09 -!- baidicoot has joined.
19:53:03 -!- arseniiv_ has changed nick to arseniiv.
19:53:31 <arseniiv> I was tinkering with my router. I think no luck
19:54:18 <int-e> the route of all evil
19:58:21 -!- arseniiv has quit (Ping timeout: 265 seconds).
20:03:38 -!- tromp has quit (Remote host closed the connection).
20:11:15 -!- tromp has joined.
20:29:44 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[BotEngine]] to [[Bot Engine]]: changed spacing to match repo
20:30:06 <esowiki> [[Bot Engine]] https://esolangs.org/w/index.php?diff=70668&oldid=70666 * LegionMammal978 * (+2) spacing
20:31:03 -!- imode-ruby has quit (Quit: WeeChat 1.6).
20:38:00 <zzo38> I thought one idea a keyword ability in Magic: the Gathering which allows playing the card from the ante zone if you ante cards from your hand, possibly also affecting the cost by doing so too, somehow.
20:44:19 <esowiki> [[Folders]] https://esolangs.org/w/index.php?diff=70669&oldid=61575 * Rottytooth * (-661) Moved now-obsolete "concise folders" to "previous versions"
20:45:31 <tromp> int-e: after implementing my W2, there are only 7 TODOs for 33
20:45:57 <esowiki> [[Folders]] https://esolangs.org/w/index.php?diff=70670&oldid=70669 * Rottytooth * (+97) details for "literal value" storage
20:47:59 <tromp> see latest commit. let me know if you find a bug in the new rule
20:51:10 <esowiki> [[Folders]] https://esolangs.org/w/index.php?diff=70671&oldid=70670 * Rottytooth * (+79) /* Expressions */
20:51:16 <tromp> or in its implementation
20:53:33 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70672&oldid=70662 * PythonshellDebugwindow * (+145) /* Syntax */
21:32:13 -!- Lord_of_Life_ has joined.
21:33:35 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
21:35:00 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:40:35 -!- moony has changed nick to noomy.
21:52:48 <esowiki> [[Folders]] https://esolangs.org/w/index.php?diff=70673&oldid=70671 * Rottytooth * (+527) /* Instructions */
22:01:47 <esowiki> [[BrainSpace 1.0]] https://esolangs.org/w/index.php?diff=70674&oldid=14790 * LegionMammal978 * (+101) fixed links
22:04:12 <tromp> int-e: i suspect there is some simpler generalization of your W that includes my W2
22:20:28 <tromp> how about B^V ::= W^V W^V | W^V B^V | \v. B^V | B^V T ?
22:38:58 -!- xkapastel has quit (Quit: Connection closed for inactivity).
22:41:22 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds).
23:15:17 -!- xkapastel has joined.
23:53:54 <esowiki> [[Brainflop]] https://esolangs.org/w/index.php?diff=70675&oldid=67836 * LegionMammal978 * (+18) fixed link
00:22:15 <zzo38> Actually, I like the idea of the ability counter which allows it to band with other creatures that also have that counter. (Tokens will not work so well in this case.)
00:34:17 <esowiki> [[Talk:Minimal operation language]] M https://esolangs.org/w/index.php?diff=70676&oldid=70660 * PythonshellDebugwindow * (+231) /* Clarification */
00:36:07 <esowiki> [[Minimal operation language]] M https://esolangs.org/w/index.php?diff=70677&oldid=70672 * PythonshellDebugwindow * (+31) /* Gotos */ I see why you were cobfused
00:37:50 <esowiki> [[Talk:Minimal operation language]] M https://esolangs.org/w/index.php?diff=70678&oldid=70676 * PythonshellDebugwindow * (+38)
00:40:34 <esowiki> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=70679&oldid=70581 * PythonshellDebugwindow * (+67)
00:43:49 <esowiki> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=70680&oldid=70679 * PythonshellDebugwindow * (+2)
00:44:19 -!- baidicoot has quit (Ping timeout: 265 seconds).
00:47:12 <esowiki> [[Brains]] https://esolangs.org/w/index.php?diff=70681&oldid=24741 * LegionMammal978 * (+39) fixed link
00:50:51 <esowiki> [[Brainstack]] M https://esolangs.org/w/index.php?diff=70682&oldid=69681 * LegionMammal978 * (+14) fixed title
01:15:29 -!- baidicoot has joined.
01:18:58 -!- xkapastel has quit (Quit: Connection closed for inactivity).
01:38:14 <esowiki> [[Special:Log/newusers]] create * Oatmealine * New user account
01:51:11 -!- baidicoot has quit (Ping timeout: 265 seconds).
02:13:06 -!- Phantom__Hoover has joined.
02:17:21 <tswett[m]> Man, the axiom of choice sucks.
02:19:09 <tswett[m]> Also, equating cardinality with size.
02:20:25 <tswett[m]> We all know that R has a greater cardinality than N. But I don't think we should define "bigger" as "having a greater cardinality", and so I don't think we should necessarily consider R to be *bigger* than N.
02:41:45 <zzo38> Then how should you define "bigger"?
02:53:15 <tswett[m]> I don't think "bigger" necessarily needs to mean anything.
02:54:15 <zzo38> OK
02:54:22 <tswett[m]> Though of course, from a practical standpoint, it's *useful* to use the word "bigger" to mean "having a greater cardinality".
02:55:12 <zzo38> Yes, that's what I thought.
02:56:19 <tswett[m]> Just like it's useful to use the word "open" to mean "containing a neighborhood around every point".
03:04:54 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds).
03:14:54 <esowiki> [[Folders]] M https://esolangs.org/w/index.php?diff=70683&oldid=70673 * Rottytooth * (+0) type correction
03:50:17 <esowiki> [[Special:Log/newusers]] create * Softengy * New user account
03:55:59 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=70684&oldid=70651 * Softengy * (+176)
04:25:31 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
04:32:00 <esowiki> [[Talk:Brainfuck algorithms]] M https://esolangs.org/w/index.php?diff=70685&oldid=68845 * Softengy * (+237)
04:41:50 <esowiki> [[ELIP]] M https://esolangs.org/w/index.php?diff=70686&oldid=24473 * IFcoltransG * (+30) Added category
04:42:32 <esowiki> [[ELIP]] M https://esolangs.org/w/index.php?diff=70687&oldid=70686 * IFcoltransG * (+1) Fixed category
04:43:24 <esowiki> [[ELIP/Unlambda]] https://esolangs.org/w/index.php?diff=70688&oldid=24425 * IFcoltransG * (+30) Added category
05:05:50 <esowiki> [[Special:Log/newusers]] create * DomJob * New user account
05:26:17 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70689&oldid=70684 * DomJob * (+249)
05:26:24 <esowiki> [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=70690&oldid=66763 * DomJob * (+286) Added an algorithm for x or y
05:56:00 <esowiki> [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=70691&oldid=70690 * Int-e * (+45) /* z = x or y (boolean, logical) (wrapping) */ golfing
05:57:00 <esowiki> [[Brainfuck algorithms]] M https://esolangs.org/w/index.php?diff=70692&oldid=70691 * Int-e * (-1) /* z = x or y (boolean, logical) (wrapping) */ match indentation
06:01:10 <int-e> weird page, that
06:01:50 <int-e> way too many different styles of commenting the code
06:03:29 <int-e> Oh, there's a convention for temporary location introduced at the very top, that resolves some of the confusion.
06:31:16 <tromp> int-e: the generalized rule gives no TODO's up to 31, 6 for 32 (of which 4 are handled by another rule), and only 3 for 33
06:41:38 <tromp> and only 15 on 34
06:42:20 <tromp> including the 5*2^16+6 one
06:43:03 <tromp> largest non-TODO at 34 is 27380
07:04:01 -!- MDude has joined.
07:15:38 <tromp> starts swapping at 35 after finding 12 TODOs
07:16:58 -!- arseniiv has joined.
07:17:56 -!- imode has quit (Ping timeout: 265 seconds).
07:22:03 -!- Phantom__Hoover has joined.
07:23:56 <int-e> tromp: impressive. I wonder how far this can push the halting probability.
07:30:09 <tromp> still focussing on BB for now, which is less arbitrary than blc halting probability (which depends on my IO conventions)
07:34:00 <tromp> can you check the generalization in BB.txt ?
07:39:41 -!- laerlingsap has joined.
07:40:25 <int-e> I will get around to it.
07:42:11 <int-e> I am tinkering more on the AIT side of things though... I've decided I don't like the KP definition all that much, because programs can cheat too easily (looking ahead on the input) and once you enhance the universal machine to prevent that, it can actually compute the tail itself.
07:44:23 <int-e> (KP is the definition where programs are supposed to produce pairs <o,xs> where o is the result and xs is the unconsumed input; my tinkering basically drops the xs part.)
07:54:42 -!- izabera has changed nick to flawful.
07:55:03 -!- flawful has changed nick to izalove.
07:55:28 -!- izalove has changed nick to iza.
07:55:57 -!- iza has changed nick to izakitten.
07:56:03 <tromp> i thought programs couldn't cheat
07:56:30 -!- izakitten has changed nick to izabera.
07:58:14 <tromp> as they can never apply the z in U(p:z)
07:59:03 <tromp> how is dropping the xs part different from using KS ?
07:59:24 <tromp> oh, no input end marker, ok
08:02:51 -!- sebbu2 has joined.
08:03:28 <int-e> Yeah, the end of input is determined by the last cons (if any) that is forced during evaluation evaluation to normal form.
08:04:41 <int-e> It's actually fairly pleasant to define (much in contrast to Chaitin's universal machine, which I find quite crazy) if you use open lists with nil = omega (ensuring the absence of a normal form when the tail is inspected by the program).
08:05:46 -!- sebbu has quit (Ping timeout: 256 seconds).
08:07:23 <int-e> (Chaitin's machine (from his thesis/book, chapter 6) evaluates all prefixes and suffixes together with the given program and takes the result of the first one to terminate... in order to ensure prefix-free programs. Which makes it awful to actually implement...)
08:07:41 -!- laerlingsap has left.
08:10:17 <int-e> Err, just the input, not the (lisp-ish) program itself. But that's bad enough, really.
08:10:48 -!- sprocklem has quit (Ping timeout: 256 seconds).
08:11:29 -!- sprocklem has joined.
08:14:15 <tromp> yes, chaitin's construction is a horrible hack
08:16:09 <int-e> (I reread that chapter last month, for the first time in 10 years I guess, and I finally got what that machine is doing.)
08:18:29 <Phantom__Hoover> i reread the jot spec last night and finally got it
08:18:34 <int-e> Hmm, of course programs-with-inputs also define a Busy Beaver function.
08:19:01 <Phantom__Hoover> the SKI translation in the article is pretty clunky though, i'm interested in minimal translations
08:19:36 <int-e> (A Busy Beaver function for every flavor... oh well, that should not be a surprise; you have one for every model of computation that has a quantifiable program size.)
08:20:23 <int-e> just jot it down
08:24:00 <Phantom__Hoover> it's somewhat interesting that leading 1s in a program are pointless
08:24:43 <int-e> I don't really like Iota/Jot, it's sacrificing too much for perceived minimality (compared to SK combinatory logic)
08:25:07 <Phantom__Hoover> i mean jot is just meant to be a goedel numbering
08:26:25 <int-e> It's also sacrificing too much (for my taste) if your goal is to assign a program to every bit string.
08:26:30 -!- laerling has joined.
08:26:33 <Phantom__Hoover> why?
08:27:01 <Phantom__Hoover> other goedel numberings are even uglier
08:29:40 <int-e> It's so, what's the word you used, clunky.
08:33:18 <Phantom__Hoover> the injection of SKI into jot is, the mapping from jot into the lambda calculus is very sleek
08:33:45 <Phantom__Hoover> i certainly can't envisage a better one
08:33:51 <int-e> I mean, it is an amazing feat in some way... making {AB} -> 1{A}{B} work, in particular, is impressive (though it's intimately tied to the translations of K and S. But 5 bits for K and 8 for S is ridiculous. And if you don't stick to the fragment defined by {.} I honestly have no clue what programs mean. Neither [F] S K nor S (K [F]) really make much operational sense to me.
08:34:53 <int-e> Just use ordered pairs to encode binary trees like everybody else.
08:36:27 <int-e> Phantom__Hoover: Let me stress again that this is a matter of taste to me. There's nothing objectively wrong with Iota or Jot, I think. They're just ugly ;-)
08:37:21 <tromp> i'm in perfect agreement with int-e :-)
08:37:56 <tromp> might be that we have similar taste...
08:41:51 <Phantom__Hoover> ah but that's what gives jot its sexy air of mystery
08:42:26 <Phantom__Hoover> clearly the vast majority of programs aren't simple encodings of SKI expressions so what's going on there?
08:43:27 <int-e> I expect it's just a terrible mess of chaos. Not that I've ever stared into that abyss at any depth ;)
08:44:18 <Phantom__Hoover> (this all started when i wondered how to encode church lists of ascii text out of boredom with normal online 'translate your text to binary!' converters)
08:45:23 <Phantom__Hoover> obviously {.} will give you a completely boring result
08:46:00 <int-e> tromp: I think we both like lambda calculus (and by extension, combinatory logic--I don't think either of us can program combinatory logic directly, but abstraction elimination does the trick without blowing programs up too much), and we both can be tracked down into golfing efforts (which favor concise encodings, obviously).
08:47:22 <int-e> Phantom__Hoover: If you find a way to navigate the swamp (yeah I'm changing analogies) that lies off the trodden path defined by {.}, I think you can really impress a few people :)
08:48:55 <tromp> you could see how far you get with a BB_jot
08:49:42 <int-e> How do you even measure the result size?
08:50:14 <tromp> there's always the blc size:-)
08:51:31 <int-e> or bcl size, I guess
08:52:31 <int-e> But I guess this is another source of ugliness... you can't do evaluation in the language that you write your programs in.
08:52:42 -!- sebbu2 has changed nick to sebbu.
08:53:01 <Phantom__Hoover> yes that's another issue, there are no clear reduction rules in terms of the 1/0 language
08:53:34 <int-e> Phantom__Hoover: Anyway I don't want to discourage you from studying this beast.
08:54:28 <Phantom__Hoover> i'll be impressed if i can find a concise encoding of 2 tbh
08:54:43 <Phantom__Hoover> 1 is just... 1, i'm p sure
08:55:35 <Phantom__Hoover> oh there's another snag which is that the majority of jot programs arent in 'normal form', i.e. the 1[A][B] construction is invalid for them
08:56:10 <Phantom__Hoover> but you can get around that by padding it on the left with enough 1s, and i think the number required is in general significantly less than you get from {.}
09:26:38 -!- xelxebar has quit (Remote host closed the connection).
09:28:23 -!- xelxebar has joined.
09:33:00 -!- Lord_of_Life_ has joined.
09:34:14 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
09:34:18 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
10:30:30 -!- rain1 has joined.
10:33:38 -!- kspalaiologos has joined.
10:38:42 -!- baidicoot has joined.
11:06:25 -!- spruit11 has joined.
11:21:43 -!- baidicoot has quit (Remote host closed the connection).
11:22:05 -!- baidicoot has joined.
11:41:32 <esowiki> [[Talk:Minimal operation language]] https://esolangs.org/w/index.php?diff=70693&oldid=70678 * A * (+147) Forgot to sign
11:45:08 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=70694&oldid=70680 * A * (+5001)
11:45:33 <esowiki> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=70695&oldid=70694 * A * (-13)
11:47:10 -!- baidicoot has quit (Ping timeout: 258 seconds).
11:48:13 <arseniiv> int-e: tromp: Phantom__Hoover: hm seems Jot enjoys a very interesting rule jot (f (unjot s)) = (jot f) s, how was it derived (don’t see it at Chris Barker’s page on it) and wasn’t that how Iota/Jot was constructed in the first place?
11:57:23 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
12:18:29 -!- baidicoot has joined.
12:34:56 <int-e> arseniiv: https://en.wikipedia.org/wiki/Iota_and_Jot#Jot sketches a proof of that
12:37:07 <arseniiv> int-e: thanks, the more general form of that statement, with arbitrary w, helps
14:23:24 <tromp> int-e: i checked all my TODOs for 34. so we can say that BB(34) = 5*2^16+6 = 327686
14:24:24 <tromp> that cannot happen with TM BB; predicting a value far in advance of checking it:)
14:25:10 <int-e> Well, granularity.
14:25:24 <int-e> What is a 34 bit TM? :)
14:26:12 <tromp> a 4 state TM takes more than 34 bits to describe
14:26:21 <int-e> Also up to this point the fairly naive filters (not counting the W or W2 criteria which are a bit more clever) have been embarrassingly effective.
14:27:07 <tromp> and BB(4) = 13
14:27:14 <tromp> for TMs
14:27:21 <int-e> (I still haven't looked at the W2 thing, and I think it'll be a couple of days before I do... I really want to give this problem a bit of thought first.)
14:27:57 <int-e> There is also some simplicity to BLC.
14:28:51 <tromp> yes, it's simpler, more fine-grained, faster growing, and naturally expressed in bits. seems better in every respect...
14:30:03 <int-e> The thing is, on an abstract level, what makes programming feasible is code reusage... giving a piece of code a name, and using it by that name somewhere else. Lambda calculus basically turns that principle into an evaluation mechanism, using substitution to put code where it's used so it can be evaluated. So it's eminently programmable, which is in stark contrast to Turing Machines.
14:30:56 <int-e> So perhaps it's not completely surprising that the human understandable (\x. x x x x) 2 is also an actual good busy beaver.
14:31:33 <int-e> (At least once you discover the Church numeral accident that exponentiation is just application.)
14:32:54 <int-e> But I still think the main factor is the better granularity of measuring program size.
14:33:30 <tromp> bits beat states
14:38:02 <int-e> Is there an analogue for http://oeis.org/A052200 (number of n-state 2-symbol TMs) modulo the obvious symmetries (permuting states, and I guess demanding that all states are reachable, at least in the graph given by the state transition diagram?)
14:39:39 <int-e> > log (20^8/24)/log 2 -- naive estimate
14:39:41 <lambdabot> 29.990462258377743
14:48:55 <int-e> tromp: So... if we count closed terms... we reach that number (20^8/24) at size 41...
15:03:12 <tromp> the normal count is (4n+4)^2n for n state TMs
15:10:03 <tromp> 4*2*log(4*4+4) = 34.6
15:15:01 <tromp> in a straighforward encoding, you're use a whole number of bits per transition, and it would rise to 4*2*ceil(log(4*4+4)) = 40
15:15:08 <tromp> you'd use
15:42:00 -!- imode has joined.
15:44:02 <esowiki> [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=70696&oldid=70692 * Softengy * (+59) Added improved x = x * x algorithm
16:04:29 -!- FreeFull has quit (Quit: Rebooting).
16:10:56 <esowiki> [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=70697&oldid=70696 * Softengy * (+1) Edit to work with x=0 and not require wrapping
16:12:33 -!- FreeFull has joined.
16:12:42 <esowiki> [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=70698&oldid=70697 * Softengy * (-6) /* x = x * x */ Fixed algorithm from incorrect previous edit
16:32:08 -!- Phantom__Hoover has joined.
16:49:31 -!- rain1 has quit (Quit: Lost terminal).
17:06:36 <esowiki> [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=70699&oldid=70698 * Softengy * (+367) /* x = x / y */ Added wrapping algorithm
17:49:22 <Phantom__Hoover> well i started enumerating all jot programs to find 2 but i gave up on trying it in web browser haskell
18:15:58 <esowiki> [[Talk:Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=70700&oldid=70685 * Softengy * (+257)
18:21:45 <esowiki> [[Talk:Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=70701&oldid=70700 * Softengy * (+228) Improved algorithm for x = x != y
18:28:31 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[CaneCode]] to [[Cane Code]]: fix spacing
18:31:03 -!- ArthurStrong has joined.
19:45:52 <esowiki> [[Chevron]] M https://esolangs.org/w/index.php?diff=70704&oldid=69927 * LegionMammal978 * (+15) fixed title
20:08:14 <kspalaiologos> My paper about Mersenne Twister cracking method I used for Seed golfing will be publicly available in Phrack Magazine p71
20:08:29 <kspalaiologos> also, there's a sneak peek on my homepagE: http://kspalaiologos.now.im/?id=9
20:08:44 <kspalaiologos> maybe someone's interested in this
20:10:05 -!- kspalaiologos has quit (Quit: Leaving).
20:50:04 -!- tromp has quit (Remote host closed the connection).
20:50:40 -!- tromp has joined.
21:08:37 -!- arseniiv has quit (Ping timeout: 264 seconds).
21:32:05 -!- Lord_of_Life_ has joined.
21:34:25 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
21:34:25 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:50:43 <esowiki> [[Seed]] https://esolangs.org/w/index.php?diff=70705&oldid=66263 * Ais523 * (+109) link to kspalaiologos's guide to Seed programming
21:51:11 -!- ais523 has joined.
21:52:04 <ais523> kspalaiologos: I was interested, although your algorithm is more complex than I expected; I was expecting there to be an instant reversal that produced optimal output, but maybe not?
21:53:04 <ais523> I looked into reversing LCRNGs a while back, if you have all the bits it's trivial, if you have only a few bits of consecutive elements then reversing the sequence appears to be NP-complete but typically easy in practice
21:53:26 <ais523> (I forget the details but vaguely remember that you might be able to encode the subset sum problem in it)
21:57:41 <zzo38> Play Washizu Scrabble, which like Washizu mahjong, you can see half of your opponent's cards, it is played with teams, and only one player on each team has a score that counts.
22:03:25 <esowiki> [[Seed]] https://esolangs.org/w/index.php?diff=70706&oldid=70705 * Ais523 * (+777) reference formatting, cats, difference between Turing- and -complete, the existing proof is for -hardness but Turing-completeness is also possible
22:04:54 <ais523> hmm, I wonder how hard it is to write a Befunge-98 program which you can append anything to, and the resulting program will calculates its own length in bytes and interpret that as a program in some TC language
22:05:11 <ais523> err, anything made up of printable ASCII and newlines
22:05:23 <ais523> I guess there's an issue that trailing newlines might or might not be visible
22:05:35 <fizzie> Trailing spaces on a line wouldn't be visible either.
22:05:50 <ais523> ah yes, and that could be a larger problem
22:06:08 <ais523> hmm, Seed would actually still be TC if the Befunge-98 program ignored whitespace
22:06:34 <ais523> it'd be harder to calculate the length value you needed, but still fairly easy, as that only requires running the Mersenne Twister forwards and observing where the whitespace would be output
22:07:09 <ais523> there are some interpreters where you can deduce the presence of trailing spaces, though, aren't there?
22:08:03 <fizzie> I imagine so, but I don't think there's a portable way. Even the 'y' command's bounding box is defined in terms of "a non-space cell", not the original program source.
22:08:24 <fizzie> (Even though it goes on to say: "These two vectors are useful to give to the o instruction to output the entire program source as a text file.")
22:11:31 <ais523> I guess you could "simply" multiply the length value by 2¹⁹⁹³⁷-1 and have the program detect how many repeats of itself existed, although that would require proving that passing the Mersenne Twister through the modulo operation didn't create an output with a quotiented period
22:13:46 <b_jonas> Knuth's SGB defines a defines a random number generator based on linear feedback. it's a pity that that one didn't become as well spread and used as a standard as the Mersenne twister. it's probably because SGB doesn't define an initialization method that takes more than a word of seed.
22:15:15 <ais523> the Mersenne Twister's internal state is kind-of ridiculous :-D
22:15:36 <ais523> is there a benefit to having it that large?
22:18:48 <b_jonas> ais523: dunno. the SGB random generator has an internal state of 55 words, 32 bits each, plus an index into that.
22:22:23 <ais523> NH4's PRNG has a 96-bit state, IIRC
22:23:04 <b_jonas> ais523: but that has a different goal, doesn't it? NH4 wants to have an RNG that at least tries to be cryptographically secure, and sacrifices speed for that.
22:23:39 <b_jonas> the Mersenne twister and the linear consomething generators don't try to be crypto secure at all, instead they try to be as fast as possible on near future machines when they were designed
22:25:09 <b_jonas> TAOCP chapter 3.6 exercise 7 asks you to show that a linear congruential generator is very bad for cryptography, as in, find an attack
22:26:13 <ais523> NH4's PRNG is not cryptographically secure, there are two requirements for cryptographic security, it only aims to satisfy one of them
22:26:39 <ais523> (specifically, it cares about the property that observed output cannot be used to deduce future output, but not about any other CSPRNG properties)
22:27:23 <b_jonas> ais523: I know it's not cryptographically secure, but it at least tries to be closer to it
22:28:17 <b_jonas> right, it wants to make it hard to predict future outputs, whereas the Mersenne twister (and lcgs and multiply random generators) don't
22:28:41 <b_jonas> that already makes NH4's random generator necessarily somewhat slower
22:28:51 <b_jonas> to make it fully cryptographically secure would be an overkill and even slower
22:29:37 <b_jonas> ais523: doesn't NH4 also care about that you can't deduce anything about past output other than what was told to you?
22:29:51 <ais523> oh yes, good point
22:30:12 <ais523> I haven't seen that mentioned as a cryptosecurity property in the past
22:30:30 <b_jonas> that's because it's implied by stronger properties I think
22:30:39 <b_jonas> anyway, 96 bits seems pretty small even for that,
22:30:42 <ais523> right, the stronger property is "you can't deduce past output from knowledge of the seed"
22:30:52 <b_jonas> but then, we're not basing our banking system on the NH4 random generator, it's just a game
22:31:16 <ais523> and of course, if you /can/ deduce past output from future output, then you can deduce it from knowledge of the seed simply by generating some future output from it and using it to calculate past output
22:31:32 <b_jonas> ais523: that's not quite precise
22:31:57 <b_jonas> I also require that you can't deduce past output from the combination of future output and other past output before that
22:32:01 <ais523> "you can't deduce past output from knowledge of the current internal state" is the precise formulation, I think
22:32:08 <ais523> oh, of the property that NH4 has
22:32:09 <b_jonas> just the current seed isn't enough for that
22:32:23 <b_jonas> yeah
22:34:18 <ais523> "if you have a sequence of RNG outputs where some are unknown, you can't deduce the unknown elements from the known elements"
22:34:51 <ais523> of course this is trivially false if the length of the sequence exceeds the period of the RNG, but we're assuming that the number of outputs which will ever be requested is small compared to the period
22:35:02 <b_jonas> ais523: sort of, but technically you need even stronger, because your knowledge need not be granular to individual elements of the sequence
22:35:35 <b_jonas> what is the period of the NH4 random generator (at an order of magnitude)?
22:36:01 <ais523> same as the state size, 2⁹⁶
22:36:42 <ais523> well, I don't know that for certain, but if it isn't, the cryptographic hash I'm using is utterly broken :-D
22:37:45 <b_jonas> ok
22:39:05 <ais523> actually, it's pretty certain that the period is 2⁹⁶ because the only way it couldn't be would be if the hash function ignored the first bit of its input entirely if it happened to be exactly 96 bits long
22:39:21 <ais523> and there's no way that brokenness of that magnitude wouldn't be noticed
22:40:13 -!- ArthurStrong has quit (Quit: leaving).
23:01:25 -!- Phantom__Hoover has quit (Ping timeout: 264 seconds).
23:27:39 -!- zzo38 has quit (Disconnected by services).
23:27:45 -!- zzo38 has joined.
23:45:26 <esowiki> [[Alphaprint]] M https://esolangs.org/w/index.php?diff=70707&oldid=70489 * PythonshellDebugwindow * (+13) /* Output */ fixed
23:49:58 <esowiki> [[LogicF---]] M https://esolangs.org/w/index.php?diff=70708&oldid=70473 * PythonshellDebugwindow * (+28) Cat fix /* Examples */
00:04:58 -!- FreeFull has quit (Read error: Connection reset by peer).
00:05:08 -!- FreeFull has joined.
00:20:39 -!- Sgeo__ has joined.
00:24:00 -!- Sgeo_ has quit (Ping timeout: 256 seconds).
00:36:30 <esowiki> [[Parenthesis Hell]] M https://esolangs.org/w/index.php?diff=70709&oldid=18413 * IFcoltransG * (+4) Linked to inspiration, Lisp
00:41:08 <esowiki> [[Function x(y)]] M https://esolangs.org/w/index.php?diff=70710&oldid=70475 * PythonshellDebugwindow * (+80) /* Syntax */ Yes // is Integer divison
00:41:49 <esowiki> [[Function x(y)]] M https://esolangs.org/w/index.php?diff=70711&oldid=70710 * PythonshellDebugwindow * (-86) /* FizzBuzz */
00:46:26 <esowiki> [[Lisp]] https://esolangs.org/w/index.php?diff=70712&oldid=70114 * IFcoltransG * (+430) /* List processing */ Added section on pronunciations and composed cars and cdrs
00:51:38 <imode> maybe some common sense can set me straight: I'm building a service. bit of a "high-class" version of LambdaMOO with an economy attached to the middle of it. in it, I need to be able to run user-submitted code. arbitrary user-submitted code.
00:52:30 <imode> this code needs to be sandboxed. so, I turn to "popular" tools. node.js springs to mind. seems alright enough. I have a couple of things like a job queue, an SQL ORM, websocket support...
00:52:58 <imode> I'm at a crossroads between two options. do I use something like a Forth, or PostScript. or do I use sandboxed JavaScript.
00:53:21 -!- ais523 has quit (Ping timeout: 265 seconds).
00:53:48 <imode> I figured I'd first ask the esolangs channel because, why not. esolangs are kind of at the opposite end of the UX spectrum.
00:54:25 <FreeFull> imode: I'd do some sort of language-independent sandboxing instead
00:55:00 <imode> FreeFull: I'd take that route too. but there's a lot of variables associated with that.
00:55:01 <FreeFull> Actually, no, language-independent wouldn't be enough
00:55:27 <imode> bear in mind. user code runs per-command.
00:55:35 <FreeFull> Maybe Lua?
00:55:46 <imode> no good way to do memory limits.
00:55:55 <imode> or CPU time measurements.
00:56:18 <imode> imagine 10k+ users, all frothing at the chance to knock your machines out of memory.
00:57:54 <imode> it's essentially a choice between creating a slightly user-hostile environment, sacrificing user experience for simplicity and control, vs. using V8 isolates via an npm package called `isolated-vm`.
01:02:58 -!- baidicoot has quit (Ping timeout: 258 seconds).
01:03:27 <FreeFull> I'd go for something where there's a separate sandboxed process, and some sort of API to communicate with the main server process
01:08:32 <imode> I guess I'm also discounting what people did for the DCPU-16 or whatever that was.
01:09:17 <imode> for a game that never even released.
01:13:46 <FreeFull> You could have an entire virtual machine with its own instruction set, but that's definitely a bit overkill
01:14:20 <imode> I already have some prior work that does this.
01:15:15 <imode> which is why I'm torn. it brings up questions as to why JavaScript grew to be so popular, and whether an application's extensability mechanism will be used in spite of its current popularity.
01:20:38 <zzo38> Be careful if using the sandboxing in Node.js; use Object.create(null) to create the sandbox object, and don't put in any objects that come from outside of the sandbox.
01:20:53 <imode> I'd be using https://github.com/laverdet/isolated-vm
01:21:00 <FreeFull> Javascript is popular because it's pretty much only programming language all popular web browsers support
01:21:48 <zzo38> However, PostScript might work (in -dSAFER mode, which is now the default; you can also use writable systemdict to delete some entries that you don't want before locking it; for example, you probably don't need any of the graphics operations or device operations), and making your own variant of Forth could also work.
01:22:15 <zzo38> You could also use other implementations of JavaScript, and write your own interface to it.
01:22:59 <zzo38> There are many other possibilities too.
01:23:18 <imode> FreeFull: right. so it's popular based on the strength of its userbase, because its userbase is derived from people that use a web browser, and people that want to create things that fit in a web browser.
01:23:44 <zzo38> But in order to do memory limits and CPU time limits, you would do something else, such as setrlimit.
01:24:32 <zzo38> There is also, as mentioned, Lua, and also SQL, even. And actually there are many other possibilities too.
01:27:37 <imode> which possibilities will people actually tolerate, is the question.
01:28:20 <zzo38> I think different people may tolerate different things, perhaps.
01:28:57 <imode> I don't think my users want to do stack juggling in their heads.
01:29:20 <zzo38> Something that other programming languages can be compiled to might be helpful, maybe.
01:29:32 <imode> I was looking into WASM, but it's very immature.
01:32:00 <zzo38> I might use a VM such as Glulx, although as far as I know none of the other programming languages listed can be compiled as Glulx code (and you may need your own I/O system too; this is possible if needed)
02:03:05 -!- Phantom__Hoover has joined.
02:46:39 <esowiki> [[ALIMBIHNN]] https://esolangs.org/w/index.php?diff=70713&oldid=70209 * IFcoltransG * (+94) Add cats, because everyone loves cats
02:51:22 <esowiki> [[Brainfuck.NET]] https://esolangs.org/w/index.php?diff=70714&oldid=61456 * IFcoltransG * (+82) Some categories
02:52:39 <esowiki> [[Brainfuck Contest]] https://esolangs.org/w/index.php?diff=70715&oldid=56236 * IFcoltransG * (+37) Added category (even though it doesn't exist)
02:53:29 <esowiki> [[Brainfuck Contest 1]] https://esolangs.org/w/index.php?diff=70716&oldid=68696 * IFcoltransG * (+38) Added a nonexistent category
02:54:47 <esowiki> [[Brainfuck Contest 2]] https://esolangs.org/w/index.php?diff=70717&oldid=56237 * IFcoltransG * (+37) Added a category that as yet doesn't exist
02:57:12 <esowiki> [[Brainfuck Sharp]] M https://esolangs.org/w/index.php?diff=70718&oldid=49987 * IFcoltransG * (+18) Even though the language is gone, a date category is still helpful for the sake of history
02:58:46 <esowiki> [[Brainfuck Substitutor]] https://esolangs.org/w/index.php?diff=70719&oldid=51660 * IFcoltransG * (+76) Added a couple categories
03:02:17 <zzo38> Does the FOR command in Pascal have something like the STEP in BASIC?
03:05:10 <esowiki> [[Brainfuck derivatives with nontrivial computational class proofs]] https://esolangs.org/w/index.php?diff=70720&oldid=58333 * IFcoltransG * (+20) Added Proofs category
03:05:40 <esowiki> [[Brainfuck in Python]] M https://esolangs.org/w/index.php?diff=70721&oldid=57063 * IFcoltransG * (+28) Added implementation category
03:05:41 -!- ski has joined.
03:06:10 <esowiki> [[Brainfuck in Python]] M https://esolangs.org/w/index.php?diff=70722&oldid=70721 * IFcoltransG * (+1) Fixed Implementations category
03:07:30 <esowiki> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=70723&oldid=53416 * IFcoltransG * (+81) Added some categories
03:25:39 <esowiki> [[Aperture]] https://esolangs.org/w/index.php?diff=70724&oldid=50609 * IFcoltransG * (+1349) Unblanked this page with a new joke language of my own invention
03:27:56 <esowiki> [[Joke language list]] https://esolangs.org/w/index.php?diff=70725&oldid=70045 * IFcoltransG * (+107) Added (re-added?) Aperture
03:30:47 <esowiki> [[User:IFcoltransG]] https://esolangs.org/w/index.php?diff=70726&oldid=70005 * IFcoltransG * (+116) Added Aperture lang
03:31:09 <esowiki> [[User:IFcoltransG]] M https://esolangs.org/w/index.php?diff=70727&oldid=70726 * IFcoltransG * (-3) /* Published Esoteric Languages */ removed extraneous word
03:47:26 <b_jonas> zzo38: look that up in http://rosettacode.org/wiki/Loops/For_with_a_specified_step
03:52:07 <zzo38> OK, they say it doesn't have it
03:53:45 <esowiki> [[Armok]] https://esolangs.org/w/index.php?diff=70728&oldid=61332 * IFcoltransG * (+69) Added some categories
03:54:05 <esowiki> [[Armok]] M https://esolangs.org/w/index.php?diff=70729&oldid=70728 * IFcoltransG * (-2) What is up with my spelling today?
03:57:15 <esowiki> [[Cactusi]] M https://esolangs.org/w/index.php?diff=70730&oldid=68799 * IFcoltransG * (+43) Added categories
04:20:55 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
05:04:57 <esowiki> [[Talk:Parenthesis Hell]] https://esolangs.org/w/index.php?diff=70731&oldid=69951 * IFcoltransG * (+327) /* Blog post */ new section
05:18:56 -!- tromp has quit (Remote host closed the connection).
05:24:23 -!- tromp has joined.
05:28:59 -!- tromp has quit (Ping timeout: 246 seconds).
05:56:12 -!- tromp has joined.
05:59:09 -!- kspalaiologos has joined.
06:00:29 -!- tromp has quit (Ping timeout: 246 seconds).
06:05:39 -!- imode has quit (Ping timeout: 260 seconds).
06:09:13 -!- Phantom__Hoover has quit (Ping timeout: 250 seconds).
06:17:37 -!- tromp has joined.
06:18:42 -!- kspalaiologos has quit (Quit: Leaving).
06:19:12 -!- kspalaiologos has joined.
06:19:48 <kspalaiologos> @tell ais523 the algorithm is instant. the BXn one I haven't published isn't.
06:19:49 <lambdabot> Consider it noted.
06:22:29 <kspalaiologos> @ais532 the state size makes the generator maybe go a bit faster, and allows some room for vectorization.
06:22:30 <lambdabot> Unknown command, try @list
06:23:57 -!- kspalaiologos has quit (Read error: Connection reset by peer).
06:44:49 -!- kspalaiologos has joined.
06:44:59 <kspalaiologos> sorry but my IRC client is going nuts
06:45:31 <kspalaiologos> @tell ais532 the state size makes the generator maybe go a bit faster, and allows some room for vectorization.
06:45:32 <lambdabot> Consider it noted.
06:47:57 <zzo38> Do you have a guess when pokemon numbers will exceed three digits and when pokemon numbers will exceed sixteen bits?
07:41:54 <kspalaiologos> if you're asking me => I don't know anything about pokemon(s)
07:59:40 <b_jonas> zzo38: exceed three digits => probably when the first pair of generation 9 pokemon games are released, in 2 or 3 years. sixteen bits => never, the video game franchise won't last that long.
08:02:05 <b_jonas> zzo38: however, it's possible that the National Pokedex numbering scheme will be abandonned some day, so there will be pokemon with no clear number in it. there are already variant pokemons with no separate numeric indexes.
08:02:46 -!- arseniiv has joined.
08:17:50 <myname> well, assuming they are using unsigned 16 bit and they will introduce 200 pokemon each year, it will happen 323 years after exceeding three digits
08:18:01 <myname> i would also expect that to be unlikely
08:22:40 -!- Phantom__Hoover has joined.
08:24:33 <int-e> . o O ( s/introduce/release/ )
08:27:57 <arseniiv> into the wild!
08:30:00 <int-e> You do have to capture them, don't you?
08:34:07 <kspalaiologos> #esoteric -> welcome to the world of pokemon & mtg fans, mathematicans and crazy harp tuners
08:34:32 <kspalaiologos> every single of these topics is something I don't understand :p
08:34:34 <arseniiv> someone maybe have to but I’m not interested, let them go forth and multip… er, live in peace
08:34:47 <arseniiv> int-e: ^
08:34:56 <arseniiv> kspalaiologos: crazy harp tuners?
08:35:10 <int-e> arseniiv: forth is another big mystery to me ;)
08:35:12 <kspalaiologos> `?q harp
08:35:14 <HackEso> ​?q? No such file or directory
08:35:17 <kspalaiologos> `q harp
08:35:18 <HackEso> 1280) <ais523> hmm, I just remembered that I was formally trained to tune harps
08:35:22 <kspalaiologos> ^ this
08:35:28 <arseniiv> ahh
08:35:48 <int-e> kspalaiologos: you forgot the punsters
08:36:14 <kspalaiologos> how could I... :p
08:36:44 <arseniiv> int-e: erm I retcon I actually meant “go fourth”, in light of harp tuning it makes more sense. Then they may go fifth and maybe a seventh and them bam microtonality and mass extinction
08:37:09 <arseniiv> `? harp
08:37:11 <HackEso> harp? ¯\(°​_o)/¯
08:37:21 <arseniiv> `? hairpin
08:37:22 <HackEso> hairpin? ¯\(°​_o)/¯
08:37:29 <arseniiv> `? harpoon
08:37:32 <HackEso> harpoon? ¯\(°​_o)/¯
08:37:35 <arseniiv> hm
08:38:10 <kspalaiologos> <kspalaiologos> why jbot died
08:38:10 <kspalaiologos> <b_jonas> kspalaiologos: int-e killed it so that you don't spam the channel :-)
08:38:14 <kspalaiologos> my favourite so far xD
08:38:51 <int-e> arseniiv: The fourth, the fifth, the minor fall, the major lift, the baffled king composing hallelujah?
08:39:20 <b_jonas> kspalaiologos: ais523 is the harp tuner, the crazy are some other ones of us #esoteric members
08:39:49 <int-e> `? alice
08:39:50 <HackEso> Alice doesn't want to go among mad people.
08:39:53 <arseniiv> int-e: oh, I actually didn’t know the lyrics so this is a coincidence
08:40:21 <kspalaiologos> yeah I remember
08:40:32 <arseniiv> though also there are far too many songs about songwriting
08:40:55 <arseniiv> like, are there that much paintings about painting?
08:41:07 <int-e> I only know this one because of Shrek.
08:41:10 <arseniiv> or sculptures of sculpting
08:41:40 <kspalaiologos> arseniiv, https://en.wikipedia.org/wiki/Category:Paintings_about_painting
08:41:46 <arseniiv> or esolangs abou… oh
08:41:54 <b_jonas> arseniiv: there are paintings about collecting paintings
08:41:59 <arseniiv> kspalaiologos: thanks :DD
08:42:03 <int-e> arseniiv: https://en.wikipedia.org/wiki/Drawing_Hands
08:42:04 <arseniiv> b_jonas: :o
08:42:09 <b_jonas> basically reader's digest paintings, so that kings can show their rich painting collection to other people
08:42:12 <b_jonas> serious
08:42:15 <arseniiv> ah, the hands I do know!
08:42:34 <b_jonas> I don't know many sculptures of sculpting
08:43:15 <kspalaiologos> a sculpture about sculpting would be hard to make
08:43:34 <int-e> movies about movies
08:43:35 <kspalaiologos> as far as I'm oriented in art, lol
08:43:44 <arseniiv> <b_jonas> the crazy are some other ones of us => is that property decidable?
08:43:45 <int-e> tv shows about television
08:43:45 <kspalaiologos> int-e, there's just too many of these, lol
08:44:09 <int-e> articles about journalism
08:44:25 <int-e> observations about observations
08:44:36 <int-e> where does it stop?
08:45:04 <int-e> human culture is too obsessed with itself ;)
08:45:24 <b_jonas> kspalaiologos: the parliament building has a bunch of small statues decorating the top of indoor columns, each depicting a different profession. they're pretty nice, but there's a surprising lack of photos of them on the internet, so I don't recall whether there's a sculptor. I think there's a painter.
08:45:53 <kspalaiologos> but it's fascinating
08:49:42 <kspalaiologos> is there a resource on binary lambda calculus that will explain it to me like I'm five?
08:50:27 <arseniiv> <int-e> where does it stop? => that’s precisely the question
08:51:32 <arseniiv> five is 101, so yes, no and yes^W^W^W^W^W^W^W^W
08:51:50 <kspalaiologos> alright so from what I can understand, one can simply create a lambda and execute it on a certain bit
08:52:07 <arseniiv> kspalaiologos: maybe the missing part is de Bruijn indices which are used there
08:52:19 <int-e> But 5 is 0000011100111001110011100111010 ;)
08:52:22 <kspalaiologos> and 1x0 construct lets you grab nth in the depth parameter?
08:53:00 <arseniiv> kspalaiologos: one can simply create a lambda and execute it on a certain bit => ah, not quite that. This is just plain lambda calculus, just expressed via bit strings
08:53:12 <int-e> kspalaiologos: Yes. https://en.wikipedia.org/wiki/De_Bruijn_index may help.
08:53:16 <kspalaiologos> I'
08:53:18 <kspalaiologos> m reading this
08:53:26 <kspalaiologos> why on this image attached 2 is reffering to the first lambda
08:53:43 <kspalaiologos> it skips two terms, right?
08:54:16 <int-e> kspalaiologos: it skips the green one; the blue and orange lambdas aren't in scope, so the red one is next
08:54:22 <b_jonas> kspalaiologos: sculptures of sculpture, see https://commons.wikimedia.org/wiki/Category:Sculptures_of_sculptors ; https://commons.wikimedia.org/wiki/Category:Carpeaux_au_travail is a good example, it shows a human holding a statuette and a tool in hands
08:54:22 <arseniiv> (okay I’ll go eat something already)
08:54:32 <kspalaiologos> okay
08:54:41 <kspalaiologos> I get it, theoretically
08:54:48 <kspalaiologos> still I can't see how can it be useful
08:54:49 <int-e> kspalaiologos: this may make more sense if you draw the term as a tree
08:54:52 <b_jonas> https://commons.wikimedia.org/wiki/Category:Monument_%C3%A0_Emmanuel_Fr%C3%A9miet_by_Henri_Greber_(1913) might be an even better example
08:55:28 <kspalaiologos> I wonder how much did it take to squeeze a brainfuck interpreter into this
08:55:41 <int-e> kspalaiologos: (a tree where lambdas have one child, and applications have two children... then you can resolve the indices by walking up the tree)
08:55:49 <arseniiv> b_jonas: thanks too
08:55:49 <kspalaiologos> fine
08:55:56 <kspalaiologos> I'll try to understand some examples
08:56:41 <kspalaiologos> how can this language have I/O
08:56:55 <kspalaiologos> it just outputs the final list/whatever?
08:57:18 <int-e> you pass in a (lazy) list of bits (or bytes) and produce a similar list of outputs as a result
08:57:20 <arseniiv> also it may be clearer if trying to write some functions on those terms, like substitution or something
08:57:39 <kspalaiologos> and one can supply input to the program, right
08:58:02 <kspalaiologos> from what I can see, this language seems to have the same problem of O(n) complexity when storing constants
08:58:12 <kspalaiologos> like this five you've posted is absurdly long
08:58:17 <int-e> So fundamentally you'll have to understand how data is encoded... that will probably take a while to become fluent with.
08:59:21 <int-e> kspalaiologos: It's only that big because it's the full Church numeral (\f\x. f (f (f (f (f x)))))
09:00:09 <kspalaiologos> (Outputting much more than 300 bits in Perl will land your computer in swap hell.) => lmao
09:00:19 <kspalaiologos> does blc consume this much memory?
09:01:22 <int-e> Asymptotically the program size doesn't matter... at a few hundred bits you can write decoders for much more efficient data formats.
09:02:13 <int-e> hmm. I suppose golfed blc code doesn't tend to be very friendly to garbage collection.
09:03:55 <int-e> Oh primes. The underlying algorithm uses a quadratic amount of memory I think (and the constant factor isn't small either).
09:04:10 <tromp> kspalaiologos: try reading https://tromp.github.io/cl/Binary_lambda_calculus.html
09:06:07 <int-e> The quadratic memory usage is a result of golfing; the constant factor could be improved by a better VM I suppose.
09:07:20 <tromp> int-e: i still need to fix the proof of the W2 rule. It's not true that B^V has (W^V)^+ W^V in head position
09:08:32 <tromp> the other observations still hold
09:09:07 <tromp> it would suffice to show that W^V is strict
09:09:55 <int-e> tromp: I'll take your word for it (still mulling over the problem myself)
09:10:08 <int-e> (so haven't looked at what your proposed generalization is)
09:31:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
09:33:13 -!- arseniiv has quit (Ping timeout: 264 seconds).
09:34:42 -!- Lord_of_Life_ has joined.
09:34:59 -!- arseniiv has joined.
09:36:01 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
09:36:02 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
09:45:28 -!- xelxebar has joined.
09:54:28 <esowiki> [[Cactusi]] M https://esolangs.org/w/index.php?diff=70732&oldid=70730 * Salpynx * (+0) correct (I hope) year category
10:12:39 -!- MDude has joined.
10:23:11 <tromp> int-e: see latest commit for proof fix and added conjecture on which proof rests
10:30:06 -!- baidicoot has joined.
10:56:14 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds).
11:20:08 -!- Melvar has quit (Quit: WeeChat 2.4).
11:28:49 -!- Melvar has joined.
11:51:11 -!- baidicoot has quit (Ping timeout: 258 seconds).
12:02:28 -!- arseniiv has quit (Ping timeout: 256 seconds).
12:03:15 -!- arseniiv has joined.
12:47:52 -!- ais523 has joined.
12:48:50 -!- ais523 has changed nick to ais532.
12:48:52 <ais532> @messages
12:48:55 -!- ais532 has changed nick to ais523.
12:48:58 <ais523> @messages
12:49:37 <ais523> <lambdabot> mroman asked 5y 11m 9d 17h 22m 55s ago: can you do a "programming languages with no Hello world" list? ← I wonder if mroman is still interested in this
12:50:00 <ais523> if my nick had been correctly spelled the first time, there wouldn't have been the ~6-year wait
12:50:56 <ais523> <zzo38> Do you have a guess when pokemon numbers will exceed three digits and when pokemon numbers will exceed sixteen bits? ← there's a lot of evidence that Game Freak is planning to abandon the National Pokédex numbering scheme, so it's likely that the numbering scheme will change before either of those benchmarks are reached
12:53:32 <ais523> @tell mroman I think most esolangs don't have a hello world, in many cases because they aren't capable of producing text output; making a list of esolangs which can hello world but don't have one would likely have to be done manually and be very time consuming
12:53:32 <lambdabot> Consider it noted.
13:42:13 -!- rain1 has joined.
13:43:20 -!- baidicoot has joined.
14:06:16 <Taneb> Petition to start calling categories monoidoid (by analogy with semigroupoid, groupoid)
14:23:49 <esowiki> [[Special:Log/newusers]] create * EvoEvoEvoEvoLution * New user account
14:37:56 <rain1> hi
14:38:17 <APic> Yo
14:38:46 <esowiki> [[Neg]] M https://esolangs.org/w/index.php?diff=70733&oldid=65727 * PythonshellDebugwindow * (+2) /* Superpositions */ fix typo
14:45:27 <rain1> how are you doing?
14:46:03 <esowiki> [[Eso2D]] M https://esolangs.org/w/index.php?diff=70734&oldid=70371 * PythonshellDebugwindow * (+76) /* Truth-machine */
14:46:21 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=70735&oldid=70386 * PythonshellDebugwindow * (+67) /* Eso2D */ Added Eso2D
14:47:17 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=70736&oldid=70735 * PythonshellDebugwindow * (-6) /* XENBLN */ Updating
14:51:12 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=70737&oldid=70736 * PythonshellDebugwindow * (+115) /* DINAC */
14:52:28 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=70738&oldid=70737 * PythonshellDebugwindow * (+25) /* Implementations */
15:04:17 <esowiki> [[PlusOrMinus]] M https://esolangs.org/w/index.php?diff=70739&oldid=69838 * PythonshellDebugwindow * (+38) /* Resources */
15:11:51 -!- imode has joined.
15:12:33 <esowiki> [[PlusOrMinus 2]] N https://esolangs.org/w/index.php?oldid=70740 * PythonshellDebugwindow * (+1256) 2D version of PlusOrMinus
15:13:28 <esowiki> [[Truth-machine]] M https://esolangs.org/w/index.php?diff=70741&oldid=70738 * PythonshellDebugwindow * (+327) /* PlusOrMinus 2 */
15:14:22 -!- kiedtl has joined.
15:16:11 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70742&oldid=70740 * PythonshellDebugwindow * (+10) /* Commands */
15:16:22 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70743&oldid=70742 * PythonshellDebugwindow * (+1) /* Commands */
15:30:50 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Css Script]] to [[Css script]]: fix capitalization
15:32:46 <esowiki> [[Css script]] https://esolangs.org/w/index.php?diff=70746&oldid=70744 * LegionMammal978 * (-19) formatting
15:40:47 <esowiki> [[Cubically]] https://esolangs.org/w/index.php?diff=70747&oldid=52173 * LegionMammal978 * (+87) added repo link
15:41:59 <kspalaiologos> lmao what, css script?
16:05:12 <esowiki> [[D1ffe7e45e]] M https://esolangs.org/w/index.php?diff=70748&oldid=62325 * LegionMammal978 * (+14) fixed title
16:07:17 <ais523> the css script website appears to be a dead link already
16:07:33 <ais523> although the repo is up
16:09:00 <ais523> it appears to be a primitive-recursive language with a large number of primitives for graphical output
16:09:08 <ais523> I'm not sure what relationship it has to CSS
16:10:14 <ais523> ah no, I think it supports recursion, which would make it TC given bignums
16:10:20 <ais523> (e.g. you can implement Blindfolded Arithmetic)
16:10:56 <ais523> unless, hmm
16:11:11 <ais523> I don't think it has any conditionals and I'm not convinced that the arithmetic allows two variables as arguments
16:14:40 <ais523> OK, looking at the implementation, does seem to allow two variables, so yes, you can do Blindfolder Arithmetic
16:14:59 <ais523> and the relationship to CSS appears to be that the implementation's output is in CSS
16:16:07 <ais523> although, the output is hardcoded to go into the file C:/Users/Dell/Desktop/entry/git/css-script-candy/css_script/output.html, which strikes me as a fairly awkward API
16:16:46 <ais523> also the output appears to actually be HTML+CSS, not pure CSS
16:19:37 <ais523> that's a little disappointing, I was secretly hoping it would be CSS with a .html extension
16:22:42 <b_jonas> ais523: but doesn't the division operator do floating point division?
16:22:48 <b_jonas> also doesn't it use floating point numbers?
16:23:21 <b_jonas> if it's fixed size machine floats, then you can't do too much blindfolded arithmetic
16:25:09 <ais523> hmm
16:25:14 <ais523> I bet you could do something using floating-point errors
16:25:14 <b_jonas> hmm no, it is floor division, but it's still machine floating point
16:25:22 <ais523> if it really were float division)
16:25:23 <b_jonas> 64-bit floating point
16:25:32 <ais523> although it would still be sub-TC due to the floats only having finitely many values
16:25:52 <ais523> but Python has arbitrary-precision integers
16:26:02 <ais523> I'm not sure what happens if you add one of those to the floored result of a division
16:26:43 <b_jonas> python has arbitrary precision integers, but this impl doesn't do arithmetic on those
16:27:09 <b_jonas> https://github.com/Abdur-rahmaanJ/css-script/blob/master/css_script/main.py#L322
16:27:29 <b_jonas> float is the built-in floating point type, which uses 64-bit machine floats
16:27:53 <b_jonas> unless of course there's some trick elsewhere in that code
16:28:06 <ais523> it appears to use isdigit() to parse constants
16:29:18 <ais523> so constants are any strings consisting entirely of digits
16:29:44 <ais523> I think variables will be stored as Python integers throughout
16:30:02 <ais523> unless rand/sine/cos/abssine are used
16:30:20 <ais523> or, hmm, no
16:30:20 <b_jonas> was probably posted today to the wiki because it has a function called passover: https://github.com/Abdur-rahmaanJ/css-script/blob/master/css_script/main.py#L351
16:30:34 <ais523> if you assign a constant to a variable the value seems to be stored as a string (?)
16:30:52 <ais523> oh, I see
16:31:07 <ais523> it uses floats to do arithmetic, even though it uses ints to store the result of transcendental operations, and strings to store constants
16:31:21 <ais523> (constant numbers)
16:32:06 <ais523> so yes, sub-TC because each program can only have finitely many variables
16:32:19 <b_jonas> ais523: no, it uses int to store the input of the transcendental constants, and yes that's weird
16:32:25 <ais523> err, ints are for the /argument/ to the transcendental operation
16:32:29 <ais523> * operations
16:32:39 -!- baidicoot has quit (Ping timeout: 265 seconds).
16:32:47 <ais523> I cannot refute the hypothesis that types in this language were just picked at random until it appeared to work
16:33:32 <b_jonas> that said this seems ot be the sort of interpreter where the author just adds the features they need at the time, and they may edit more features into it later as they want to write more programs, so it might just eventually grow more powerful by the time
16:34:18 <ais523> yes
16:34:24 <ais523> maybe they'll even get the domain name they want!
16:36:30 <b_jonas> ais523: yes, they claim to be a web developer
16:37:20 <b_jonas> although they also claim to do "IoT" and "Machine learning" and "Desktop development" so it might just be a fashionable keyword for the cv
16:37:39 <ais523> I think they're a web developer, just probably not a very good one
16:41:44 <b_jonas> also has an introductory programming book at https://github.com/Abdur-rahmaanJ/Think-Python-Fr/blob/master/all_in_one.md , let me see if that has code that looks better
16:46:57 <ais523> the main issue I note is that the indentation is wrong
16:47:04 <ais523> which, considering that this is Python, is something of an issue
16:47:21 <ais523> not always, but sometimes
16:48:54 <ais523> ah, I see
16:49:04 <ais523> it's a translation of a book by someone else
16:49:15 <ais523> "traduction du livre: Think Python, How To Think Like A Computer Scientist d'Allan Downey"
16:49:33 <ais523> and apparently unfinished, because the formatting goes crazy towards the end
16:51:30 <b_jonas> ais523: yes, the indentation of some code got lost somewhere in the conversions
16:53:13 <b_jonas> yes, probably because it's in progress
16:54:11 <ais523> this helps confirm my belief that indentation-sensitivity is too fragile for a serious programming language
16:54:19 <ais523> because code may be conveyed in formats that don't retain indentation well
16:56:35 <ais523> <HTML> Collect a sequence of code points that are ASCII digits from input given position, and interpret the resulting sequence as a base-ten integer.
16:56:50 <ais523> it goes to a huge amount of trouble to specify everything in great detail, but forgets to specify the endianness here
16:56:56 <ais523> I wonder if I should submit a bug report
16:57:38 <ais523> also, apparently -0 is a valid nonnegative integer in HTML, which is interesting as nonnegative integers are defined with a different parser from integers
16:58:02 <ais523> ah, wait, it isn't
16:58:13 <ais523> the parser for nonnegative integers will accept it, but you aren't allowed to include a minus sign in the input
16:58:18 <b_jonas> the first 9 chapters are formatted correctly and the code indentation looks fine in them
16:58:21 <ais523> err, a hyphen-minus sign
16:59:13 <ais523> heh, the endianness of the fractional part of a float /is/ specified, even though the endianness of the integer part isn't
16:59:37 -!- baidicoot has joined.
17:01:24 <b_jonas> ais523: where is that from?
17:02:51 <ais523> I'm reading the HTML standard
17:03:04 <ais523> probably I won't get through the whole thing
17:03:09 <ais523> the specific page is https://html.spec.whatwg.org/multipage/common-microsyntaxes.html
17:04:14 <esowiki> [[Hello today I am a unicorn]] N https://esolangs.org/w/index.php?oldid=70749 * Hakerh400 * (+2592) +[[Hello today I am a unicorn]]
17:04:17 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70750&oldid=70609 * Hakerh400 * (+33) +[[Hello today I am a unicorn]]
17:04:21 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=70751&oldid=70591 * Hakerh400 * (+33) +[[Hello today I am a unicorn]]
17:13:48 <esowiki> [[Hello today I am a unicorn]] https://esolangs.org/w/index.php?diff=70752&oldid=70749 * Ais523 * (+524) explain why this is TC; remove reference list because there aren't any
17:22:15 <esowiki> [[The Great Spell]] M https://esolangs.org/w/index.php?diff=70753&oldid=69567 * Qwertyu63 * (-1)
17:23:17 <esowiki> [[The Great Spell]] https://esolangs.org/w/index.php?diff=70754&oldid=70753 * Qwertyu63 * (+71)
17:25:00 <esowiki> [[Hello today I am a unicorn]] M https://esolangs.org/w/index.php?diff=70755&oldid=70752 * Hakerh400 * (+1) fix typo
17:27:11 <esowiki> [[The Great Spell]] https://esolangs.org/w/index.php?diff=70756&oldid=70754 * Qwertyu63 * (+17)
17:29:07 <esowiki> [[PokBattle]] https://esolangs.org/w/index.php?diff=70757&oldid=49066 * Qwertyu63 * (+43) /* Syntax */
17:29:07 -!- baidicoot has quit (Ping timeout: 250 seconds).
17:30:15 <esowiki> [[PokBattle]] https://esolangs.org/w/index.php?diff=70758&oldid=70757 * Qwertyu63 * (+29) /* Commands/Moves */
17:31:20 <esowiki> [[PokBattle]] https://esolangs.org/w/index.php?diff=70759&oldid=70758 * Qwertyu63 * (+75) /* Pokemon */
17:35:58 -!- Phantom__Hoover has joined.
17:40:46 <arseniiv> <Taneb> Petition to start calling categories monoidoid (by analogy with semigroupoid, groupoid) => yesss
17:52:02 <arseniiv> no big secret we can do some calculations with affine geometry, dipping an affine space into a one-more-dimensional linear space and treating vectors from this (now) subspace as points and vectors parallel to it as point translation vectors. Introducing exterior algebra, one can even join two points into a line with using plain exterior product ∧ on them. But one can’t join two coplanar lines this way, as they would wedge to zero, b
17:52:02 <arseniiv> eing factorizable as a∧b and a∧c for some a, b, c. This boils down to the question, how can I calculate the union of two subspaces in an arbitrary linear space, using exterior algebra elements as representations of subspaces?
17:53:08 <arseniiv> (and also intersections, but we can just dualize a working way to do union after finding it)
17:55:09 <arseniiv> I read a bit things about “geometric algebra”, which is just an applied real Clifford algebra theory, and I hadn’t found a description of this failure to do meet. They seem to simply take ∧ and I can’t believe no one needed to compute a union of the sort I mentioned
17:55:35 <arseniiv> this is suspicious
18:05:47 <esowiki> [[DOGO]] M https://esolangs.org/w/index.php?diff=70760&oldid=30155 * LegionMammal978 * (+29) /* External resources */ fixed link
18:20:28 <b_jonas> `? ayacc
18:20:30 <HackEso> ayacc is ais523's yacc parser generator implementation, get it from darcs clone http://nethack4.org/projects/ayacc
18:21:10 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70761&oldid=70572 * PythonshellDebugwindow * (+121) /* Languages */
18:23:36 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70762&oldid=70761 * PythonshellDebugwindow * (+102) /* Possibly useful regexes */
18:28:50 <esowiki> [[Function x(y)]] M https://esolangs.org/w/index.php?diff=70763&oldid=70711 * PythonshellDebugwindow * (+53) /* FizzBuzz */ Fixed some errors
18:35:36 <esowiki> [[Function x(y)]] M https://esolangs.org/w/index.php?diff=70764&oldid=70763 * PythonshellDebugwindow * (+287)
18:36:30 <esowiki> [[Function x(y)]] M https://esolangs.org/w/index.php?diff=70765&oldid=70764 * PythonshellDebugwindow * (+1) /* FizzBuzz */
18:39:30 <esowiki> [[User:JonoCode9374]] M https://esolangs.org/w/index.php?diff=70766&oldid=69631 * PythonshellDebugwindow * (+14) /* MineFriff */ Fixing link to ><> and brainf
18:50:09 <esowiki> [[User:Hakerh400/How to write quines]] M https://esolangs.org/w/index.php?diff=70767&oldid=69424 * PythonshellDebugwindow * (+1) /* Initial draft */ typo fixed
19:07:31 <arseniiv> <arseniiv> this is suspicious => ah now I at least see why those linear meet and join need to evaluate to zero in the unfortunate cases. If the orientation of the result cannot be determined uniquely from orientations of the arguments, then zero is the only sensible option. Maybe I need to find another framework for affine subspace operations, then
19:07:47 <arseniiv> unfortunate, unfortunate
19:30:04 <ais523> by analogy with monoidoid and monoid, what is a mon?
19:32:49 <b_jonas> ais523: mon is abbreviation for Monday
19:34:07 <ais523> I don't think that works category-theoretically
19:38:52 <kspalaiologos> good night.
19:38:56 -!- kspalaiologos has quit (Quit: Leaving).
19:39:51 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70768&oldid=70743 * PythonshellDebugwindow * (+346) /* Auto-formatting */
19:45:19 <esowiki> [[Dc]] M https://esolangs.org/w/index.php?diff=70769&oldid=55321 * LegionMammal978 * (+14) fixed title
19:45:49 <Sgeo__> Why did I rekindle my interest in Tcl? It's a ridiculously unsafe language if used wrong, and whenever I write Tcl code I invariably end up with a memory leak because of fundamental limitations to its GC
19:50:04 <esowiki> [[DcScript]] M https://esolangs.org/w/index.php?diff=70770&oldid=69670 * LegionMammal978 * (+14) fixed title
19:50:23 <imode> because it's incredibly tempting.
19:58:03 <ais523> I don't know much Tcl
19:58:16 <ais523> it looks intruiging but I've never had a sufficiently compelling use case for it to be worth learning it
19:58:24 <ais523> (although, I did learn enough to add it to the polyglot)
20:01:37 <fizzie> I seem to recall Eggdrop was scripted most commonly in Tcl.
20:01:44 <ais523> b_jonas: why the check of ayacc, incidentally?
20:01:46 <zzo38> Some of the building of SQLite and its documentation is using Tcl, I think.
20:01:50 <ais523> I can currently work on it a bit more freely than usual
20:01:53 <ais523> but haven't had a need to
20:04:36 <b_jonas> ais523: someone on IRC mentioned that they made a different custom yacc for some project they need, plus a lexer to go with it
20:04:56 <b_jonas> ais523: http://repo.hu/projects/byaccic/ with a push parser (stackless)
20:05:22 <zzo38> (Although, I think the coding for generating source files should be written in C and/or shell scripts, the coding for documentation generation should be written in PostScript, and the testing codes should be both Tcl and C.)
20:05:29 <b_jonas> also they searched for "ayacc" on google and found a different yacc that generates ada code or some such
20:05:39 <b_jonas> https://github.com/Ada-France/ayacc
20:05:44 <b_jonas> apparently the name is not unique enough
20:06:30 <b_jonas> maybe you should have called it aiyacc
20:07:09 <zzo38> Some things are going to have the same name due to not knowing that is something else called that, I will think, and other reasons too
20:07:45 -!- rain1 has quit (Quit: Lost terminal).
20:07:47 <zzo38> Another alternative to yacc is Lemon
20:08:05 <b_jonas> zzo38: we did look at that, but we agreed with ais523 that we don't like its interface
20:08:30 <ais523> I have been planning a more radical parser framework of my own, separate from ayacc (which exists to run pre-existing yacc programs)
20:08:53 <b_jonas> oh no... not a framework. I hate frameworks
20:09:03 <b_jonas> those are always the worst software to actually work with
20:09:04 <ais523> well, not a framework in /that/ sense, probably at least
20:09:13 <ais523> the basic idea is to combine the parse and lex phases via allowing the use of a state machine (effectively a regular expression) to do lookahead
20:09:51 <zzo38> Yes, if you do not like Lemon, then you do not have to use it, although I like the features of Lemon (although the documentation for Lemon now says that apparently Bison also has some of these features too, so it will work too).
20:09:52 <ais523> this means that if the grammar requires unlimited lookahead to function correctly (which it will in many cases), you will still need two passes over the input, although this time the first one goes backwards and the second one goes forwards
20:10:06 <ais523> zzo38: which specific features do you like?
20:10:39 <ais523> the other basic idea is, instead of running user-supplied code to split the input into data structures, to use optimized general-purpose data structures that are more efficient than linked trees
20:11:07 <ais523> although this means they can't be changed in-place, rather code that manipulates them works by treewalking an existing tree and creating a new tree as it does so
20:11:28 <ais523> the idea is to take advantage of vectorisation and memory locality
20:11:41 <zzo38> That you can have multiple parsers.
20:11:59 <zzo38> The tokenizer calling the parser is also useful for some programs.
20:12:24 <ais523> multiple parsers are trivial to implement even in yacc
20:12:35 <ais523> by adding an extra token at the start to choose between them
20:12:41 <ais523> although ayacc allows a more direct API for that
20:12:48 -!- Maris has joined.
20:13:04 <Maris> ohi
20:13:19 <ais523> hi Maris
20:13:39 <zzo38> The %fallback command is also useful for some programs, such as SQLite, and so are some of the other commands.
20:17:14 <zzo38> ais523: O, OK. I should look at the ayacc, although it is just a 403 error apparently because it requires darcs to work (although maybe 406 is better, or perhaps is better for it to download the files anyways, such as in a tape archive)
20:20:41 <ais523> zzo38: I can try to create a tarball for you, give me a moment
20:21:54 <ais523> zzo38: try http://nethack4.org/pastebin/ayacc-2020-04.tar.gz
20:22:21 <ais523> although, it will unpack into a folder called "mainline"
20:22:27 <ais523> it's actually ayacc though
20:23:26 <zzo38> OK, I downloaded that.
20:23:27 <b_jonas> zzo38: fun, that's what everyone complains about. I just pasted it temporarily to https://dpaste.org/qorS/raw though.
20:23:49 -!- baidicoot has joined.
20:24:26 <b_jonas> `? ayacc
20:24:27 <HackEso> ayacc is ais523's yacc parser generator implementation, get it from darcs clone http://nethack4.org/projects/ayacc
20:24:45 <b_jonas> `learn ayacc is ais523's yacc parser generator implementation, get it from http://nethack4.org/pastebin/ayacc-2020-04.tar.gz or from darcs clone http://nethack4.org/projects/ayacc
20:24:48 <HackEso> Relearned 'ayacc': ayacc is ais523's yacc parser generator implementation, get it from http://nethack4.org/pastebin/ayacc-2020-04.tar.gz or from darcs clone http://nethack4.org/projects/ayacc
20:24:55 <b_jonas> hmm no wait
20:24:57 <b_jonas> `? rules of wisdom
20:24:59 <HackEso> unless essential for the entry‘s humor, \ they should: be understandable without the lookup key, be single spaced and end in a newline with no space before that, and use proper capitalization and punctuation
20:25:28 <b_jonas> `learn ayacc is ais523's yacc parser generator implementation, get it from http://nethack4.org/pastebin/ayacc-2020-04.tar.gz or from (darcs clone http://nethack4.org/projects/ayacc) .
20:25:30 <HackEso> Relearned 'ayacc': ayacc is ais523's yacc parser generator implementation, get it from http://nethack4.org/pastebin/ayacc-2020-04.tar.gz or from (darcs clone http://nethack4.org/projects/ayacc) .
20:25:38 <ais523> b_jonas: the pastebin thing is only temporary, I think
20:25:40 <b_jonas> is that the proper punctuation? or do I double-quote the first url?
20:25:41 <ais523> because it won't automatically update
20:25:45 <zzo38> You should fix the error message so that it tells you to use darcs or to download the .tar.gz file.
20:25:49 <b_jonas> ais523: yes, I said I temporarily pasted it there
20:26:03 <ais523> b_jonas: no, I mean the NH4 pastebin
20:26:07 <b_jonas> oh
20:26:12 <ais523> also, I believe the proper quotes for a URL are <>
20:26:24 <b_jonas> ais523: no, it's either double quotes or angle brackets, and I prefer double quotes
20:26:26 <ais523> I'm not sure on the proper quotes for a shell command, but I like «» because anything else seems potentially ambiguous
20:26:39 <b_jonas> I use parens for a shell command because that's actual shell syntax
20:27:11 <b_jonas> `learn ayacc is ais523's yacc parser generator implementation, get it from (darcs clone http://nethack4.org/projects/ayacc) or a snapshot from "http://nethack4.org/pastebin/ayacc-2020-04.tar.gz".
20:27:14 <HackEso> Relearned 'ayacc': ayacc is ais523's yacc parser generator implementation, get it from (darcs clone http://nethack4.org/projects/ayacc) or a snapshot from "http://nethack4.org/pastebin/ayacc-2020-04.tar.gz".
20:27:36 -!- ski has quit (Ping timeout: 256 seconds).
20:28:19 <ais523> oh, parens are plausible, they'd be no-ops in most circumstances
20:28:32 <ais523> although not in cases where the command would run differently in a subshell
20:28:44 <ais523> there's a difference between «cd /tmp» and «(cd /tmp)»
20:33:17 -!- Maris has quit (Remote host closed the connection).
20:33:46 -!- nona has joined.
20:39:17 <b_jonas> ais523: I'm not sure it even makes sense to embed a shell command that doesn't run in a subshell into non-shell text. is there a shared library version of the shell that can run in other processes to do that?
20:39:35 <b_jonas> like for that cd thing
20:41:32 <ais523> b_jonas: you clearly haven't come across /bin/cd yet
20:41:49 <ais523> although admittedly that one was a joke
20:42:00 <b_jonas> you can embed perl or python that way and call their chdir functions and it affects the whole process
20:42:13 <ais523> although, if you're giving someone instructions
20:42:23 <ais523> it makes sense to intersperse shell commands and text, doesn't it?
20:42:34 <b_jonas> yeah, it can make sense
20:43:09 <b_jonas> maybe someone made a literate shell syntax somewhere, where every line not prefixed with a > is a comment that is used only when you typeset the program
20:43:32 <b_jonas> but the embeddable shell library sounds more esoteric
20:45:01 <ais523> why do languages have their own literate syntaxes, anyway?
20:45:20 <ais523> wouldn't it be more sensible to have a document format designed for literal programming, that can compile into a programming language?
20:45:26 <ais523> but it doesn't care about which one you're using
20:46:01 <b_jonas> ais523: there is such a generic preprocessor I think, but the problem is that a lot of languages use most ascii characters, so there's no single quote format that's convenient for everything
20:46:17 -!- baidicoot has quit (Ping timeout: 256 seconds).
20:47:01 <ais523> well, prefixing lines with > is pretty convenient for everything
20:47:36 <ais523> that can't possibly clash with anything in the program, the only potential clashes would be with the /document/
20:47:50 <b_jonas> ais523: sure, but then you want to refer to code snippets in the documentation part, and that's what gets ugly in them, as well as in all the javadoc/doxygen syntaxes too
20:48:10 <ais523> you mean, without them running?
20:48:12 <b_jonas> also some preprocessors allow you to change some or all of the magic characters, see https://esolangs.org/wiki/SIMPLE_(preprocessor)
20:48:31 <ais523> that seems to contradict the idea of literate programming a little
20:48:36 <b_jonas> ais523: usually yes, but I think CWEB even has some preprocessor macro thing that it can insert into code blocks or something
20:48:50 <ais523> incidentally, I realised that POD is a sort of mix between literate and illiterate programming
20:48:57 <b_jonas> I don't really know how this works, I don't really like literate programming so I never use it
20:48:58 <ais523> instead of having a comment marker for non-code, or a code marker for code
20:49:12 <b_jonas> having comment blocks and comment headers, doxygen-like, that's fine
20:49:12 <ais523> it has separators that are placed between code and non-code (and vice versa)
20:49:25 <b_jonas> and having a preprocessor can be interesting too
20:49:39 <arseniiv> ah, as the topic was about parsing a while back, how often do you encounter regex libraries supporting streams of arbitrary objects and not just characters? and maybe regexes for tree-like structures, do those exist at all?
20:50:25 <ais523> the former definitely should exist, but maybe doesn't
20:50:38 <ais523> what properties do these arbitrary objects have that distinguishes them from characters?
20:50:40 <b_jonas> I was actually thinking of a preprocessor variant of Consumer Society too. It needs three magic characters, but you can't find three convenient characters that work in all programming languages, so you'd use eg. `@$ in C but `?$ in python or something
20:51:07 <b_jonas> and I think `$~ in rust
20:51:25 <zzo38> CWEB also has the commands to specify if the next section is a named program block, unnamed program block, or documentation; you don't need any prefix for each line. WEB does more preprocessing though, in order to implement things that Pascal doesn't do by itself (although some modern implementations will do those things automatically).
20:51:27 <b_jonas> arseniiv: there are regex libraries that support arbitrary byte streams
20:51:38 <ais523> isn't @ unused in Rust at the moment?
20:51:42 <b_jonas> ais523: no
20:51:48 <ais523> ah, it got recycled?
20:51:48 <b_jonas> ais523: @ is used for bind patterns like in haskell
20:51:51 <arseniiv> also do you like parser combinators receiving arbitrary tokens and not just characters, and how much useful do you think is parser-driven tokenization (when the source can be tokenized differently based on what parser expects)
20:52:33 <ais523> arseniiv: parser-driven tokenization is required for some languages, if you want to have a separate parser and lexer
20:52:43 <ais523> but I think combining the parser and lexer is a more interesting goal
20:52:45 <b_jonas> ais523: as in if let x@C(y,z) = t { # matches if t has the constructor C, and binds fresh variables x, y, z
20:53:01 <b_jonas> $ is used for metaprogramming though, also like in haskell
20:53:17 <ais523> parser-driven tokenization is really confusing, though, so it's normally avoided where it isn't required
20:53:28 <arseniiv> b_jonas: Python has byte stream regexes too, though there’s a strange issue with named group names (non-ASCII names allowed for some reason)
20:53:40 <zzo38> I think PCRE supports byte streams (it can also use UTF-8 though).
20:53:42 <ais523> an example of where it's used in practice is parsing precedence overrides in C-INTERCAL
20:54:26 <b_jonas> SIMPLE allows you to override each of its magic characters, but that doesn't help you too much if you want convenient syntax, because it has like a dozen magic characters
20:54:40 <arseniiv> <ais523> parser-driven tokenization is really confusing, though, so it's normally avoided where it isn't required => I was afraid that would be the case, and that’s why it came to mind to ask, yeah
20:54:41 <b_jonas> it's also hard to use for other reasons
20:55:18 <ais523> arseniiv: it's worth mentioning that INTERCAL's grammar is actually ambiguous
20:55:29 <b_jonas> I wish I could definitely claim that it's esoteric, but there is a little evidence that David wrote it to preprocess some HTML files that are non-esoteric originally, so it's not pure esoteric in purpose
20:55:33 <ais523> the INTERCAL-72 manual has a note which basically just says "don't write programs that do that, it probably won't work"
20:56:30 <ais523> and there are some programs which are technically unambiguous but need infinite lookahead to sort the "ambiguity" out, so C-INTERCAL can pick the wrong parse earlier on
20:56:48 <ais523> (the manual gives it explicit permission to do that, though, probably because the original implementation had the same problem!)
20:56:53 <b_jonas> ais523: well, INTERCAL was created when ambiguous FORTRAN was one of the most used programming languages, so it makes sense that it takes _that_ feature from it
20:57:10 <ais523> what's the ambiguity in FORTRAN?
20:57:26 <b_jonas> ais523: I think it's not actually ambiguous, just requires too much lookahead
20:57:30 <b_jonas> I'm not sure
20:57:52 <arseniiv> <ais523> what properties do these arbitrary objects have that distinguishes them from characters? => for example they can be a countable set, but nonetheless with several known subsets and constants to use in matching. Though that still can be encoded via byte sequences, yeah
20:57:55 <b_jonas> something like in basic where it doesn't require whitespace, so DOFOO=2 is an assignment, DO FOO=2,3 is a loop head, but the space doesn't matter
20:58:02 <b_jonas> and the 2 can be a complicated expression
20:58:26 <b_jonas> just like A XOR 1 vs AX OR 1 in some old basic interpreters
20:58:28 <ais523> I'm not used to FORTRAN program using multiple-character variable names :-D
20:58:41 <b_jonas> ais523: what, they can have variable names up to 6 characters
20:58:46 <ais523> b_jonas: oh, there's an ambiguity like that in INTERCAL too!
20:58:48 <b_jonas> that's much better than basic, with its 2 characters
20:58:59 <ais523> DO READ OUT #1 versus DO REA DO UT #1
20:59:21 <ais523> that one caught out a few lesser-known INTERCAL interpreters when people started golfing
20:59:22 <zzo38> Can you put parentheses to resolve the ambiguity?
20:59:37 <ais523> zzo38: INTERCAL doesn't use parentheses as precedence overrides
20:59:40 <zzo38> At least some BASIC programs I have seen they only use one letter for variable names, sometimes followed by digits too
20:59:46 <zzo38> ais523: Yes, I mean in BASIC
20:59:55 <ais523> however it has two different precedence override syntaxes and you can always solve an ambiguity caused by one by using the other instead
20:59:58 <b_jonas> ais523: wait, how is that disambiguated?
21:00:03 <b_jonas> and what's UT?
21:00:11 <ais523> b_jonas: it isn't but syntax errors are legal in INTERCAL
21:00:13 <b_jonas> does that work only when the statement is only ran when ignored?
21:00:16 <b_jonas> yeah
21:00:43 <ais523> I think all current interpreters arbitrarily ignore the DO in DO READOUT, at least if the statement is otherwise syntactically valid
21:00:45 <b_jonas> zzo38: yes, one letter is shorter
21:00:53 <ais523> it's unclear whether this is the correct course of action or not
21:01:02 <ais523> but it's INTERCAL, the spec is not exactly the most unambiguous of things
21:01:32 <ais523> incidentally, at least one INTERCAL programmer has seriously argued that spaces should be permitted inside keywords and even inside numerical constants and variable names
21:01:41 <ais523> but that isn't widely implemented
21:01:47 <arseniiv> <ais523> however it has two different precedence override syntaxes and you can always solve an ambiguity caused by one by using the other instead => esoteric
21:02:24 <ais523> arseniiv: Google's style guide suggests alternating between them to a) avoid any risk of an ambiguity that confuses the compiler, b) make it easier to read for a human
21:02:38 <b_jonas> ais523: are they storing INTERCAL programs on 5-bit ticker tape?
21:03:01 <ais523> I don't think so
21:03:08 <arseniiv> ais523: wait, there’s a Google style guide for INTERCAL? :o
21:03:10 <b_jonas> or transfer it by 5-bit modem?
21:03:15 <ais523> in fact there's no real evidence that Google has written any more than one INTERCAL program
21:03:22 <ais523> arseniiv: it was part of their April Fools thing one year
21:03:47 <Sgeo__> Tcl's return is... complicated.
21:03:57 <arseniiv> ais523: that’s probably neat :F
21:03:59 <arseniiv> :D *
21:04:13 <ais523> it's offline nowadays, and the Internet Archive is down
21:04:19 <ais523> I have a saved local copy but will need to check the license before rehosting it
21:04:38 <arseniiv> don’t worry, the sole existence of it is enough for me :)
21:05:09 <arseniiv> I don’t know enough INTERCAL to appreciate the style guide sufficiently
21:05:17 <arseniiv> (maybe)
21:05:23 <ais523> the funny thing is, their INTERCAL program had a bug (or at least a nonportability)
21:05:30 <ais523> I sent them a pull request and they gave me commit access
21:05:39 <ais523> the repo ceased to exist shortly afterwards, when they closed the repo host
21:05:50 <ais523> so I was probably the only person outside Google to ever have commit access to it
21:06:31 <ais523> ugh, no explicit license on the repo :-(
21:06:35 <ais523> so I guess it's default-all-rights-reserved
21:06:48 <arseniiv> <ais523> so I was probably the only person outside Google to ever have commit access to it => hehe
21:07:54 <arseniiv> oh, btw if someone uses Freesound.org, they had an anniversary a couple days ago
21:09:23 <ais523> hmm, I found an archive of the program itself, on a Google host, with an apache2 license on it
21:09:29 <ais523> unfortunately the style guide is not in the same archive
21:10:24 <ais523> thus the license doesn't apply to it
21:13:15 -!- baidicoot has joined.
21:18:07 -!- baidicoot has quit (Ping timeout: 265 seconds).
21:21:19 -!- ais523 has quit (Quit: quit).
21:33:45 -!- Lord_of_Life_ has joined.
21:36:34 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
21:36:35 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:49:11 <esowiki> [[Derpcode]] M https://esolangs.org/w/index.php?diff=70771&oldid=59452 * LegionMammal978 * (+14) fixed title
22:11:51 -!- nona has quit (Quit: Ping timeout (120 seconds)).
22:28:58 -!- baidicoot has joined.
22:37:55 -!- baidicoot has quit (Ping timeout: 256 seconds).
22:50:54 -!- arseniiv_ has joined.
22:53:37 -!- arseniiv has quit (Ping timeout: 264 seconds).
22:57:22 -!- arseniiv_ has quit (Ping timeout: 265 seconds).
23:11:48 -!- tromp has quit (Read error: Connection reset by peer).
23:12:23 -!- tromp has joined.
23:23:07 -!- baidicoot has joined.
23:25:14 -!- baidicoot has quit (Client Quit).
23:34:36 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds).
00:37:54 <esowiki> [[MyScript]] M https://esolangs.org/w/index.php?diff=70772&oldid=70448 * PythonshellDebugwindow * (+44) /* Functions */
00:45:16 <esowiki> [[Symbols]] M https://esolangs.org/w/index.php?diff=70773&oldid=63960 * PythonshellDebugwindow * (+5) /* Javascript */ fixing varName
02:05:03 -!- Phantom__Hoover has joined.
03:36:15 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds).
03:49:03 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
03:56:50 <zzo38> Why does a "cure heart" decrease your health from 121 to 100?
06:32:01 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70774&oldid=70689 * Luke1337 * (-362) Undo revision 53161 by [[Special:Contributions/Luke1337|Luke1337]] ([[User talk:Luke1337|talk]])
06:40:32 <esowiki> [[Aheui]] https://esolangs.org/w/index.php?diff=70775&oldid=60033 * Luke1337 * (-120) This implementation claims to "fix" bugs but diff reveals it actually doesn't; fails test case; incorrect handling of ''; inelegant wraparound handling; outdated etc.
07:10:04 -!- Phantom__Hoover has joined.
07:50:28 <b_jonas> zzo38: maybe it drains some of your general or average health to fix a problem specifically in your heart, and you should use that spell only if you have a risk of heart problems and can afford some of the health of the rest of your body, as in your liver?
07:51:41 <b_jonas> It's like many real world medications, they can't magically add health to you, but they can redirect your body to focus to something more in exchange of something else, like in the tradeoff between antibiotics vs antihistamines.
07:53:09 <b_jonas> Antibiotics can kill a bacterial infection, but in exchange you get worse allergies, so if you have both bacterial infections and allergies it's hard to cure, which is one of the big difficulty with organ transplantation.
07:57:59 -!- cpressey has joined.
08:01:25 -!- imode has quit (Ping timeout: 264 seconds).
08:04:24 <oren> neoletters has been updated with better arabic
08:09:30 <oren> it also now includes two letters from the language "poliespo" invented by a esperantist murderer
08:14:18 <oren> specifically "overstruck p and w" and "overstruck t and v"
08:14:39 <oren> encoded at  and  respectively
08:29:18 <esowiki> [[User:Salpynx]] https://esolangs.org/w/index.php?diff=70776&oldid=63150 * Salpynx * (+104) /* Languages I have created */ Isthmus Cyclicus Crypticus
08:38:58 <esowiki> [[Esolang talk:Community portal]] https://esolangs.org/w/index.php?diff=70777&oldid=62050 * IFcoltransG * (+292) /* (idea)Introducing SyntaxHighlight? */ Devil's advocate
08:50:31 -!- kspalaiologos has joined.
09:34:52 -!- Lord_of_Life_ has joined.
09:36:26 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
09:36:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
09:48:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
09:56:56 -!- arseniiv_ has joined.
10:01:27 -!- MDude has joined.
10:41:20 <cpressey> For a long time I've held this conjecture: the weakest computational class in which a self-interpreter can be written, is Turing-complete.
10:42:50 <cpressey> This was based on the observation that there is no primite-recursive function which can interpret arbitrary primitive recursive functions, and other examples like that.
10:43:11 <cpressey> But I've known this is just a conjecture, and I'm very interested in counter-examples.
10:43:55 <cpressey> And I think I found one the other day but I haven't looked into it yet.
10:45:26 <cpressey> http://compilers.cs.ucla.edu/popl16/
10:45:51 <cpressey> Which claims to be an interpreter for F_omega, written in F_omega.
10:46:33 <cpressey> Now, I also understand that F_omega is strongly normalizing, which means F_omega programs always terminate, which means F_omega is *not* Turing-complete.
10:48:10 <cpressey> Although what computability class F_omega represents, I don't know. I imagine that it is at least primitive recursive, and probably beyond primitive recursive to some degree. i.e. I would not be surprised if you could write the Ackermann function in F_omega. But again, I don't really know, yet.
10:50:30 <cpressey> I don't know much about F_omega except that it's one corner of the lambda cube. Wikipedia doesn't say much about it other than "From a computing point of view, λω is extremely strong, and has been considered as a basis for programming languages", which I guess would be consistent with this result.
10:51:14 <cpressey> Oh sorry, that's lambda_omega, not F_omega
10:51:31 <cpressey> WP says even less about F_omega.
10:52:18 <cpressey> What the heck is lambda_omega anyway.
10:53:36 <cpressey> Uh, sounds like F_omega and lambda_omega could be the same thing?
10:53:44 <cpressey> Well anyway.
10:54:55 <cpressey> I guess I should try to read the papers.
11:12:12 -!- xelxebar has joined.
11:18:36 -!- cpressey has quit (Quit: WeeChat 1.9.1).
11:23:59 -!- tromp has quit (Read error: Connection reset by peer).
11:24:13 -!- tromp has joined.
12:28:46 -!- cpressey has joined.
12:37:17 <cpressey> There is another, much older result related to that conjecture I mentioned earlier, which is this: there's a CFL that's "CFL-complete" in the sense that it's as least as complex to parse it, as it is to parse any other CFL. But I don't know if that counts as "universal" in the same sense as a self-interpreter does. It's certainly similar in some ways though.
12:39:15 <cpressey> Pretty sure that result was by Greibach in the 1970's though I can't find my notes on it atm.
12:47:53 <cpressey> Aha, found it: https://epubs.siam.org/doi/10.1137/0202025
12:50:09 <cpressey> IIRC, the CFG constructed in that paper takes a string and a description of a CFG and accepts iff the given CFG accepts the string.
12:50:43 <cpressey> Which sounds like a "universal CFG" to me.
12:56:18 <b_jonas> `olist 1199
12:56:18 <HackEso> olist 1199: shachaf oerjan Sgeo FireFly boily nortti b_jonas
12:57:48 -!- rain1 has joined.
13:14:51 -!- kiedtl has quit (Quit: Leaving).
13:17:04 -!- xelxebar has quit (Remote host closed the connection).
13:18:00 -!- xelxebar has joined.
13:20:36 <esowiki> [[EGSHEL]] M https://esolangs.org/w/index.php?diff=70778&oldid=68935 * LegionMammal978 * (-10) fixed link
13:22:17 <tromp> int-e: I think I properly fixed the proof for the generalized W rule, see latest commit
13:38:31 <esowiki> [[ESOPUNK]] M https://esolangs.org/w/index.php?diff=70779&oldid=58027 * LegionMammal978 * (+2) /* Interpreters */ updated link
13:44:49 -!- ais523 has joined.
13:45:06 <ais523> <cpressey> For a long time I've held this conjecture: the weakest computational class in which a self-interpreter can be written, is Turing-complete. ← what about "the language where all programs do nothing"? that can self-interpret
13:45:11 -!- kritixilithos has joined.
13:45:14 <ais523> and has a very weak computational class
13:45:24 <ais523> I think the question needs to be formulated more precisely, but am not sure how
13:45:58 -!- birdt has joined.
13:47:05 <int-e> Nah that's probably just false... there seems nothing in a self-interpreter that makes a language more expressive than it already is.
13:47:16 <int-e> (You can add it as a primitive if all else fails.)
13:47:44 <esowiki> [[ETalk]] M https://esolangs.org/w/index.php?diff=70780&oldid=13379 * LegionMammal978 * (+14) fixed title
13:48:03 -!- birdt has quit (Quit: Fucking off.).
13:48:30 <ais523> ah right, "weak language + self-interpreting primitive" makes for another good counterexample
13:49:03 <ais523> I was also going to mention things like Easy but I think that's naturally TC
13:49:16 <ais523> given that it embeds BF
13:51:44 <int-e> I'm not saying it's not an interesting question though. Also the question of what adding self-interpretation does to a model of computation may be interesting, too. For example, it seems that PR (primitive recursion) + interpreter for PR (with a sane encoding for functions that can be manipulated with primitive recursive functions) goes beyond PR (because it escapes the leveling restriction).
13:53:16 <kspalaiologos> `? olist
13:53:18 <HackEso> olist is update notification for the webcomic Order of the Stick. http://www.giantitp.com/comics/ootslatest.html
13:53:23 <kspalaiologos> lmao what
13:53:57 <int-e> (Actually, if we call that PR'... PR' is not obviously capable of self-interpretation. I suspect it's not...)
13:55:00 <int-e> kspalaiologos: there's a few of those
13:55:50 <int-e> `? slist
13:55:52 <HackEso> Update notification for the webcomic Homestuck.
13:55:54 <int-e> `? smlist
13:55:56 <HackEso> Non-update notification for the webcomic Super Mega.
13:56:03 <int-e> `listlist
13:56:06 <HackEso> FireFlist* \ aglist* \ bardsworthlist* \ bobadventureslist* \ calesyta2016list* \ danddreclist* \ don'taskdon'ttelllist@ \ dontaskdonttelllist* \ ehlist* \ emptylist* \ erflist* \ flist* \ idealist* \ ioccclist* \ keenlist* \ list* \ listen* \ listlist* \ llist* \ makelist* \ makelistlist* \ minimalist* \ mlist* \ olist* \ pbflist* \ slist* \ smlist* \ stylist* \ testlist* \ xkcdwhatiflist* \ ysaclist*
13:56:17 <kritixilithos> `listlistlist
13:56:18 <HackEso> listlistlist? No such file or directory
13:56:29 <int-e> heh, stylist
13:56:52 <int-e> `? calesyta2016list
13:56:53 <HackEso> calesyta2016list? ¯\(°​_o)/¯
13:57:00 <int-e> this one can probably be removed :P
13:57:08 <int-e> `? mlist
13:57:09 <HackEso> mlist? ¯\(°​_o)/¯
13:57:30 <int-e> `hbrl mlist
13:57:31 <HackEso> hbrl? No such file or directory
13:57:35 <int-e> aww
13:57:40 <int-e> `hurl ../bin/mlist
13:57:41 <HackEso> https://hack.esolangs.org/repo/log/tip/bin/mlist
13:59:37 <cpressey> int-e: in "the language where all programs do nothing", all programs are self-interpreters. You could add "non-trivial" to exclude this.
14:01:25 <int-e> "mlist" is obscure... https://esolangs.org/logs/2013-03-03.html#lRj ... I don't get it.
14:01:48 <int-e> cpressey: ais523 made that point; I actually made it non-trivial.
14:01:53 <cpressey> And much like how we can forbid "cheating quines" like 10 LIST 10 in BASIC, we can forbid any language that has a "self-interpret instruction".
14:02:15 <int-e> that's hard though
14:02:29 <cpressey> Any language where you have a self-interpret instruction, but it's not *obviously* a self-interpret instruction, is fair game
14:03:41 <cpressey> int-e: I was alluding to the technical meaning of "non-trivial" like it's used in Rice's theorem, but yes, ok, whatever, it's not important
14:03:59 <cpressey> Oh sorry yes
14:04:01 <int-e> There's a huge spectrum between strange machines that accidentally can interpret your language to something like a bytecode interpreter to interpreting the language itself.
14:04:09 <cpressey> I meant to reply to ais523
14:04:54 <int-e> Arguably you want to draw the line between the first two categories, and that seems to be very hard to capture formally to me.
14:05:18 <cpressey> I'd be interested to know what languages F_omega can and can't recognize
14:05:54 <cpressey> It must be more than PR, but less than RE
14:06:07 <int-e> `? F_ω
14:06:09 <HackEso> F_ω? ¯\(°​_o)/¯
14:06:15 <int-e> (I should probably know this)
14:06:33 <int-e> eg https://en.wikipedia.org/wiki/System_F#System_F%CF%89
14:08:07 <cpressey> Ah, there's also an implementation of Coq in Coq, which (assuming it's legit and not cheating somehow) suggests a similar thing might stand for that other corner of the lambda cube
14:10:28 <b_jonas> cpressey: in "http://www.madore.org/~david/weblog/d.2017-08-18.2460.html" the article that defines the (0) esolang, David Madore explains how you should define "self-interpreter" in a language that can't self-interpret in a traditional sense, like one that has only the power of primitive recursive
14:11:48 <b_jonas> in particular, if you restrict (0) to integer inputs, it's exactly as powerful as primitive recursive (BLoop), but he needs more generality than that there
14:13:37 <b_jonas> namely he wants to know what the easiest way is to prove that certain of those languages are equipowerful, and their computational complexity isn't as well known as the primitive recursive or the turing complete thing, and the only proof he knows is a really difficult one via such a full interpreter, which is annoying
14:21:48 <int-e> cpressey: Does it show that though? You'd have to check what kind of axioms the formalization uses.
14:25:57 <cpressey> int-e: That's what I meant by "assuming it's legit". I was in fact assuming it was invoking some kind of cheat, until I came across the F_omega self-interpreter paper - now I'm not so sure.
14:26:54 <cpressey> Well, I'm not convinced the F_omega thing isn't cheating somehow too. But I really just need to sit down and read it.
14:28:49 -!- rain1 has quit (Quit: Lost terminal).
14:38:36 <cpressey> int-e: Wait though. Say you have an interpreter for language L, and L is in computational class C. Then you add a self-interpret instruction to L to obtain L'. L' might no longer be in computational class C. So you haven't shown anything about computational class C by doing this.
14:39:02 <cpressey> (This is in response to your "That's probably just false".)
14:39:10 <int-e> Been down that path (see PR' above)
14:39:47 <int-e> Obviously the self-interpreter should take itself into account. This /may/ push it into RE territory.
14:40:31 <int-e> (because at least naively it involves some sort of fixed point)
14:41:14 <cpressey> OK, yes. I was thinking "add to L an instruction that interprets L programs", that's not quite the same thing
14:42:02 <int-e> Yes, there are lots of knobs to tweak here.
14:47:24 <esowiki> [[Element]] M https://esolangs.org/w/index.php?diff=70781&oldid=69991 * LegionMammal978 * (-20) /* Interpreter */ fixed link
14:56:08 -!- MDude has quit (Ping timeout: 258 seconds).
14:56:26 -!- MDude has joined.
15:05:23 <ais523> I find it hard to see how Coq could self-interpret, assuming it's consistent
15:05:35 <ais523> if it's consistent it can't typecheck itself, thus it can't prove a Coq program is total
15:05:51 <ais523> this means that you can't prove that the self-interpreter itself exits, so the program as a whole won't typecheck
15:07:41 <int-e> isn't type checking still decidable
15:07:51 <int-e> (in CoC)
15:08:27 <ais523> int-e: yes, but you need something more powerful than the CoC itself to decide it
15:08:44 <b_jonas> ais523: see above, there's an alternate definition for self-interpreter that works for self-interpreters in languages like BLoop
15:08:59 <esowiki> [[Asm2bf]] https://esolangs.org/w/index.php?diff=70782&oldid=70106 * Palaiologos * (+540) up-to-date stuff
15:09:26 <ais523> b_jonas: I'm really slow at reading French though
15:09:28 <b_jonas> ais523: basically you define a function that takes a program and a number, and the function interprets the program except it stops after as many steps as that number
15:09:33 <ais523> and need to look up words sometimes
15:09:36 <b_jonas> the number is called fuel
15:09:43 <b_jonas> yes, me too
15:09:46 <ais523> b_jonas: ah right, the "run this program for this many steps" function
15:09:52 <ais523> that's much easier to implement than a true self-interpreter
15:10:12 <b_jonas> "easier" hehe
15:10:17 <int-e> Hmm, do the inductive definitions add power?
15:10:20 <ais523> kspalaiologos: aren't there six general-purpose registers now?
15:10:30 <ais523> the article still says four, and then names six of them
15:10:30 <kspalaiologos> yes yes
15:10:35 <kspalaiologos> I may have overlooked that
15:10:40 <kspalaiologos> sorry
15:10:55 -!- arseniiv has joined.
15:11:02 <esowiki> [[Asm2bf]] https://esolangs.org/w/index.php?diff=70783&oldid=70782 * Palaiologos * (-1)
15:11:05 <kspalaiologos> done
15:11:09 <ais523> it's OK, I just thought I'd let you know the mistake while you're around to fix it
15:11:14 <kspalaiologos> yes, thanks
15:11:20 <kspalaiologos> I really appreciate it
15:11:34 <ais523> a long time ago I was writing my own asm-for-BF, and a gcc backend to targe it
15:11:45 <ais523> but the code has been lost, I think, due to gcc being too large to fit in my backups
15:11:50 <kspalaiologos> cool, what kind of ISA did you have?
15:11:54 <ais523> also I remember I stalled trying to find a good multiplication algorithm
15:11:55 <kspalaiologos> I'
15:12:12 <kspalaiologos> m going to either for Watcom C or my own compiler
15:12:23 <ais523> the ISA was very bf-specific, it contained instructions like tadd x, y (which sets x to x + y and y to 0)
15:12:38 <kspalaiologos> also I've made a c=>brainfuck compiler before supporting C89, but it outputs too big binaries to be reasonable
15:12:41 <ais523> and the stack pointer was magical
15:12:44 <kspalaiologos> haha
15:12:44 -!- arseniiv_ has quit (Ping timeout: 265 seconds).
15:12:54 <kspalaiologos> you actually dont need a stack pointer
15:12:57 <kspalaiologos> believe me or not
15:13:05 <ais523> anyway, gcc wasn't as flexible as I wanted, it made too many assumptions which weren't correct in a BF context
15:13:15 <kspalaiologos> yeah I'm working with Watcom C for a while now
15:13:20 <ais523> kspalaiologos: I think you do if you want to work with gcc's backend
15:13:27 <ais523> it's quite hard to get pre-existing C compilers to implement recursion without one
15:13:36 <ais523> (even though it is of course theoretically possible, they just aren't set up to use alternative methods)
15:13:44 <kspalaiologos> outputs simple yet beautifully small 8086 assembly
15:13:53 <kspalaiologos> I've got a push/pop only stack for now
15:13:59 <kspalaiologos> I plan or adding effective adresses soon
15:14:11 <kspalaiologos> so you can like do [sp-5] to get 5th element from the top
15:14:12 <ais523> oh, the stack pointer as a non-accessible register
15:14:14 <ais523> I think I did it like that too
15:14:17 <kspalaiologos> but sp isn't actually a register
15:14:24 <kspalaiologos> it doesn't exist and the value is unknown
15:14:29 <kspalaiologos> yet it still works ;)
15:14:36 <ais523> I had 64 general-purpose registers because general-purpose registers are cheap in BF
15:14:47 <ais523> (I was targeting a BF interpreter that used RLE optimization internally)
15:14:58 <kspalaiologos> I've split the memory into permagen with registers and temps, stack of definable size and peek/poke taperam
15:15:24 <kspalaiologos> now I'm working on general fixes involving infrastructure to make it more welcoming to beginners (although there aren't any)
15:15:39 <ais523> my split was GP registers, followed by interleaved stack and heap and temps
15:15:50 <kspalaiologos> interesting
15:15:57 <ais523> (most of the temps were for navigational purposes, to remember where you were when moving between GP registers and stack/heap)
15:15:58 <kspalaiologos> my stack and taperam are actually separate from each other
15:16:06 <kspalaiologos> yeah
15:16:17 <kspalaiologos> as far as I remember my permagen is just 20 brainfuck cells big
15:16:22 <kspalaiologos> and it supports very complex operations
15:16:37 <kspalaiologos> and soon I plan on creating a virtual machine that would hint the brainfuck interpreter about the assembly code so you can debug asm2bf eaisly and test your programs
15:17:00 <ais523> I vaguely remember a point in the code where I multiplied something by 128 to determine whether it was odd or even
15:17:06 <ais523> so I assume I was targetting 8-bit wrapping
15:17:08 <kspalaiologos> haha
15:17:12 <kspalaiologos> right
15:17:24 <kspalaiologos> my ISA assumes 16-bit cells, but it runs just fine on smaller cells aswell
15:17:31 <kspalaiologos> and on bignum cells too
15:17:52 <kspalaiologos> because it becomes a bit hairy if you run an 8bit interpreter, because you can index just 256b of taperam
15:18:25 <kspalaiologos> but I've got a bconv program that translated 16-bit compiliant bf code to 8bit compiliant one
15:18:28 <ais523> I used multiple consecutive cells to hold addresses
15:18:32 <ais523> just like real CPUs do
15:18:49 <kspalaiologos> ^ we don't use segment:offset adressing since 90's :p
15:19:00 <kspalaiologos> a relic of the past, 64-bit adress lines are here
15:19:13 <kspalaiologos> but I've implemented segments as well
15:19:16 <kspalaiologos> for god knows what reason
15:19:18 <ais523> well, we still use multiple consecutive bytes to hold our 64-bit addresses
15:19:18 <esowiki> [[RarVM]] M https://esolangs.org/w/index.php?diff=70784&oldid=68928 * LegionMammal978 * (+14) fixed title
15:19:26 <kspalaiologos> yes but you've got cells in brainfuck
15:19:33 <ais523> hmm, now I'm wondering what the fastest algorithm to seek to a cell by number is
15:19:36 <kspalaiologos> and a cell doesn't map to a byte really
15:19:58 <kspalaiologos> you can look it up in my code
15:20:04 <ais523> you'd want to drag the number with you rather than going back each time to decrement it
15:20:12 -!- imode has joined.
15:20:27 <kspalaiologos> yeah possibly
15:20:36 <kspalaiologos> but I'll make a VM that will execute these programs faster
15:20:50 <kspalaiologos> so it doesn't bother me at all, because it works as brainfuck and VM is just a performance perk
15:21:03 <kspalaiologos> the same will go with my to-malbolge-private-compiler-suite
15:21:55 <kspalaiologos> I plan on implementing aliases rn
15:22:11 <kspalaiologos> like this: https://pastebin.com/raw/xdEqY8x4
15:22:24 <ais523> another thing I've been thinking about is SSA compilation of counter machines (including balanced parts of brainfuck programs)
15:22:27 <ais523> or arguably "decompilation"
15:22:36 <kspalaiologos> aa right
15:22:40 <kspalaiologos> I once got interested in this
15:22:47 <kspalaiologos> but never got to creating such a tool to perform this
15:23:09 <kspalaiologos> because I laid a lot of requirements (like the brainfuck to 2/3 register counter machine compiler)
15:23:36 <kspalaiologos> no sorry
15:23:43 <ais523> I started, but got stuck because I didn't have clear enough rules for what was allowed to refer to what and what changed in the PHI nodes
15:23:44 <kspalaiologos> I meant inf cell brainfuck to 3 cell brainfuck
15:23:53 <kspalaiologos> whats a phi node
15:24:01 <ais523> http://nethack4.org/pastebin/ssapmmn.tar.gz if you (or anyone else) is interested
15:24:18 <ais523> kspalaiologos: well, the point of SSA is that nothing ever changes, you create new variables rather than overwriting old ones
15:24:31 <ais523> but if the program contains any loops, at some point you have to overwrite an old variable with a new value
15:24:37 <ais523> because you only have finitely many
15:24:49 <kspalaiologos> good old C code utilizing lex/yacc
15:24:53 <kspalaiologos> that's what I wanted to see today
15:24:58 <ais523> and a phi node is one of the tricks used to do that, it defines a variable to mean one of two different things depending on the history of the code's control flow
15:25:03 <kspalaiologos> love it already without reading the code
15:25:17 <kspalaiologos> how do you want to analize the control flow history
15:25:28 <ais523> I don't think I understand it well enough to implement it correctly :-D
15:25:51 <kspalaiologos> it
15:25:55 <kspalaiologos> 's massive though
15:26:10 <ais523> but if you view things at the asm level, it's as simple as putting a phi node at a goto target and checking to see whether you got there via goto or via falling into it
15:26:22 <kspalaiologos> also I wonder is there a C interpreter for rle-based brainfuck already
15:26:25 <kspalaiologos> or I'll have to code it myself late
15:26:31 <ais523> there are loads, I think
15:26:38 <kspalaiologos> because rn I'm decompressing the code and then running it but it's stupid very
15:26:42 <ais523> the problem being that there are /so many/ BF interpreters that finding the right one is hard
15:26:48 <kspalaiologos> yep
15:27:29 <ais523> you could probably just modify a BF Joust interpreter, RLE is part of the spec in BF Joust (although timing is also part of the spec so they will loop over RLEd sections one command at a time)
15:27:41 <ais523> the bigger problem would be finding an optimizing interpreter that takes RLE as input
15:30:42 <ais523> I've been meaning at some point to redo SSAPMMN but with more rigorous rules for how the internal asm-like format works, and accepting languages like BF, The Waterfall Model, etc., not just PMMN
15:50:50 <b_jonas> ais523: Bill Buzbee's retargeting a C compiler to Magic-1 is like that. Magic-1 has an accumulator instr set, sort of like 6502, so he lied to the compiler that there are 8 gp registers, but those are actually in memory
15:50:58 <b_jonas> http://www.homebrewcpu.com/
15:51:43 <b_jonas> only Magic-1 does not have zero-page addressing
15:51:53 <esowiki> [[EnilKode]] https://esolangs.org/w/index.php?diff=70785&oldid=69288 * EnilKoder * (-41)
15:58:24 <kspalaiologos> yes I've seen that going on
15:58:28 <kspalaiologos> it's quite normal
15:58:40 <kspalaiologos> when implementing Subleq to Brainfuck translator/interpreter (yes)
15:58:44 <kspalaiologos> that's what I did
16:11:01 -!- diverger has quit (Ping timeout: 264 seconds).
16:13:27 -!- diverger has joined.
16:23:39 -!- Phantom__Hoover has quit (Ping timeout: 260 seconds).
16:41:08 -!- cpressey has quit (Quit: WeeChat 1.9.1).
16:56:03 -!- xelxebar has quit (Write error: Connection reset by peer).
16:56:49 -!- xelxebar has joined.
17:12:03 -!- xelxebar has quit (Ping timeout: 240 seconds).
17:14:01 -!- xelxebar has joined.
17:28:37 -!- tromp has quit (Ping timeout: 260 seconds).
17:29:39 -!- tromp has joined.
17:58:25 -!- sprocklem has quit (Ping timeout: 264 seconds).
17:59:37 -!- sprocklem has joined.
17:59:39 <esowiki> [[First.go]] M https://esolangs.org/w/index.php?diff=70786&oldid=55956 * LegionMammal978 * (+14) fixed title
18:05:22 <int-e> tromp: https://int-e.eu/~bf3/AIT/ is what I've been playing with (Kolmogorov complexity with open (self-delimited) inputs). The equivalent of pairup is 853 bits at the moment; I think that's not too bad compared to the 657.
18:05:43 <int-e> (for KP)
18:06:37 <int-e> tromp: I'll look at the proof over the weekend. I think I want to have a look at the April Ponder This challenge first.
18:10:05 <tromp> i should look at that Ponder too
18:15:00 -!- FreeFull has quit (Quit: reboting).
18:17:20 <int-e> tromp: you might enjoy https://int-e.eu/~bf3/AIT/I1_c.lam which is a 71 bit length function (which is a bit shorter than what I've found in the AIT repo).
18:17:52 <int-e> err, make that 69
18:50:29 -!- ARCUN has joined.
18:54:45 <esowiki> [[FuckbeEs]] M https://esolangs.org/w/index.php?diff=70787&oldid=53228 * LegionMammal978 * (+14) fixed title
19:02:43 -!- noomy has changed nick to MoonyTheDwarf.
19:03:05 -!- kmc has changed nick to kmcallister.
19:03:07 -!- kmcallister has changed nick to kmc.
19:03:07 -!- MoonyTheDwarf has changed nick to noomy.
19:05:02 <ais523> b_jonas: if the registers are actually in memory, why not have lots of them? register spills are a disaster in such an architecture because you're copying things from one memory location to another for no good reason
19:05:19 <kspalaiologos> actually, I'd say otherwise
19:05:22 <ais523> and providing additional registers in such an architecture is very cheap
19:05:51 <ais523> in RLE'd BF, providing additional registers is actually free because seeking to a fixed address has a constant cost regardless of the distance
19:06:06 <kspalaiologos> I mean if you're keen on making zillions of registers, then go ahead and index the whole tape
19:06:16 <kspalaiologos> but remember that you need a stack and taperam going
19:06:24 <kspalaiologos> and this makes things hairy
19:06:28 <kspalaiologos> why not operate on memory references then
19:06:31 <kspalaiologos> instead of registers
19:06:40 <kspalaiologos> add [0], [3]
19:06:57 <ais523> if the memory addresses have fixed locations on the tape then that's fine
19:07:04 <ais523> but I don't see a reason why they necessarily would
19:07:08 <kspalaiologos> they can be arbitrary aswell
19:07:23 <kspalaiologos> and if you're feeling eccentric enough, they can be nested
19:07:50 <ais523> I think I can see an argument for a zero-register construction
19:08:05 <ais523> I can't see an argument for a construction that has a number of general-purpose registers that's greater than zero, but small, though
19:08:40 <kspalaiologos> I've got 6 registers now
19:08:45 <kspalaiologos> and I think it's surely enough, at least for the time being
19:08:58 <kspalaiologos> I'm sure I'll extend it the later day, but remember that RLE'd brainfuck ain't a standard
19:09:16 <kspalaiologos> I've gone exactly through the same mindset as you, so my C compiler produces a 12MB brainfuck binary :v)
19:09:32 <kspalaiologos> *"binary" <- not a binary actually, just the output file
19:10:09 <kspalaiologos> I plan on adding a register or two for effective adresses
19:10:17 <kspalaiologos> and a couple of registers for the floating point operations
19:11:01 <ais523> how do you implement multiplication, btw? just a repeated addition loop?
19:11:14 <ais523> part of my motivation for using an 8-bit tape was to prevent operations like that being very slow
19:11:21 <kspalaiologos> 1[d+1-]d[2[1+e+2-]e[2+e-]d-]
19:11:38 <ais523> right, that looks like a repeated addition loop to me
19:11:41 <kspalaiologos> I preserve the registers aswell
19:11:44 <ais523> I felt that that wouldn't have the sort of performance I wanted
19:11:53 <kspalaiologos> what more do you want, I doubt one can do something about it
19:12:05 <kspalaiologos> and if it's actually possible to do that in a better way
19:12:09 <kspalaiologos> I'll happily learn how
19:12:39 <ais523> I'm not sure you can do something about it, either
19:12:48 <ais523> this is the point at which I gave up on my C-to-BF compiler
19:12:55 <ais523> because i couldn't find a solution to this that I was satisfied with
19:13:22 <ais523> ofc, optimizing BF compilers will recognise that sort of multiply and optimize it out anyway
19:13:30 <ais523> so maybe it isn't a real issue in practice
19:13:56 <kspalaiologos> >worrying about brainfuck code performance
19:14:00 <kspalaiologos> well
19:14:25 <spruit11> Anyone here who could support an arxiv submission of an Egel paper of mine?
19:14:30 <ais523> why can't I worry about BF performance?
19:14:49 <kspalaiologos> you obviously can
19:14:51 <ais523> spruit11: oerjan is the first name that comes to mind, but isn't here at the moment
19:14:54 <kspalaiologos> but I can't find a point for this
19:15:10 <spruit11> How do I contact oerjan?
19:15:14 <ais523> of course, it would rather depend on how eso the paper was
19:15:14 <kspalaiologos> use @tell
19:15:32 <ais523> fizzie might be able to? not sure
19:15:39 <kspalaiologos> I mean - brainfuck isn't the best language for writing at least mildly performant applications in it's pure form
19:15:49 <kspalaiologos> and to do something more interesting and fast you have to extend it
19:15:53 <kspalaiologos> and it's a defeat of the purpose
19:16:00 <ais523> kspalaiologos: I see programming as communication, you're trying to tell a computer (or another human) what you mean
19:16:04 <spruit11> @tell oerjan Could, or would, you be so kind to support an arxiv submission of a paper I wrote?
19:16:04 <lambdabot> Consider it noted.
19:16:16 <spruit11> Thanks people.
19:16:34 <ais523> and that allows for optimization at both ends of the computation, both for the person writing it, and for the computer understanding it
19:16:45 <kspalaiologos> ais523, that's right, and that's a good mindset
19:16:58 <ais523> BF is a particularly simple form of programming, but a fully general one, so getting humans to be able to express ideas more efficiently, and computers to be able to understand and run them more efficiently, seems valuable
19:17:12 <kspalaiologos> OISC?
19:17:16 <kspalaiologos> simpler form of programming
19:17:29 <ais523> I care about OISCs too!
19:17:44 <kspalaiologos> I used to have a very similliar mindset on programming back in the day
19:17:53 <ais523> actually, most of the esolangs I care about are either a) simpler than BF in some senses, or else b) particularly interesting ways of conveying information about what you mean
19:18:21 <kspalaiologos> interesting
19:18:28 <kspalaiologos> for instance, which languages?
19:18:47 <ais523> Brachylog is one of my favourite languages
19:19:03 <ais523> it gets further than most languages at allowing you to express the problem, rather than having to describe a solution to it
19:19:39 <kspalaiologos> and brachylog solves the problem, right?
19:19:59 <ais523> right, given a description of the problem, it attempts to determine a solution to it without being explicitly told an algorithm
19:20:04 -!- ARCUN has quit (Remote host closed the connection).
19:20:09 <ais523> it isn't perfect at doing this, but it's better than most non-esolangs and almost all esolangs
19:20:25 <kspalaiologos> wait
19:20:27 <ais523> this has made it a particularly good language for programming competitions
19:20:30 <kspalaiologos> let's get to normal Prolog for a second
19:20:43 <ais523> normal Prolog is also pretty good at this, but it's rather low-level
19:20:58 <ais523> and you often have to pay attention to how it works internally to make your programs work
19:21:11 <kspalaiologos> are there some higher-level extensions?
19:21:29 <ais523> yes, Brachylog incorporates at least one (a constraint solver for integer arithmetic)
19:21:37 <kspalaiologos> that not necessairly make the engine create an O(N^N^N^N^N^N) solution
19:21:37 <ais523> also, its standard library just understands more concepts
19:21:48 <ais523> oh, performance is, of course, a huge issue when doing this sort of thing :-D
19:22:03 <kspalaiologos> for instance, what about a factorial
19:22:11 <kspalaiologos> what kind of algorithm will it come up
19:22:16 <kspalaiologos> (in terms of complexity)
19:22:33 <ais523> `! brachylog 100ḟ
19:22:35 <HackEso> ​ \ true.
19:22:38 <ais523> `! brachylog 100ḟw
19:22:39 <HackEso> 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 \ true.
19:22:47 <kspalaiologos> because I'm starting to find the potential for this
19:22:49 <ais523> the thing is, Brachylog already knows what a factorial is
19:22:57 <ais523> (unlike Prolog)
19:23:08 <kspalaiologos> man, for example one could solve like logical riddles or something like that using prolog
19:23:11 <kspalaiologos> that's actually amazing
19:23:31 <kspalaiologos> and it would be ten times more amazing if it fit on my TI-83+
19:23:56 <ais523> `! brachylog 100⟦₁×w
19:23:58 <HackEso> 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 \ true.
19:24:07 <ais523> there, that's without using the builtin
19:24:17 <ais523> "product of all the numbers from 1 to 100 inclusive"
19:24:59 <ais523> `! brachylog ⟦₁×93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000&w
19:25:01 <HackEso> 100 \ true.
19:25:09 <kspalaiologos> interesting
19:25:10 <ais523> see, you can't do /that/ from the definition in most languages
19:25:16 <ais523> and the performance still seemed to be pretty good
19:25:26 <ais523> `! brachylog ⟦₁×93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000001&w
19:25:32 <ais523> just curious as to whether it realises that's impossible
19:25:39 <kspalaiologos> can you write a program that calculates factorial of 1,000 and displays how many digits does it have?
19:25:40 <ais523> this is one of the biggest problems with Brachylog
19:25:55 <kspalaiologos> I want to "test" something
19:26:03 <HackEso> No output.
19:26:05 <kspalaiologos> mostly on tio.run, I won't kill HackEso xD
19:26:05 <ais523> `! brachylog 1000ḟlw
19:26:10 <HackEso> 2568 \ true.
19:26:15 <kspalaiologos> cool
19:26:39 <ais523> I'm basically 100% sure it actually calculated every digit, then counted them
19:26:46 <ais523> rather than doing anything to optimize the calculation
19:27:29 <ais523> Brachylog's biggest downside is that it the algorithms it uses look only locally, it knows what it's doing for each individual command in the program but looks at them in order and doesn't handle any sort of long-range optimization
19:28:51 <ais523> the syntax takes a bit of getting used to, too, but that's common with esolangs
19:29:19 <kspalaiologos> Brachylog: Real time: 1.940 s C: Real time: 0.286 s
19:29:26 <kspalaiologos> Factorial of 1000
19:29:36 <kspalaiologos> I mean that's understandable that it took around 10 times more time
19:29:45 <kspalaiologos> because it's very convenient to write
19:30:01 <ais523> what bignum library is the C program using?
19:30:03 <kspalaiologos> but I wouldn't make long term computations in it
19:30:05 <ais523> I'd expect that to dominate the time
19:30:07 <kspalaiologos> no bignum library
19:30:23 <ais523> oh, then the C program is probably just calculating the low 32/64 bits
19:30:25 <kspalaiologos> I just wrote a tiny multiplication algorithm over char array
19:30:32 <kspalaiologos> I'm not this foolish :p
19:30:38 <ais523> ah, so a handrolled bignum library
19:30:44 <kspalaiologos> it's literally 20 lines long
19:30:50 <ais523> seems about right
19:31:00 <kspalaiologos> numba's stored as base256
19:31:50 <ais523> anyway, it's clear to me that a "more intelligent" brachylog-alike could realise that 100!+1 is not the factorial of any number (e.g. by realising the factorial function is increasing)
19:32:14 <kspalaiologos> I doubt one would put time in this
19:32:20 <ais523> but our current declarative languages aren't up to the task of realising that and will keep brute-forcing possibilities for ever larger numbers forever
19:32:25 <kspalaiologos> I'd train an AI to solve these riddles for me because it's more probable
19:32:45 <ais523> hmm, /isn't/ this training an AI to solve riddles for you, in a way?
19:32:58 <kspalaiologos> you don't train an AI
19:33:02 <kspalaiologos> you just feed it data :p
19:33:14 <kspalaiologos> also the AI has been trained manually by prolog developers
19:33:18 <kspalaiologos> so it's kinda pants
19:33:37 <esowiki> [[Special:Log/newusers]] create * Galapagos * New user account
19:33:40 <ais523> ah, hmm
19:33:50 <ais523> there's a difference between strong AI, which figures things out itself from training data
19:34:00 <ais523> and weak AI which has more things hardcoded and is more specialised to one particular job
19:34:02 <kspalaiologos> I know nothing about AI
19:34:09 <kspalaiologos> don't speak the language of aliens to me
19:34:55 <kspalaiologos> I wish I knew more about theory of CS
19:35:11 <kspalaiologos> but never got around to learning it, because the sources are a bit uncomprehendable
19:35:23 <kspalaiologos> and even if the sources, there was no one to learn me it
19:35:27 <kspalaiologos> *teach
19:35:37 <ais523> well, CS theory is my job
19:35:43 <ais523> but it's a very big field, and I'm only interested in parts of it
19:35:47 <kspalaiologos> aren't you a harp tuner?
19:35:59 <kspalaiologos> I swear someone has been harp tuner over there
19:36:04 <kspalaiologos> `q harp
19:36:06 <HackEso> 1280) <ais523> hmm, I just remembered that I was formally trained to tune harps
19:36:17 <kspalaiologos> a, only formally trained, ok
19:36:17 <ais523> kspalaiologos: I was formally trained to tune harps, that doesn't mean it's my current job (or indeed that I've ever done it for money)
19:36:29 <ais523> it's more just a random fact
19:36:37 <kspalaiologos> fine :p
19:37:04 <kspalaiologos> how exactly do you monetise your CS knowledge
19:37:14 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70788&oldid=70774 * Galapagos * (+254) /* Introductions */
19:37:24 <ais523> in my case, it's more like monetising my esolang knowledge
19:37:29 <kspalaiologos> haha
19:37:33 <ais523> when a CS researcher comes up with an idea for a new style of programming
19:37:36 <kspalaiologos> I wish I found a way to do that
19:37:38 <ais523> they need someone to test it out and see if it could work
19:37:57 <ais523> and, well, there aren't that many people who are up for programming in newly invented languages, especially if they have to implement the language too
19:38:09 <kspalaiologos> so you're essentially a guinea pig for CS researchers?
19:38:20 <ais523> right, or was; my current job's drifted away a bit from that
19:38:29 <kspalaiologos> one can't write Brainfuck-based casino software forever :p
19:38:54 <kspalaiologos> `? kspalaiologos
19:38:55 <HackEso> kspalaiologos is a brainfuck addict and a late night Perl hacker. He's secretly disassembling brainfuck code for a casino that lost the source code. Apparently knows the secret of Malbolge.
19:38:57 <kspalaiologos> it's still here
19:39:09 <ais523> hmm, this implies that the casino compiled to BF
19:39:14 <ais523> which seems like an odd thing to do
19:39:26 <ais523> (otherwise, their BF code would /be/ the source code)
19:39:44 <kspalaiologos> yes thats right
19:40:02 <kspalaiologos> but they didn't tell me the name of tool
19:40:05 <kspalaiologos> it seemed decent
19:40:16 <kspalaiologos> supossedly the developer took it with him lol
19:40:25 <ais523> I love the idea that BF is fulfilling a similar role in industry as BANCStar
19:40:41 <ais523> or I should say "commerce", casinos aren't very industrial
19:40:49 <kspalaiologos> what is this
19:40:51 <kspalaiologos> BANCStar?
19:41:07 <ais523> it's basically a (really terrible) bytecode format that was used as the backend for some sort of commercial GUI program
19:41:19 <ais523> but the frontend that compiled to it was bad enough that people started programming in BANCStar directly
19:41:38 <kspalaiologos> lmao
19:41:39 <ais523> it's generally considered one of the worst programming languages to exist, other than ones which were intentionally created as bad (maybe even then, because it has less of an excuse)
19:41:41 <kspalaiologos> why was it invented
19:41:54 <kspalaiologos> what about COBOL or JavaScript
19:41:57 <kspalaiologos> they're terrible too
19:41:58 <ais523> the issue is that because it was a commercial product, nobody seems quite clear on the specs
19:42:05 <ais523> it is way worse than COBOL or JavaScript
19:42:21 <kspalaiologos> impossible
19:42:24 <kspalaiologos> let me look it up
19:42:32 <ais523> https://esolangs.org/wiki/BANCStar
19:42:46 <kspalaiologos> lmao what the hell is this
19:42:50 <kspalaiologos> what's the application of this
19:43:27 <kspalaiologos> I'd rather program in Malbolge
19:43:50 <ais523> <Wikipedia> BANCStar is a specialist computer programming language for financial applications.[citation needed] The language is an internal language for the National Financial Computer Services, Inc (later Broadway & Seymour) BANCStar application, which is software to automate the operations of a bank branch
19:44:04 <kspalaiologos> I knew that before
19:44:13 <kspalaiologos> but is there something like specific
19:44:18 <kspalaiologos> a name of software written in it
19:44:20 <kspalaiologos> a screenshot, photo
19:45:08 <ais523> actually, BANCStar was the name of the software written in it, but became attached to the language itself somehow
19:45:21 <ais523> the language itself was originally called "screen code" but it isn't a very memorable or searchable name
19:45:43 <ais523> it was intended to write user interfaces for banks, we don't know all that much beyond that though
19:46:20 <kspalaiologos> if I was the guy who wrote it
19:46:21 <zzo38> Some things have been figured out by looking at the existing programs, although some things are unknown, and some people (including myself) disagree about the ideas of what some of the commands are supposed to mean.
19:46:36 <kspalaiologos> I wouldn't admit I made it
19:47:01 <ais523> I mean, it makes /slightly/ more sense as a bytecode format than a programming language, but it's clearly terribly designed for either role
19:48:12 <kspalaiologos> if I knew malbolge before
19:48:16 <kspalaiologos> like, how to program it
19:48:19 <ais523> anyway, your casino programmer probably compiled to BF in the hope that the casino wouldn't then be able to fire them
19:48:22 <kspalaiologos> without willingness to remove my eyes
19:48:25 <ais523> because nobody would be able to do anything with the resulting code
19:48:39 <kspalaiologos> they wanted to have a Brainfuck or Malbolge solution
19:48:44 <kspalaiologos> because security standards :v)
19:48:46 <ais523> so maybe BANCStar has a similar purpose? it looks like the sort of thing that would only be created by a large collaboration though
19:49:03 <ais523> I would think using BF or Malbolge would be security through obscurity more than anything else
19:49:25 <ais523> raw uncommented BF isn't that much harder to understand than raw uncommented machine code
19:50:09 <zzo38> I think BANCStar was legitimate, and may have been originally designed to write the code directly but the designer decided it wasn't very good for that purpose and so made the screen generator instead and then never documented the code.
19:50:21 <kspalaiologos> ha ha ha
19:50:25 <kspalaiologos> now tell me
19:50:29 <kspalaiologos> if I wrote this in malbolge
19:50:39 <zzo38> (Of course I don't know, so, I just guess.)
19:50:40 <kspalaiologos> would there be a person willing to reverse enginner it?
19:50:46 <kmc> what's this about a casino using bf?
19:50:48 <kspalaiologos> just for a financial gain of few hundred points
19:51:00 <ais523> kspalaiologos: there are definitely people who would try just for the challenge, I'm not sure how far they'd get before giving up
19:51:03 <kspalaiologos> *pounds
19:51:09 <kspalaiologos> :p
19:51:11 <ais523> note that I believe that Malbolge is considerably easier to read than it is to write
19:51:36 <ais523> because the hardest part in Malbolge is making everything fit together so that it's encryption-stable and keeping control of the C and D pointers
19:51:40 <kspalaiologos> yeah, a bit like that
19:51:45 <ais523> and a reader doesn't have to do that, only a writer
19:51:58 <kspalaiologos> you're missing a very important thing:p
19:52:20 <kspalaiologos> a decent safe malbolge program would be around 10MB
19:52:29 <kspalaiologos> consume around 4GB of RAM I presume
19:52:36 <ais523> most of it would be no-ops, though, wouldn't it?
19:52:41 <kspalaiologos> wrong
19:52:54 <ais523> or, well, you can't put a stable no-op everywhere
19:53:07 <kspalaiologos> they would act a bit like these
19:53:11 <ais523> so I guess much of it is code that doesn't do anything but is not obviously a no-op
19:53:12 <kspalaiologos> but they wouldn't be these
19:53:26 <kspalaiologos> we need to distinguish malbolge code and a bit optimized malbolge code
19:54:39 <ais523> that's a good point, though, distinguishing padding from useful code is going to be hard without prior knowledge of which is which
19:55:28 <kspalaiologos> yes
19:55:35 <kspalaiologos> sometimes you unroll the loop
19:55:39 <kspalaiologos> and it's viable
19:56:02 <kspalaiologos> you can view some malbolge samples and get a taste of this
19:56:11 <kspalaiologos> https://github.com/KrzysztofSzewczyk/codegolf-submissions
19:56:15 <kspalaiologos> there should be around 30 of them
19:56:20 <ais523> I haven't found a good environment for reading Malbolge yet
19:56:33 <ais523> raw Malbolge is hard to read, normalized Malbolge doesn't contain all the information you'd need and doesn't really help much
19:56:43 <kspalaiologos> there are normalized malbolge translators
19:56:46 <kspalaiologos> yeah
19:57:17 <kspalaiologos> tbh I didn't write any RE tooling for malbolge
19:57:19 <kspalaiologos> just compilers
19:57:40 <kspalaiologos> simple small abstraction layers
19:57:48 <kspalaiologos> peephole opt
19:58:49 <ais523> anyway, something like https://github.com/KrzysztofSzewczyk/codegolf-submissions/blob/master/60106.mb, I can tell that it's pretty NOP-heavy even without normalizing
19:59:34 <ais523> also, that appears to be not Malbolge, but rather HTML-escaped Malbolge
20:00:00 -!- kritixilithos has quit (Remote host closed the connection).
20:00:07 <ais523> but not everywhere, some lines aren't escaped
20:00:38 <ais523> now I'm curious as to how that happened
20:00:56 <kspalaiologos> lol
20:00:57 <kspalaiologos> what
20:01:19 <kspalaiologos> I genuinely have no idea
20:02:04 <kspalaiologos> there aren't this many nop slides cmon
20:02:13 <ais523> they aren't long slides
20:02:24 <ais523> more, you have 20 commands in a row and perhaps 14/15 of them are nops
20:02:48 <ais523> I think, at least, it's a pain working out which of the 8 sequences a given reverse-ASCII sequence is
20:03:09 <ais523> I must be one of the few people who tries to sightread Malbolge, and it's mostly just to confirm it as Malbolge and get a feeling of the shape of the code
20:03:24 <kspalaiologos> hah
20:03:26 <ais523> I haven't gotten very far programming in it, I mostly just help beginners on Stack Overflow
20:03:37 <kspalaiologos> you help beginners program malbolge on stackoverflow
20:03:38 <kspalaiologos> lmao
20:03:47 <kspalaiologos> also brb I'll be back in a second
20:03:49 <ais523> (the idea is to fix whatever misconception they had that was making them think it was easier than it actually is, then they give up)
20:04:00 -!- kspalaiologos has quit (Quit: Leaving).
20:04:23 <zzo38> My guess is that command 3100 in BANCStar means that if the condition isn't true then it is an error and you have to rekey the input.
20:04:45 <zzo38> (This guess is based on how the command is used in the known programs.)
20:05:32 <ais523> zzo38: I'm just intrigued that BANCStar manages to be /so/ horrible it drives a brainfuck and Malbolge developer away in horror
20:06:00 <ais523> although I guess neither brainfuck nor Malbolge was designed to be a bad language (although neither was BANCStar…)
20:06:09 <ais523> Malbolge was designed to be hard to program in, which is different from being bad
20:06:29 <ais523> I forget the exact goal brainfuck was optimizing for, but it was something related to size or simplicity
20:07:11 <tromp> int-e: I read your AIT notes. excellent research! your note say that I1_f uses KO(t|s) but I guess you mean KO(t|s*) ?
20:08:04 <int-e> tromp: KO(t|u) is defined in terms of u^* just like Chaitin does.
20:08:32 <tromp> the main advantage of my KP is that such a thm with KP(t|s) instead of KP(t|s*) would be rather trivial. Ah, Ok. I thought it better to make the * explicit
20:09:03 <int-e> Which is a bit awkward, but it is what makes the other direction of the symmetry of information tick.
20:09:31 -!- Bowserinator has changed nick to Rutherfordium.
20:09:35 -!- Rutherfordium has changed nick to Bowserinator.
20:09:36 <tromp> an implicit * is just too confusing though
20:09:52 <int-e> As I said, I'm just following Chaitin there.
20:09:59 <tromp> and doesn't allow you to express the simple version
20:10:37 <int-e> I might change it. Maybe.
20:10:39 <tromp> i know, but I think this is one place where Chaitin should not be followed:)
20:10:58 <int-e> Opinion noted.
20:10:59 <int-e> :P
20:11:19 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70789&oldid=70768 * PythonshellDebugwindow * (+50) /* Commands */ output
20:11:57 <tromp> I quite like your KO version too. But I'm not ready to replace KP with it. Maybe they should live side by side:-)
20:12:07 <int-e> Sure
20:12:41 <tromp> you will get a different halting probability. a simpler one. so that is one point in favor of yours
20:13:17 <int-e> Chaitin's u^* is a bit of a red herring actually... what is essential for the second part of the symmetry of information is knowing both H(u) and u.
20:13:50 <tromp> indeed
20:13:51 <int-e> (Because H(u) gives you a baseline for the probability P(u))
20:16:18 <tromp> btw, in a fit of optimism (about @w correctness and my manual proofs) I added BB(33) and BB(34) to OEIS
20:16:28 <tromp> W2 correctness
20:16:32 <ais523> what's the OEIS sequence number?
20:16:51 <ais523> ah, found it, http://oeis.org/A333479
20:16:52 <tromp> https://oeis.org/A333479
20:19:04 <ais523> that sequence grows surprisingly slowly
20:19:22 <ais523> at least to start with
20:19:33 <tromp> I suspect BB(35) = 38127987424941
20:19:34 <ais523> being a busy beaver sequence, it won't be long before it grows at rates too fast to comprehend or describe
20:19:56 <ais523> ah, that's more like it :-D
20:20:18 <ais523> what function is being approximately computed? or is it not easy to tell?
20:20:28 <ais523> most small busy beaver numbers "summarize" well
20:20:30 <tromp> we have BB(53) being an exponential tower with well over 256 levels
20:20:50 <ais523> `` printf "%x" 38127987424941
20:20:50 <HackEso> 22ad5d257ead
20:21:20 <int-e> tromp: Hmm, are you collecting those lower bounds somewhere?
20:21:50 <tromp> the math overflow has some, and this one I added as note in my OEIS draft
20:22:04 <tromp> it's just 3^3^3
20:23:17 <ais523> `! brachylog 3^₃^₃w
20:23:18 <HackEso> 19683 \ true.
20:23:27 <ais523> ah right, I associated that wrong
20:23:47 <tromp> size(church_n) = 5*n+6
20:24:08 <ais523> `! brachylog 3^₃;3~^w
20:24:11 <HackEso> ​ \ false.
20:24:14 <ais523> `! brachylog 3^₃,3~^w
20:24:32 <int-e> Ah, 3^3^3, of course.
20:24:46 <ais523> brachylog isn't very good at reassociating things
20:24:50 <HackEso> No output.
20:24:56 <ais523> and I keep getting , versus ; versus : confused
20:24:58 <int-e> > 5*3^3^3 + 6
20:25:00 <lambdabot> 38127987424941
20:25:06 <ais523> `! brachylog 3^₂₇w
20:25:07 <HackEso> 7625597484987 \ true.
20:25:20 <ais523> `! brachylog 3^₂₇×₅+₆w
20:25:21 <HackEso> 38127987424941 \ true.
20:25:26 <ais523> there we go
20:25:40 <int-e> `` dc <<<'3dd^^5*6+p'
20:25:41 <HackEso> 38127987424941
20:25:45 <ais523> fwiw, I figured out there was a pattern from the hexadecimal
20:26:12 <ais523> it looked a lot like it was something multiplied by 5, based on what digits resulted
20:26:16 <int-e> `` dc <<<'16o3dd^^5*6+p'
20:26:17 <HackEso> 22AD5D257EAD
20:26:18 <ais523> `` printf "%x" $((38127987424941/5))
20:26:19 <HackEso> 6ef79077fbc
20:26:39 <ais523> although I'm not sure that helped, now it just looks random :-D
20:27:21 <int-e> I had an advantage... I already knew the 5n+6 part.
20:28:21 <tromp> 3-powers are bound to look random in binary:(
20:29:30 <ais523> 2-powers seemed likely to show up before 3-powers, perhaps not though
20:30:19 <ais523> anyway, on another topic: what does the fastest possible FizzBuzz look like?
20:30:37 <ais523> I have a suspicion that you might not generate it in order
20:30:54 <ais523> (the aim here is to output the longest FizzBuzz sequence you can in, say, 1 second or 10 seconds)
20:31:03 <tromp> yes, BB(4) corresponds to 2^2^2^2
20:31:18 <tromp> BB(34)
20:32:16 <ais523> ah right, and that isn't on OEIS yet
20:32:34 <ais523> 65536 is possibly the non-small number that most commonly appears in busy beavers
20:32:52 <ais523> because there are a lot of different ways to construct it and it thus appears in a lot of different fast-growing sequences
20:32:54 <tromp> pretty awesome to have two consecutive comprehensible busy beaver numbers
20:33:38 <tromp> they're awaiting approval
20:34:00 <int-e> Well there's https://oeis.org/draft/A333479
20:35:09 <int-e> So we can see what you're doing if we want to :)
20:35:43 <int-e> Oh apparently that link format is not easily discoverable without an OEIS account.
20:42:53 <tromp> TMs describable in 35 bits only reach a busy beaver value of 13 :-(
20:44:59 <tromp> and those describable in 46 bits likely reach only 4098
20:45:57 <int-e> TMs are awkward to program
20:46:13 <tromp> a brainfuck busy beaver would struggle similarly
20:46:17 <ais523> by contrast, Brachylog reaches a program whose halting status is unknown in 24 bits
20:46:54 <tromp> sounds worthy of a blog post!
20:47:19 <ais523> https://codegolf.stackexchange.com/questions/97004/does-the-code-terminate/177438#177438
20:47:27 <tromp> thankcs
20:47:44 <int-e> I mean, if you look at how we program TMs in practice, the number of states is a fair measure of program size. There's a lot of messy behavior outside the fragment we actually have a chance of understanding well enough for actual programming.
20:47:51 -!- ArthurStrong has joined.
20:48:48 <int-e> BLC also has a lot of garbage programs, of course, but the programmable fragment feels bigger.
20:49:54 <int-e> I can compute 0.291652 now, time for bed.
20:50:10 <ais523> golfing languages aim to maximise the size of the programmable fragment, more or less by definition, so you'd expect them to hit unknown BB values faster
20:50:17 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70790&oldid=70789 * PythonshellDebugwindow * (+0) /* Examples */
20:51:07 <ais523> this particular program is weird, though, it's using string operators on numbers and generates the Smarandache sequence
20:51:34 <ais523> which is a weird sequence because every element checked so far is composite, even though there doesn't seem to be any particular reason why it should be
20:53:37 <ais523> someone did a busy-beaver-like search in number theory, too, and the simplest statement that neither they nor their program could prove true or false was "there are infinitely many prime numbers of the form x²-2"
20:54:18 <int-e> (the number 0.291652 is from http://www.research.ibm.com/haifa/ponderthis/challenges/April2020.html )
20:54:23 <ais523> but that can't easily be converted into a program that searches for a counterexample, you'd need a proof both ways
20:58:02 <tromp> that statement seems no simpler than goldbach's conjecture
21:00:24 <ais523> tromp: simpler in terms of the number of primitives needed to express it in the language they were using
21:01:06 <tromp> they were able to prove it could not be expressed more concisely?
21:01:22 <tromp> or maybe just by best effort?
21:01:41 <tromp> what language was that?
21:03:48 -!- mra90 has joined.
21:03:52 <tromp> must be a language with universal and existential quantifiers...
21:16:20 -!- ski has joined.
21:22:51 <ais523> tromp: peano arithmetic with universal and existential quantifiers
21:23:14 <ais523> the brute-force search found a few statements that were all effectively equivalent to each other
21:23:23 <ais523> and there was nothing simpler that couldn't be easily proven true or false
21:34:50 <esowiki> [[Special:Log/newusers]] create * Hdjensofjfnen * New user account
21:36:20 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70791&oldid=70788 * Hdjensofjfnen * (+158)
21:37:48 -!- Cale has quit (Remote host closed the connection).
21:37:55 -!- Lord_of_Life_ has joined.
21:38:10 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
21:38:20 -!- ArthurStrong has quit (Quit: leaving).
21:39:09 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=70792&oldid=70741 * Hdjensofjfnen * (+28)
21:39:13 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:47:41 <esowiki> [[Truth-machine]] https://esolangs.org/w/index.php?diff=70793&oldid=70792 * Hdjensofjfnen * (+43) /* Hexagony */
22:15:47 -!- FreeFull has joined.
22:22:44 -!- Cale has joined.
22:38:01 -!- arseniiv has quit (Ping timeout: 264 seconds).
22:50:23 <esowiki> [[Talk:INTERCAL]] https://esolangs.org/w/index.php?diff=70794&oldid=35649 * Ais523 * (+287) /* Binary operators */ this actually happened
23:07:39 -!- Bowserinator has quit (Quit: Blame iczero something happened).
23:07:42 -!- noomy has quit (Quit: Bye!).
23:07:46 -!- wlp1s1 has quit (Excess Flood).
23:09:49 -!- Bowserinator has joined.
23:10:04 -!- moony has joined.
23:10:33 -!- iczero has joined.
23:12:15 -!- iczero has quit (Excess Flood).
23:13:28 -!- iczero has joined.
23:29:36 -!- kspalaiologos has joined.
23:29:51 <kspalaiologos> Of course I didn't run away in horror :p
23:30:27 <kspalaiologos> I've been interrupted three times now so the second has became around 3 hours
23:31:09 <kspalaiologos> They had three very interesting topic though so I couldn't resist
23:31:30 <kspalaiologos> Wrecking 1300's in chess, chernobyl disaster and my mental health
23:31:48 -!- tromp has quit (Remote host closed the connection).
23:47:22 -!- kspalaiologos has quit (Ping timeout: 256 seconds).
23:50:31 -!- ais523 has quit (Quit: sorry for my connection).
23:50:45 -!- ais523 has joined.
23:55:32 <esowiki> [[User:JonoCode9374]] https://esolangs.org/w/index.php?diff=70795&oldid=70766 * JonoCode9374 * (+20) /* Languages I like */
00:38:49 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70796&oldid=70790 * PythonshellDebugwindow * (+39) Add cat
00:45:46 <esowiki> [[Function x(y)]] M https://esolangs.org/w/index.php?diff=70797&oldid=70765 * PythonshellDebugwindow * (-4) /* Syntax */ no floats
00:58:39 -!- tromp has joined.
01:00:27 <esowiki> [[Gecho]] M https://esolangs.org/w/index.php?diff=70798&oldid=69710 * LegionMammal978 * (+14) fixed title
01:02:22 -!- ais523 has quit (Quit: quit).
01:02:47 -!- tromp has quit (Ping timeout: 246 seconds).
01:07:51 <zzo38> Do you like to play any chess variant?
01:32:20 -!- tromp has joined.
01:36:44 -!- tromp has quit (Ping timeout: 246 seconds).
01:37:30 <zzo38> Do you know if 2600 will still be printed?
02:07:11 -!- Phantom__Hoover has joined.
02:19:31 <esowiki> [[Goruby]] M https://esolangs.org/w/index.php?diff=70799&oldid=46968 * LegionMammal978 * (+14) fixed title
02:26:46 -!- tromp has joined.
02:30:23 -!- xkapastel has joined.
02:30:59 -!- tromp has quit (Ping timeout: 246 seconds).
02:51:05 <b_jonas> ais523: "if the registers are actually in memory, why not have lots of them" => well, I remembered wrong. what I was about the registers was just false
02:51:09 <esowiki> [[GreenBerry]] M https://esolangs.org/w/index.php?diff=70800&oldid=68591 * LegionMammal978 * (+16) fixed title
02:52:41 <b_jonas> the info about the compiler is actually at "http://www.homebrewcpu.com/retargeting_lcc.htm" , it says the compiler knows of only the A and B registers of the machine, the memory register hack is used only for 32-bit integers because the machine has no such registers, and those are mapped to the stack frame (which has short addressing modes), not global memory
02:59:21 <esowiki> [[Groinfrick]] M https://esolangs.org/w/index.php?diff=70801&oldid=53825 * LegionMammal978 * (+15) fixed title
03:02:17 <esowiki> [[Gtltem]] M https://esolangs.org/w/index.php?diff=70802&oldid=45923 * LegionMammal978 * (+14) fixed title
03:05:50 <b_jonas> "<ais523> so maybe BANCStar has a similar purpose?" => no, that one is probably because the interpreter was used for a much more suitable use in another bank or something, and then the customer bank decided that it must be a good framework and was willing to buy it and pay their engineers to buy it, just for the brand or name recognition, without realizing that it's not suitable for the kind of programs
03:05:57 <b_jonas> that they want,
03:06:41 <b_jonas> and especially that the previous team actually had the source code for thethe interpreter too and added more features to it whenever the target app needed functions more complicated than just adding a new field to a form,
03:07:08 <b_jonas> but this customer didn't realize that that was necessary, and just payed a software dev team to program in the existing framework.
03:07:35 <b_jonas> at least that's my very biased guess.
03:09:55 <zzo38> Maybe. Or, maybe not.
03:14:21 <b_jonas> int-e: OEIS format is documented at http://oeis.org/eishelp1.html
03:28:29 -!- sprocklem has quit (Remote host closed the connection).
03:28:49 -!- sprocklem has joined.
03:31:36 <esowiki> [[Talk:Forte]] https://esolangs.org/w/index.php?diff=70803&oldid=50817 * Quadril-Is * (+660)
03:31:59 <esowiki> [[Talk:Forte]] https://esolangs.org/w/index.php?diff=70804&oldid=70803 * Quadril-Is * (-6)
03:39:05 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70805&oldid=70307 * YamTokTpaFa * (+275) /* Where can I find a compiler/interpreter of ABCDXYZ? */ new section
03:45:12 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70806&oldid=70805 * YamTokTpaFa * (+490) /* Should Nuts be deleted? */ new section
03:50:53 <zzo38> I am writing a new ZZT external editor, which is Linux-based rather than ZZTQED which is DOS-based and is slow. This new one is much faster and is written half in C and half in SQL, and can (optionally) use the new features of FreeZZT.
03:51:54 <zzo38> I also wrote two C files used with it, display.c which emulates a PC text screen, and zzt.c which is dealing with ZZT worlds; other people might also find these programs useful even when used with other stuff too, maybe.
03:52:07 <zzo38> (However, display.c requires SDL 1.x, so if you don't have that, then it won't work)
04:14:58 -!- tromp has joined.
04:19:36 -!- tromp has quit (Ping timeout: 265 seconds).
05:20:07 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:45:47 -!- xelxebar has quit (Remote host closed the connection).
05:47:18 -!- xelxebar has joined.
05:48:25 <zzo38> Finite discrete categories are like natural numbers, isn't it? And then you can also add, multiply, exponent, of categories too, and is the same thing, as with the natural numbers in the case of discrete categories, I think. I think that actually natural numbers will occur a lot in mathematics, isn't it?
06:15:55 -!- diverger has quit (Ping timeout: 265 seconds).
06:17:05 -!- diverger has joined.
06:49:26 -!- tromp has joined.
06:54:17 -!- tromp has quit (Ping timeout: 265 seconds).
07:01:14 -!- tromp has joined.
07:30:37 -!- imode has quit (Ping timeout: 250 seconds).
08:00:15 -!- joast has quit (Ping timeout: 260 seconds).
08:14:46 -!- kspalaiologos has joined.
08:41:18 -!- kritixilithos has joined.
08:48:24 <int-e> So... barring bugs, I'm done with the April Ponder This? That went better than anticipated.
09:07:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
09:20:46 -!- kritixilithos has joined.
09:37:10 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
09:38:36 -!- Lord_of_Life has joined.
10:14:37 -!- Phantom__Hoover has quit (Ping timeout: 264 seconds).
10:49:06 <tromp> looks like straightforward (dynamic) programming
10:49:47 <int-e> huh
10:50:48 <int-e> (Maybe, but it doesn't match how I thought about it at all.)
10:55:05 <tromp> you enumerated all 8 node graphs?
10:55:13 <int-e> basically
10:55:31 <tromp> i expect it can't be done with 7 nodes:)
10:55:46 -!- ArthurStrong has joined.
10:55:48 <int-e> plausible
10:56:26 <tromp> you used Haskell?
10:56:28 <int-e> Oh maybe I do know what you meant with DP.
11:00:26 <tromp> computing the probability that a particular subset of nodes is the set of infected nodes after i steps
11:24:41 <int-e> Okay, then I did interpret the DP reference correctly after all.
11:24:51 <int-e> But I saw a Markov chain and matrix multiplication :P
11:43:19 <int-e> Hrm, why did I put that here.
12:08:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:11:51 -!- kritixilithos has joined.
12:22:29 -!- arseniiv has joined.
12:46:04 <kspalaiologos> how can one write a program that will guess a formula for given equation
12:46:31 <kspalaiologos> if x = blah, y = blah, and (some formula involving x and/or y)=known z
12:46:36 <kspalaiologos> bruteforce is it?
12:46:45 <kspalaiologos> or there's some smart-ass way I don't know
12:48:40 <kritixilithos> i'm guessing you don't mean x*y*0+z
12:51:14 <kspalaiologos> :p
12:51:21 <kspalaiologos> given a, given b, given z
12:51:27 <kspalaiologos> wait
12:51:30 <kspalaiologos> that's actually smartass
12:51:40 <kspalaiologos> but let's assume you can't do that
13:12:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
13:21:02 -!- kritixilithos has joined.
13:21:47 -!- joast has joined.
13:23:59 -!- rain1 has joined.
13:33:45 -!- kritixilithos has quit (Remote host closed the connection).
13:34:05 <esowiki> [[Hatemath]] https://esolangs.org/w/index.php?diff=70807&oldid=69897 * LegionMammal978 * (+2049) fixed title, added old interpreter from revision 54384
13:34:38 -!- kritixilithos has joined.
14:07:59 <kspalaiologos> lmao wtf this python code
14:08:40 <kspalaiologos> is it a joke or sth
14:09:07 <rain1> yo
14:12:13 <int-e> kspalaiologos: if it was a joke, surely it would be using else: if: with proper indentation
14:12:40 <kspalaiologos> for a second I thought these were normal ifs
14:12:50 <kspalaiologos> so this entire code was essentially a no-op lol
14:13:58 <int-e> I've seen worse. (Haven't we all.)
14:22:47 <kspalaiologos> well, this code is not great not terrible, I've seen worse and I have to admit it.
14:23:14 <kspalaiologos> but it's just a cheering thing to see this afternoon
14:28:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:30:15 -!- kritixilithos has joined.
15:06:20 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Hunter]] to [[HUNTER]]: fix capitalization
15:06:43 <esowiki> [[HUNTER]] M https://esolangs.org/w/index.php?diff=70810&oldid=70808 * LegionMammal978 * (+0) fixed title
15:34:40 <kritixilithos> '<cpressey> Although what computability class F_omega represents, I don't know. I imagine that it is at least primitive recursive, and probably beyond primitive recursive to some degree. i.e. I would not be surprised if you could write the Ackermann function in F_omega. But again, I don't really know, yet.' => apparently even F2 can do ackermann
15:35:04 <kritixilithos> slide 114 of http://www.cse.chalmers.se/research/group/logic/TypesSS05/Extra/miquel_sl1.pdf
16:11:12 <int-e> All you need is proper (polymorphic) Church numerals.
16:11:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:28:53 -!- kritixilithos has joined.
16:29:18 <kritixilithos> so how much more powerful is F_omega?
16:33:38 -!- tromp has quit (Read error: Connection reset by peer).
16:34:01 -!- tromp has joined.
16:49:06 -!- imode has joined.
16:59:00 <esowiki> [[Talk:I like frog]] N https://esolangs.org/w/index.php?oldid=70811 * LegionMammal978 * (+855) Created page with "A few questions: * For <code>like i</code>, how are ternary numbers converted into bits? Do the inserted bits start at the cell at the pointer or the cell to the right of the..."
17:14:07 <spruit11> Hi people!
17:14:24 <spruit11> I am still looking for an endorser for arxiv.
17:14:37 <spruit11> oerjan didn't respond yet.
17:33:36 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
17:34:01 -!- Lord_of_Life has joined.
17:42:16 <esowiki> [[Metatape]] https://esolangs.org/w/index.php?diff=70812&oldid=66936 * Hdjensofjfnen * (+34) /* Instructions */
17:43:58 <esowiki> [[Metatape]] https://esolangs.org/w/index.php?diff=70813&oldid=70812 * Hdjensofjfnen * (+22) /* Instructions */
17:44:31 <esowiki> [[Metatape]] https://esolangs.org/w/index.php?diff=70814&oldid=70813 * Hdjensofjfnen * (-35) /* Instructions */
17:53:28 <kspalaiologos> chill, oerjan ain't a 24/7 CS problem IRC hotline :p
17:53:29 <kspalaiologos> give him some time, maybe the problem is complex
17:54:20 <kmc> [, 47
17:54:20 <kmc> oops
17:58:11 -!- ArthurStrong has left.
17:59:55 -!- APic has quit (*.net *.split).
18:14:58 -!- APic has joined.
18:14:59 -!- MDead has joined.
18:14:59 -!- MDude has quit (Ping timeout: 256 seconds).
18:14:59 -!- MDead has changed nick to MDude.
18:14:59 -!- zzo38 has quit (Disconnected by services).
18:14:59 -!- zzo38 has joined.
18:19:59 <esowiki> [[Metatape]] https://esolangs.org/w/index.php?diff=70815&oldid=70814 * Hdjensofjfnen * (-4) /* Language overview */
18:39:18 -!- Vorpal has joined.
18:39:18 -!- Vorpal has quit (Changing host).
18:39:18 -!- Vorpal has joined.
18:43:06 <kspalaiologos> more and more creative usernames everyday
19:34:04 <spruit11> Oh, okay.
19:36:12 -!- user24 has joined.
19:52:59 -!- kspalaiologos has quit (Quit: Leaving).
20:12:06 -!- user24 has quit (Quit: Leaving).
20:13:06 -!- kritixilithos has quit (Quit: quit).
20:15:48 -!- kritixilithos has joined.
20:21:17 <kritixilithos> i'm getting confused about kinds and types, so if α:*, β:*, (λa:α.b:β):α→β, is the type of 'α→β' '*' or '*→*' (i think its the former)? so would Πα:*.α be of type *→*?
20:21:19 -!- kritixilithos has quit (Quit: quit).
20:23:46 -!- tromp has quit (Read error: Connection reset by peer).
20:30:07 -!- tromp has joined.
20:42:26 -!- tromp has quit (Remote host closed the connection).
20:56:17 -!- tromp has joined.
20:59:23 <kmc> yes and yes
20:59:38 <kmc> and they aren't here anymore but maybe will read the logs or something.
21:11:48 -!- tromp has quit (Remote host closed the connection).
21:26:13 <esowiki> [[Talk:ABCDXYZ]] https://esolangs.org/w/index.php?diff=70816&oldid=65857 * Ais523 * (+7712) paste the implementation onto the talk page
21:27:17 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70817&oldid=70806 * Ais523 * (+199) /* Where can I find a compiler/interpreter of ABCDXYZ? */ I put it on [[Talk:ABCDXYZ]]
21:28:18 -!- tromp has joined.
21:29:44 <esowiki> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=70818&oldid=70817 * Ais523 * (+765) /* Should Nuts be deleted? */ where does the content come from?
21:32:26 <b_jonas> kritixilithos: no, (Πα:*.α) is still of kind *
21:33:11 <esowiki> [[Talk:Forte]] https://esolangs.org/w/index.php?diff=70819&oldid=70804 * Ais523 * (+675) /* The first error */ it's an error by definition; why I defined it to be an error
21:36:24 -!- Lord_of_Life_ has joined.
21:39:35 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
21:39:37 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
21:44:31 * kmc forgot what Π means maybe :/
21:57:22 <spruit11> I thought yes and yes too.
22:12:12 -!- tromp has quit (Remote host closed the connection).
22:36:35 <esowiki> [[Special:Log/newusers]] create * Icecream17 * New user account
22:40:47 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70820&oldid=70791 * Icecream17 * (+306) introduce
22:50:13 -!- budonyc has joined.
23:00:05 -!- arseniiv has quit (Ping timeout: 258 seconds).
23:25:57 -!- Maitor has joined.
23:26:19 <esowiki> [[KeyVM]] M https://esolangs.org/w/index.php?diff=70821&oldid=70601 * LegionMammal978 * (+14) fixed title
23:27:56 <esowiki> [[KeyVM]] M https://esolangs.org/w/index.php?diff=70822&oldid=70821 * LegionMammal978 * (-14) unfixed title based on repo
23:33:46 <esowiki> [[Kitanai]] https://esolangs.org/w/index.php?diff=70823&oldid=60539 * LegionMammal978 * (+82) added repo link
00:26:06 <esowiki> [[L]] https://esolangs.org/w/index.php?diff=70824&oldid=66891 * LegionMammal978 * (-148) it's pretty obviously Python
00:38:04 -!- tromp has joined.
00:42:56 -!- tromp has quit (Ping timeout: 265 seconds).
01:10:52 <esowiki> [[Lazy Bird]] M https://esolangs.org/w/index.php?diff=70825&oldid=20117 * LegionMammal978 * (+33) /* External ressources */ fix link
01:14:37 <zzo38> O, now the new rules of Magic: the Gathering say that companion cards must be shown when the game begins.
01:17:28 <esowiki> [[Leszek]] M https://esolangs.org/w/index.php?diff=70826&oldid=22715 * LegionMammal978 * (+25) /* External resources */ fixed link
01:18:20 <zzo38> Now counters have timestamps too, and I don't really like that much.
01:20:19 <esowiki> [[Lhooq]] M https://esolangs.org/w/index.php?diff=70827&oldid=50016 * LegionMammal978 * (+14) fixed title
01:30:33 -!- sprocklem has quit (Ping timeout: 256 seconds).
01:32:07 -!- tromp has joined.
01:36:24 -!- rain1 has quit (Ping timeout: 265 seconds).
01:36:34 -!- tromp has quit (Ping timeout: 265 seconds).
01:38:14 -!- rain1 has joined.
01:50:18 -!- sprocklem has joined.
01:54:22 <esowiki> [[User:Icecream17]] N https://esolangs.org/w/index.php?oldid=70828 * Icecream17 * (+5886) ugh this is hard. but i finally did it
01:54:28 -!- budonyc has quit (Ping timeout: 265 seconds).
01:55:43 -!- rinakra has joined.
01:59:47 <esowiki> [[User:Icecream17]] https://esolangs.org/w/index.php?diff=70829&oldid=70828 * Icecream17 * (+271) reassurance, comment
02:03:58 -!- rinakra has left.
02:07:53 -!- budonyc has joined.
02:14:04 -!- Phantom__Hoover has joined.
02:33:23 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Logstack]] to [[LogStack]]: fix capitalization
02:39:23 -!- xelxebar has quit (Ping timeout: 240 seconds).
02:40:43 -!- xelxebar has joined.
02:54:17 <esowiki> [[Flurry]] https://esolangs.org/w/index.php?diff=70832&oldid=70605 * Challenger5 * (-10)
02:58:05 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[M-code]] to [[M-Code]]: fix capitalization
02:58:05 <esowiki> [[Special:Log/move]] move * LegionMammal978 * moved [[Talk:M-code]] to [[Talk:M-Code]]: fix capitalization
02:58:58 <esowiki> [[M-Code]] https://esolangs.org/w/index.php?diff=70837&oldid=70833 * LegionMammal978 * (+0) re-fixed capitalization based on the interpreter's documentation
03:04:35 <esowiki> [[M?!]] https://esolangs.org/w/index.php?diff=70838&oldid=62346 * LegionMammal978 * (+129) added categories
03:09:09 <esowiki> [[Rogex]] https://esolangs.org/w/index.php?diff=70839&oldid=69579 * Lebster * (+1) /* Hello, world! */
03:16:11 <esowiki> [[Rogex]] https://esolangs.org/w/index.php?diff=70840&oldid=70839 * Lebster * (+146) /* Commands */
03:41:31 -!- Sgeo__ has quit (Read error: Connection reset by peer).
03:43:31 -!- budonyc has quit (Ping timeout: 265 seconds).
03:44:02 -!- Sgeo has joined.
03:56:56 -!- budonyc has joined.
04:04:19 -!- budonyc has quit (Ping timeout: 250 seconds).
04:10:53 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
04:17:27 -!- budonyc has joined.
04:25:33 <zzo38> According to "ncal -e" and "ncal -o", the Orthodox Easter is one week after the Catholic Easter this year.
04:30:11 -!- Maitor_ has joined.
04:32:02 -!- mniip has quit (Remote host closed the connection).
04:33:03 -!- Maitor has quit (Ping timeout: 240 seconds).
04:46:52 <b_jonas> imagine if televisions and analog cameras had originally been designed to scan lines alternatingly left and right, boustrophedon style! it would have made the PPUs of computer terminal so much more complicated, then later the computer software complicated, we'd still be dealing with some of the fallout from it, just like how we sometimes have to deal with interlaced video
04:49:15 <zzo38> Yes, although they didn't do that. Also many computers used 240p in order to avoid interlacing anyways, I think.
04:51:14 <b_jonas> zzo38: true, partly to avoid interlacing, and partly because the CPUs do 8 bit arithmetic, so having the width and height of the screen in pixels be just a bit lower than 256 (in the NES and the game boy) is both convenient for manipulating sprites and causes some amusing wraparound bugs (NES Jekyl and Hyde has the weirdest one, but there are minor ones in many other games)
04:54:22 <zzo38> Although the CRTC chip used in PC has a interlacing mode, although it isn't used in PC. (It also has a cursor blinking mode, which also isn't used in PC; the PC has its own logic for cursor blinking. I have the schematics, so I know how it is working, including the undocumented cyan/red/white mode.)
05:23:32 <b_jonas> I often see smbc comics that are very close to an xkcd strip, or backwards, but today is I think the first time when the strips for the same day are similar:
05:24:12 <b_jonas> https://www.smbc-comics.com/comic/inching vs https://xkcd.com/2292/ (for the future, because SMBC makes it very hard to find the strip for a given date)
05:29:02 <int-e> I'm reminded of https://futurism.com/coldest-hottest-temperatures-known-universe-infographic where a few of the higher temperatures are clearly estimates in Kelvin, converted to Celsius. (I remembered one, 99,999,999,726°C, but there are also 36,926°C and 6627°C.
05:29:06 <int-e> )
05:29:31 * int-e wonders how many single-line closing parenthesis he has in the log. Must be quite a few.
05:29:52 <int-e> (
05:30:01 <int-e> maybe I should try to compensate for them like this.)
05:32:05 <int-e> Oh I still missed a couple. But I'm sure you can find them yourself. :P
05:45:44 <b_jonas> int-e: yes, that's the smaller side-effect of pop articles refusing to write big numbers in mantissa-exponent form. the bigger side effect is that they write numbers like "100,000,000,000,000,000,000,000,000,000,000,000,000,000" that are totally uninformative unless you take the time to have a computer count the digits
05:46:24 <b_jonas> or similarly "hundred thousand million million million million million million"
05:47:10 <int-e> It's better than the unadorned 100000000000000000000000000000000000000000.
05:47:42 <b_jonas> dunno, at that point I don't bother counting by hand anyway, just have a computer do it
05:47:52 <b_jonas> well, at least in a digital text
05:48:17 <b_jonas> admittedly in printed text, the commas are better
05:48:41 <int-e> Well the groups of three do help. For example, they make 100,000,000,000 quite manageable to decipher.
05:50:52 -!- Bowserinator has quit (Ping timeout: 260 seconds).
05:51:16 <int-e> (But pushing it beyond 4, maybe 5 groups, isn't very helpful. It's not like I have any sense of how big those numbers are anyway, except by switching to a logarithmic scale and pretending it means something.)
05:52:03 -!- iovoid has quit (Ping timeout: 260 seconds).
05:52:15 -!- iczero has quit (Ping timeout: 265 seconds).
05:52:21 -!- moony has quit (Ping timeout: 256 seconds).
05:52:26 <int-e> And basically that switch is what scientific notation does.
06:12:43 <b_jonas> int-e: yes
06:16:38 -!- xelxebar has quit (Ping timeout: 240 seconds).
06:16:54 -!- xelxebar has joined.
06:19:54 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds).
06:45:14 -!- imode has quit (Ping timeout: 240 seconds).
07:05:18 -!- Maitor_ has quit (Ping timeout: 240 seconds).
07:06:16 -!- tromp has joined.
07:06:49 -!- Maitor_ has joined.
07:06:57 -!- voidio has joined.
07:07:41 -!- probablymoony has joined.
07:07:58 -!- iczero has joined.
07:08:28 -!- Bowserinator has joined.
07:13:21 -!- voidio has changed nick to iovoid.
07:46:24 -!- kspalaiologos has joined.
07:47:05 -!- Phantom__Hoover has joined.
08:18:01 -!- Maitor_ has quit (Quit: Maitor_).
08:18:20 -!- Maitor has joined.
08:46:19 -!- kritixilithos has joined.
08:47:34 <kritixilithos> b_jonas: thanks, i am able to follow this type derivation from https://en.wikipedia.org/wiki/Lambda_cube#Formal_definition, but i guess i don't have the intuition yet
08:55:31 <b_jonas> kritixilithos: don't believe what I say about that type system either, I don't really understand it
08:57:27 -!- int-e has set topic: Welcome to the international hatchery for esoteric programming discussion, design, egg-plants, development, and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D https://github.com/KrzysztofSzewczyk/esologs/.
09:17:04 -!- xelxebar has quit (Remote host closed the connection).
09:17:19 -!- xelxebar has joined.
09:37:46 -!- Lord_of_Life_ has joined.
09:38:52 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
09:39:05 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
09:46:57 -!- grumble has quit (Quit: even though the storm calmed down, the bitter end is just a matter of time).
09:49:18 -!- grumble has joined.
10:16:54 -!- xelxebar has quit (Remote host closed the connection).
10:17:11 -!- xelxebar has joined.
10:20:39 <esowiki> [[Special:Log/newusers]] create * Noxomix * New user account
10:26:57 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70841&oldid=70820 * Noxomix * (+278) edited
10:30:51 <esowiki> [[WebFuckLang]] N https://esolangs.org/w/index.php?oldid=70842 * Noxomix * (+27) Created page with "[[Category:Joke languages]]"
10:32:21 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70843&oldid=70842 * Noxomix * (+27)
10:40:09 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70844&oldid=70843 * Noxomix * (+213) /* What is WebFuckLang? */
10:40:45 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70845&oldid=70844 * Noxomix * (+13)
10:45:05 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70846&oldid=70845 * Noxomix * (+8)
10:48:37 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70847&oldid=70750 * Noxomix * (+70)
10:53:50 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70848&oldid=70846 * Noxomix * (+146)
10:58:12 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70849&oldid=70848 * Noxomix * (+133)
10:59:08 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70850&oldid=70849 * Noxomix * (+109)
10:59:29 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70851&oldid=70850 * Noxomix * (+0)
10:59:37 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70852&oldid=70851 * Noxomix * (+0)
11:03:35 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70853&oldid=70852 * Noxomix * (+352)
11:06:40 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70854&oldid=70853 * Noxomix * (+144)
11:07:45 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70855&oldid=70854 * Noxomix * (-150)
11:08:42 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70856&oldid=70855 * Noxomix * (-1)
11:08:56 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70857&oldid=70856 * Noxomix * (-20)
11:09:09 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70858&oldid=70857 * Noxomix * (-15) /* The basic Syntax */
11:09:49 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70859&oldid=70858 * Noxomix * (+67)
11:15:31 -!- Maitor has quit (Remote host closed the connection).
11:17:00 -!- Maitor has joined.
11:28:46 -!- ArthurStrong has joined.
11:37:28 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70860&oldid=70859 * Noxomix * (+678)
11:45:59 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70861&oldid=70860 * Noxomix * (+445)
11:51:43 <esowiki> [[MemPanic]] M https://esolangs.org/w/index.php?diff=70862&oldid=11368 * LegionMammal978 * (+14) fixed title
11:53:08 -!- Phantom__Hoover has quit (Ping timeout: 265 seconds).
11:54:40 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70863&oldid=70861 * Noxomix * (+309)
11:57:57 <esowiki> [[Babalang]] https://esolangs.org/w/index.php?diff=70864&oldid=70637 * RocketRace * (+746) Add examples of valid/invalid statements
12:00:26 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70865&oldid=70863 * Noxomix * (+111) /* The basic Syntax */
12:08:30 -!- tromp has quit (Remote host closed the connection).
12:11:37 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70866&oldid=70865 * Noxomix * (+497) /* The basic Syntax */
12:12:51 -!- tromp_ has joined.
12:13:08 <esowiki> [[Babalang]] M https://esolangs.org/w/index.php?diff=70867&oldid=70864 * RocketRace * (+581) Begin the runtime section. (Due to an interruption, I will continue this later.)
12:16:28 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70868&oldid=70866 * Noxomix * (+247) /* The basic Syntax */
12:17:28 -!- tromp_ has quit (Ping timeout: 265 seconds).
12:25:23 -!- kritixilithos has quit (Ping timeout: 240 seconds).
12:33:28 -!- arseniiv has joined.
12:47:17 <arseniiv> hi hi a kind is kind, but a type isn’t that type
12:49:08 <kspalaiologos> umm?
12:49:42 <arseniiv> hm I might have used “kinds” and “types” as I initially planned but then I thought that “types ... that type” would be for some reason ungrammatical, poor me
12:52:12 <arseniiv> kspalaiologos: there was a conversation about 20:21 UTC yesterday about kinds and types and I’ve read it only now :D
12:52:46 <kspalaiologos> fine
12:53:29 -!- szewczykgej has joined.
12:55:48 -!- szewczykgej has left.
13:11:44 -!- unrooted has joined.
13:12:20 -!- kritixilithos has joined.
13:17:40 -!- tromp has joined.
13:30:16 <kspalaiologos> that went way smoother than they advertised it to
13:30:26 <kspalaiologos> at first it sounded like the networks gonna collapse
13:58:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
14:02:41 <esowiki> [[User:Palaiologos]] https://esolangs.org/w/index.php?diff=70869&oldid=67362 * Palaiologos * (+60) link to seed article
14:04:37 <esowiki> [[User:Palaiologos]] https://esolangs.org/w/index.php?diff=70870&oldid=70869 * Palaiologos * (+118) irc nickname
14:05:18 <esowiki> [[User talk:Palaiologos]] https://esolangs.org/w/index.php?diff=70871&oldid=67378 * Palaiologos * (-1460) clear my talk page
14:05:29 <kspalaiologos> ^-- no idea how to remove my user page
14:05:34 <kspalaiologos> so I'm just removing the content
14:14:31 -!- kritixilithos has joined.
15:07:17 <arseniiv> kspalaiologos: maybe fizzie knows?
15:08:02 <spruit11> Not even sure I added myself or my language Egel.
15:08:06 <spruit11> Have a look.
15:09:02 <spruit11> Oh, right. It is there.
15:09:09 <arseniiv> kritixilithos: hi, if you don’t logread (as I am lazy to do very often, for example), there are some answers to your yesterday’s questions about kinds, approx. 21:00 UTC yesterday, and later
15:10:27 <kritixilithos> arseniiv: i've seen them, i even replied to b_jonas today, it seems you are the one who hasn't been logreading :P
15:13:58 <arseniiv> kritixilithos: yep I’m too late and I definitely hadn’t logread, I agree
15:14:09 <arseniiv> :D
15:14:39 -!- ArthurStrong has quit (Quit: leaving).
15:19:17 -!- tromp has quit (Remote host closed the connection).
15:29:40 <esowiki> [[User:Icecream17]] https://esolangs.org/w/index.php?diff=70872&oldid=70829 * Icecream17 * (-6032) decided to put it in an article
15:35:41 <esowiki> [[Stopwatch]] N https://esolangs.org/w/index.php?oldid=70873 * GDavid * (+1877) Created page with "Stopwatch is a language invented by [[User:GDavid]]. == Program structure == A Stopwatch program consists of function declarations. The Main function is called on start. ==..."
15:36:45 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70874&oldid=70847 * GDavid * (+16) Stopwatch
15:47:00 <esowiki> [[Stopwatch]] https://esolangs.org/w/index.php?diff=70875&oldid=70873 * GDavid * (+715) Examples
15:47:48 <esowiki> [[Stopwatch]] M https://esolangs.org/w/index.php?diff=70876&oldid=70875 * GDavid * (+33) sleep N return value
16:09:50 -!- tromp has joined.
16:10:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:17:24 <zzo38> I added another card (called "Master Shuffler") to my Un-cards file.
16:17:52 -!- kritixilithos has joined.
16:33:49 <zzo38> How to access a SQLite database from a standalone PostScript program? (There is %pipe% to communicate with other programs, but it is only a one way pipe.)
16:41:51 <b_jonas> zzo38: you probably need to write an extension to the postscript interpreter in a way that's dependent on the specific interpreter for that
16:45:28 -!- imode has joined.
16:47:50 -!- tromp has quit (Remote host closed the connection).
16:49:16 <esowiki> [[Powder]] https://esolangs.org/w/index.php?diff=70877&oldid=65461 * Areallycoolusername * (+0)
17:01:10 <zzo38> It is one thing I thought that should be done in level 4 PostScript, to define a C API for extensions, and a dlopen operator which takes a filename and dictionary, and then the extension writes into the dictionary when loaded (the dlopen operator would not be allowed in safe mode, although if you use it before switching to safe mode, the extension that is already loaded is still usable).
17:02:56 <zzo38> Other things I thought should be done in level 4 PostScript is some of the stuff currently specific to Ghostscript, such as dictionaries in binary object format and the makeimagedevice operator and the %pipe% file, and also to make copypage to depend on the device whether or not it will erase the contents of the page, and a few other things.
17:06:16 <zzo38> Ghostscript does not support dynamic extensions; all extensions must be compiled in.
17:13:27 -!- tromp has joined.
17:18:46 <zzo38> (Ghostscript itself is usable as a dynamic extension for other programs, though.)
17:20:33 <kspalaiologos> I wonder how much overhead does yacc add compared to a hand-written parser
17:20:45 <kspalaiologos> because I'm not entirely sure is writing own parser worth it
17:21:05 <kspalaiologos> like, in terms of performance obviously
17:23:12 <zzo38> It might depend on what syntax you need to parse, perhaps.
17:28:09 -!- tromp has quit (Remote host closed the connection).
17:32:53 -!- tromp has joined.
17:33:00 <esowiki> [[Flurry]] https://esolangs.org/w/index.php?diff=70878&oldid=70832 * Challenger5 * (+176)
17:36:12 -!- budonyc has quit (Quit: Leaving).
17:56:56 -!- tromp has quit (Remote host closed the connection).
18:02:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
18:10:07 -!- MDude has joined.
18:10:51 <esowiki> [[Special:Log/newusers]] create * Uriel * New user account
18:19:48 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=70879&oldid=70841 * Uriel * (+100)
18:24:58 <esowiki> [[Bunk bed]] N https://esolangs.org/w/index.php?oldid=70880 * Hakerh400 * (+7344) +[[Bunk bed]]
18:25:02 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=70881&oldid=70874 * Hakerh400 * (+15) +[[Bunk bed]]
18:25:05 <esowiki> [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=70882&oldid=70751 * Hakerh400 * (+15) +[[Bunk bed]]
18:28:27 <esowiki> [[Bunk bed]] M https://esolangs.org/w/index.php?diff=70883&oldid=70880 * Hakerh400 * (-4) /* Syntax */
18:35:16 -!- tromp has joined.
18:38:40 -!- kritixilithos has joined.
18:40:45 -!- tromp has quit (Ping timeout: 265 seconds).
18:57:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
19:00:50 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70884&oldid=70059 * Uriel * (-94) Edited descriptions (with formatting), added language box panel, added implementation
19:05:40 <kspalaiologos> zzo38, +50 and more rules, small amount of symbols, rules are usually at most 3 deep
19:06:07 <kspalaiologos> I decided to get a hand-written parser running
19:06:11 <kspalaiologos> and so far it's paying off
19:08:02 -!- kspalaiologos has quit (Quit: Leaving).
19:08:43 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70885&oldid=70884 * Uriel * (+87)
19:09:03 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70886&oldid=70885 * Uriel * (-34)
19:09:51 -!- tromp has joined.
19:11:09 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70887&oldid=70886 * Uriel * (+21)
19:16:12 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70888&oldid=70887 * Uriel * (+26)
19:16:30 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70889&oldid=70888 * Uriel * (+1)
19:21:28 -!- LKoen has joined.
19:28:35 <Sgeo> Saw a rumor about a famous mathematician dying from COVID-19. Not sure if I should repeat.
19:28:57 <esowiki> [[Tac Toe Toe Grow]] N https://esolangs.org/w/index.php?oldid=70890 * Icecream17 * (+8529) New language! (Copied from user page and edited)
19:30:09 <imode> which mathematician.
19:30:16 <Sgeo> Conway
19:30:32 <Sgeo> https://twitter.com/CardColm/status/1249038195880341505
19:31:27 <Sgeo> https://twitter.com/alexbellos/status/1249044593817116673
19:32:20 <imode> doesn't seem to be reliable..?
19:33:22 <imode> hoping it isn't reliable.
19:33:53 <int-e> `? life
19:33:56 <HackEso> ​‘Life,’ said Marvin, ‘don't talk to me about life.’
19:35:09 <esowiki> [[Special:Log/move]] move * Icecream17 * moved [[Tac Toe Toe Grow]] to [[Tic Tac Toe Grow]]: How in the world did I make this mistake????
19:36:39 -!- kritixilithos has joined.
19:52:36 <esowiki> [[Promo]] https://esolangs.org/w/index.php?diff=70893&oldid=61602 * Structuresend * (-256)
19:56:41 <esowiki> [[Flurry]] https://esolangs.org/w/index.php?diff=70894&oldid=70878 * Challenger5 * (-101)
19:57:17 <esowiki> [[Flurry]] https://esolangs.org/w/index.php?diff=70895&oldid=70894 * Challenger5 * (-2)
20:11:43 -!- Phantom__Hoover has joined.
20:16:17 -!- sprocklem has quit (Ping timeout: 265 seconds).
20:17:44 -!- sprocklem has joined.
20:27:30 -!- kritixilithos has quit (Quit: quit).
20:42:22 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds).
20:45:06 -!- tromp has quit (Remote host closed the connection).
20:48:47 <esowiki> [[User:Uriel]] N https://esolangs.org/w/index.php?oldid=70896 * Uriel * (+180) Created page with "Hi! I'm Uriel. I'm mostly active on [https://codegolf.stackexchange.com/users/65326/uriel PPCG]. I wrote the [https://github.com/urielieli/py-four py-four] interpreter for [..."
20:56:42 -!- tromp has joined.
21:01:34 -!- Sgeo_ has joined.
21:02:12 -!- arseniiv has quit (Ping timeout: 256 seconds).
21:05:01 -!- Sgeo has quit (Ping timeout: 264 seconds).
21:19:07 <zzo38> Do you like my "Master Shuffler" Un-card?
21:25:27 -!- tromp has quit (Remote host closed the connection).
21:26:40 <zzo38> You can shuffle one or more of: target planeswalker or player, target player's mana pool, your hand, each planar deck and each scheme deck, the layer system, and/or all timestamps.
21:39:08 -!- Lord_of_Life_ has joined.
21:41:01 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
21:41:59 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
22:15:56 -!- tromp has joined.
22:25:01 -!- unrooted has quit (Quit: Going offline, see ya! (www.adiirc.com)).
22:37:14 -!- tromp has quit (Remote host closed the connection).
22:51:01 -!- kspalaiologos has joined.
23:11:44 -!- nona has joined.
23:48:52 -!- LKoen has quit (Read error: Connection reset by peer).
23:55:36 -!- kspalaiologos has quit (Ping timeout: 256 seconds).
00:02:07 -!- LKoen has joined.
00:03:42 -!- LKoen has quit (Client Quit).
00:05:19 -!- ais523 has joined.
00:06:30 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[User talk:Palaiologos]]": Author request: normally user talk pages aren't deleted, but no relevant warnings/communication from others was present
00:08:10 -!- nona has quit (Remote host closed the connection).
00:08:56 <esowiki> [[Special:Log/delete]] delete * Ais523 * deleted "[[Tac Toe Toe Grow]]": redirect from unlikely misspelling (notwithstanding that it was created due to that misspelling)
00:14:55 <ais523> I find the HTML specification really creepy and unnatural
00:15:04 <ais523> it starts off innocently enough
00:15:19 <ais523> but after a while, you realise that it is an entire web browser written in pseudocode
00:15:29 <esowiki> [[MiniUSPL]] M https://esolangs.org/w/index.php?diff=70897&oldid=30402 * LegionMammal978 * (+14) fixed title
00:15:40 <ais523> with corrections for bugs, a library system, and similar other things you would find in programming languages
00:15:45 <ais523> (but you can't run it because it's pseudocode)
00:16:32 <ais523> ofc programs are substantially shorter in pseudocode because you can just gloss over details, invent builtins on the fly, and the like
00:16:35 <ais523> but it's still creepy
00:20:29 <b_jonas> ais523: yes, including a lot of compatibility stuff for old and broken webpages (though not the MSIE compatibility stuff), defining all the DOM interface for javascript, except you have to add the CSS spec because that's in a separate document
00:22:08 <b_jonas> plus I guess the SVG and MathML spec if you want to support those
00:24:53 <esowiki> [[Minim]] https://esolangs.org/w/index.php?diff=70898&oldid=54427 * LegionMammal978 * (-1763) fixed code blocks
00:25:57 <zzo38> I think that some things could be implemented differently, possibly subject to user configuration. Some things should be implemented different anyways, depend on view modes, etc.
00:42:04 <esowiki> [[Minkolang]] https://esolangs.org/w/index.php?diff=70899&oldid=49842 * LegionMammal978 * (+93) added repo link
00:45:01 -!- imode has quit (Ping timeout: 265 seconds).
00:51:29 -!- imode has joined.
01:12:52 <esowiki> [[Comefrom0x10]] https://esolangs.org/w/index.php?diff=70900&oldid=52432 * Hdjensofjfnen * (+0) /* Types */
01:39:22 <esowiki> [[Promo]] https://esolangs.org/w/index.php?diff=70901&oldid=70893 * Structuresend * (-44)
02:03:54 <esowiki> [[Mom please get me so me zucchini from sho p]] M https://esolangs.org/w/index.php?diff=70902&oldid=59419 * LegionMammal978 * (+14) fixed title
02:04:01 -!- tromp has joined.
02:08:44 -!- tromp has quit (Ping timeout: 246 seconds).
03:05:05 -!- tromp has joined.
03:09:17 -!- tromp has quit (Ping timeout: 246 seconds).
04:22:03 -!- ais523 has quit (Ping timeout: 250 seconds).
04:53:01 -!- tromp has joined.
04:57:58 -!- tromp has quit (Ping timeout: 265 seconds).
05:47:26 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
06:42:13 -!- tromp has joined.
06:43:24 -!- tromp_ has joined.
06:46:17 -!- tromp has quit (Ping timeout: 246 seconds).
06:48:10 -!- tromp_ has quit (Ping timeout: 265 seconds).
07:16:22 -!- tromp has joined.
07:33:26 -!- imode has quit (Ping timeout: 265 seconds).
07:42:05 -!- kspalaiologos has joined.
07:53:44 -!- Guest76489 has joined.
07:53:57 <Guest76489> hi
07:54:42 <int-e> `relcome Guest76489
07:54:45 <HackEso> Guest76489: 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.)
07:56:02 <Guest76489> happy easter
08:01:50 <Guest76489> who here is in the process of applying to unemployment
08:02:46 <Guest76489> hey int-e
08:04:23 <myname> I never knew you need to apply in order to be unemployed
08:09:36 -!- Guest76489 has quit (Ping timeout: 240 seconds).
08:15:51 -!- name has joined.
08:16:23 <name> myname I hope you're having a good Sunday morning! happy easter
08:19:33 <name> anyone playing any video games right now?
08:21:42 <int-e> I'm on webcomics
08:22:37 <name> which one are you reading now?
08:23:15 <kspalaiologos> I used to play M&B warband
08:23:37 <int-e> name: Too many. Apocalyptic Horseplay is a recent addition.
08:24:44 <kspalaiologos> but I'm waiting for Bannerlord to be stable so I can pirate^H^H^H^H^H^H buy it obviously
08:28:19 <int-e> name: basically webcomics work like this https://xkcd.com/609/ on a somewhat slower scale.
08:34:27 <name> kspalaiologos M&B warband kind of reminds me of Blade and Sorcery at first glance
08:35:05 <kspalaiologos> not really
08:35:18 <kspalaiologos> you're missing the strategical POV, the map screen
08:35:40 <kspalaiologos> oh well
08:35:44 <kspalaiologos> google images don't show it
08:36:31 <int-e> Sgeo_: https://mobile.twitter.com/SamWangPhD/status/1249132655737790464?p=p <-- getting closer to confirmation :-(
08:37:26 <name> int-e if you're into webcomics, I just started working with some friends on one as a way to raise money to build an installation for burning man 2020
08:37:29 <myname> int-e: imo, webcomics are not _that_ likely to link to other interesting ones
08:37:39 <int-e> (TheGuardian picked it up)
08:37:40 <name> I'll let you. know how it goes
08:37:48 <int-e> myname: You'd be surprised.
08:38:25 <name> the apocalyptic horseplay one looks nice. I just read a few pages
08:38:44 <int-e> myname: IME, if a webcomic author lists 10 comics that they like, and you like their stuff, you'll like 2 or 3 of those comics as well.
08:39:46 <int-e> (Obviously there are duplicates... but it's still a growing pool.)
08:40:14 <name> oh xkcd is cute! I can see why you're into webcomics. just in the few suggestions you sent, I'm already spiraling deeper into the void
08:48:36 -!- name has quit (Ping timeout: 240 seconds).
09:18:38 -!- unrooted has joined.
09:39:58 -!- Lord_of_Life_ has joined.
09:40:33 -!- Lord_of_Life has quit (Ping timeout: 265 seconds).
09:41:17 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
09:45:05 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70903&oldid=70868 * Noxomix * (+549)
09:46:41 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70904&oldid=70903 * Noxomix * (+66) /* Examples */
09:54:13 <esowiki> [[WebFuckLang]] https://esolangs.org/w/index.php?diff=70905&oldid=70904 * Noxomix * (+717)
09:57:58 -!- unrooted has quit (Ping timeout: 256 seconds).
09:58:49 -!- arseniiv has joined.
10:02:47 -!- olsner has quit (Remote host closed the connection).
10:06:36 <esowiki> [[Bunk bed]] M https://esolangs.org/w/index.php?diff=70906&oldid=70883 * Hakerh400 * (+10) /* Comparing mappings */ fix typos
10:12:37 -!- MDude has joined.
10:16:21 <esowiki> [[Babalang]] M https://esolangs.org/w/index.php?diff=70907&oldid=70867 * RocketRace * (+15) Easier searchability
10:43:07 -!- olsner has joined.
10:52:05 -!- LKoen has joined.
11:01:54 <int-e> I've found another use for unshare() :-) http://paste.debian.net/1139892/
11:13:18 <olsner> hm, so that has to be setuid to be allowed to unshare? always seemed counterintuitive that sandboxing requires *additional* privileges... anything should be allowed to go further down its own rabbithole
11:14:16 <b_jonas> olsner: you can use most of clone unprivilaged
11:14:22 <b_jonas> and do some sandboxing for it
11:14:47 <b_jonas> but I think you need to be root to set up bridge network devices in the containing host, which is very useful for sandboxing
11:14:48 <int-e> b_jonas: oh, can I do that, hmm.
11:15:33 <b_jonas> olsner: anyway, that you can do sandboxing as user is a noble goal, and the Linux devs are trying to go there, but the fact is, it's really hard to get right, and we don't want to compromise the kernel with security bugs because of that, so it's going slow
11:16:08 <int-e> "Only a privileged process (CAP_SYS_ADMIN) can employ CLONE_NEWNET."
11:16:35 <b_jonas> int-e: yes, which make sense, you couldn't modify the network devices in the other namespace as non-root anyway
11:17:07 <b_jonas> in practice, you set up the sandbox with root privilages, then let the non-user access it
11:17:25 <int-e> I should probably learn about that. (At least set up a loopback device)
11:17:51 <b_jonas> int-e: sadly I don't know the details of sandbox network setup. I should learn about it some day.
11:18:19 <int-e> Yeah exactly my point, I don't know about it either.
11:18:25 <b_jonas> I guess start from (man 8 ip) and ask on irc
11:19:16 <int-e> There's also network_namespaces(7).
11:19:26 <olsner> makes sense that to e.g. bridge to a physical interface you'd need outside-system privileges, but it ought to be possible to e.g. set up an isolated sandbox and talk to it (e.g. do user-space port forwarding) without ever going "up" in privileges
11:20:22 <int-e> olsner: but why put all that policy into the kernel when you can write a userspace daemon to do all that
11:22:11 <int-e> (At the cost of messing up the process parenthood story.)
11:23:42 <int-e> Anyway, some day... and in the meantime I'll enjoy the 5 minute hack.
11:24:18 <int-e> b_jonas: Another starting point is the unshare command line tool, which supports at least some of the networking stuff.
11:27:34 -!- Sgeo__ has joined.
11:28:17 <b_jonas> `? password
11:28:19 <HackEso> The password of the month is starving for attention.
11:30:49 -!- Sgeo_ has quit (Ping timeout: 264 seconds).
11:37:13 <esowiki> [[Babalang]] https://esolangs.org/w/index.php?diff=70908&oldid=70907 * RocketRace * (+4990) Document YOU
11:50:57 <esowiki> [[Esolang:Community portal]] https://esolangs.org/w/index.php?diff=70909&oldid=68863 * IFcoltransG * (+626) Added a link to another esoteric discord server
12:21:13 <kspalaiologos> `? bfgen
12:21:16 <HackEso> bfgen? ¯\(°​_o)/¯
12:21:19 <kspalaiologos> `? bftextgen
12:21:21 <HackEso> bftextgen? ¯\(°​_o)/¯
12:21:25 <kspalaiologos> `bfgen text
12:21:26 <HackEso> bfgen? No such file or directory
12:21:34 <kspalaiologos> how is this brainfuck generator named
12:21:34 <b_jonas> I think it's called bfasm and asmbf
12:21:40 <kspalaiologos> no, not this one
12:21:48 <kspalaiologos> I mean the brainfuck code generator from a string
12:21:58 <kspalaiologos> what's the fungot prefix, I forgot
12:22:10 <kspalaiologos> nvm he's dead
12:22:20 <b_jonas> the one that generated the casino program? you haven't got the source code of that, so unless it put a doc comment into the compiled code, you won't know the name
12:22:36 <kspalaiologos> :P
12:22:55 <b_jonas> `? genbf
12:22:56 <HackEso> genbf? ¯\(°​_o)/¯
12:23:01 <b_jonas> ``` type genbf
12:23:02 <HackEso> genbf is /hackenv/bin/genbf
12:23:07 <b_jonas> ``` genbf --help
12:23:08 <HackEso> fold: invalid number of columns: '--help'
12:23:12 <kspalaiologos> eh HackEso has had a brainfuck text generator
12:23:15 <kspalaiologos> that's what I need right now
12:24:20 <b_jonas> maybe the wiki links to one
12:28:41 <kspalaiologos> eh nvm
12:28:45 <kspalaiologos> I'll just use my old, inefficient one
12:43:51 -!- sprocklem has quit (Ping timeout: 250 seconds).
12:44:29 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70910&oldid=70796 * PythonshellDebugwindow * (+294) /* Auto-formatting */
12:45:46 -!- sprocklem has joined.
12:47:01 -!- arseniiv has quit (Ping timeout: 264 seconds).
12:48:23 -!- arseniiv has joined.
12:48:46 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70911&oldid=70910 * PythonshellDebugwindow * (+157)
12:49:49 <esowiki> [[PlusOrMinus 2]] M https://esolangs.org/w/index.php?diff=70912&oldid=70911 * PythonshellDebugwindow * (+27) /* Resources */
13:00:53 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70913&oldid=70762 * PythonshellDebugwindow * (+31) /* Languages */
13:20:50 <esowiki> [[User:PythonshellDebugwindow/Test]] M https://esolangs.org/w/index.php?diff=70914&oldid=70326 * PythonshellDebugwindow * (+109)
13:24:30 -!- kritixilithos has joined.
13:28:25 <int-e> b_jonas: Oh great. Interfaces are created via the netlink (more specifically rtnetlink) protocol... the tools (iproute2) are developed in tandem with the kernel so this area is underdocumented. In particular, there's an IFLA_INFO_KIND attribute which one can set to "veth" to create that kind of device that I believe is not documented at all.
13:29:04 <b_jonas> int-e: right. that's why the next step is to ask people on irc.
13:29:21 <b_jonas> but you still have to look at the docs first before that
13:33:10 <int-e> (Of course you can just execute the 'ip' tool with the right parameters in whatever namespace you want to manipulate.)
13:33:35 -!- Sgeo_ has joined.
13:34:05 <int-e> In any case, it can be figured out ... none of this is rocket science. :)
13:35:04 <esowiki> [[User:PythonshellDebugwindow]] https://esolangs.org/w/index.php?diff=70915&oldid=70913 * PythonshellDebugwindow * (+50)
13:35:12 <int-e> Reading the iproute2 sources is doable as well (that's how I found the IFLA_INFO_KIND thing in the first place... well, after also looking at the veth.c in the kernel sources and finding a reference to a "kind").
13:35:40 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70916&oldid=70915 * PythonshellDebugwindow * (+14)
13:35:55 <esowiki> [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=70917&oldid=70916 * PythonshellDebugwindow * (-64) end test
13:36:34 -!- Sgeo__ has quit (Ping timeout: 240 seconds).
13:52:34 <esowiki> [[User:PythonshellDebugwindow/Test]] M https://esolangs.org/w/index.php?diff=70918&oldid=70914 * PythonshellDebugwindow * (+620)
13:53:06 <esowiki> [[Special:Log/move]] move * PythonshellDebugwindow * moved [[User:PythonshellDebugwindow/Test]] to [[User:PythonshellDebugwindow/(Unnamed language)]]: another unnamed language
13:57:11 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70921&oldid=70919 * PythonshellDebugwindow * (+436) /* Operators */
13:58:42 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70922&oldid=70921 * PythonshellDebugwindow * (+87) /* Operators */
13:58:51 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70923&oldid=70922 * PythonshellDebugwindow * (-2) /* Examples */
13:59:10 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70924&oldid=70923 * PythonshellDebugwindow * (+4) /* Examples */
13:59:23 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70925&oldid=70924 * PythonshellDebugwindow * (+11) /* Operators */
14:30:07 <esowiki> [[4]] https://esolangs.org/w/index.php?diff=70926&oldid=70889 * Uriel * (+44) added memory system category
15:03:56 <tromp> int-e: i determined that the hanging/memory-hogging behaviour of BB(x) 35 is due to just a handful of terms
15:04:51 <tromp> so we can subject BB(35) to manual analysis
15:13:40 <tromp> in fact i have only 8 terms left to analyze
15:14:25 <tromp> including one candidate for beating 3^27
15:25:19 -!- arseniiv_ has joined.
15:26:58 -!- arseniiv has quit (Ping timeout: 258 seconds).
15:28:40 <esowiki> [[Talk:NEGATOR]] N https://esolangs.org/w/index.php?oldid=70927 * LegionMammal978 * (+215) Created page with "The closing brace mentions a "condition you put immediately after it"; what is the syntax of such a condition? ~~~~"
15:29:03 -!- Sgeo__ has joined.
15:32:25 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
15:48:38 -!- imode has joined.
15:56:05 <esowiki> [[User:PythonshellDebugwindow/(Unnamed language)]] M https://esolangs.org/w/index.php?diff=70928&oldid=70925 * PythonshellDebugwindow * (+1089)
15:59:13 <esowiki> [[Ndef]] M https://esolangs.org/w/index.php?diff=70929&oldid=36781 * LegionMammal978 * (+14) fixed title
16:00:40 <esowiki> [[4]] M https://esolangs.org/w/index.php?diff=70930&oldid=70926 * Ais523 * (+49) merely colon-linking to a category isn't enough to categorise, you have to add it to the category list too; also add [[Category:Implemented]] as well, while I'm here, because the page lists interpreters
16:07:47 <esowiki> [[NegaPosi]] https://esolangs.org/w/index.php?diff=70931&oldid=8033 * LegionMammal978 * (+100) fixed links
16:11:07 -!- Sgeo_ has joined.
16:14:01 -!- Sgeo__ has quit (Ping timeout: 250 seconds).
16:17:05 -!- Sgeo__ has joined.
16:20:19 -!- Sgeo_ has quit (Ping timeout: 260 seconds).
16:28:43 -!- kritixilithos has quit (Ping timeout: 240 seconds).
16:55:04 -!- kritixilithos has joined.
16:58:45 -!- ais523 has joined.
16:58:54 <ais523> huh, so it turns out that there's a practical use for the imp
16:59:25 <ais523> on early models of the IBM 1620, the operator manually entering and running an imp was the standard way to clear memory between programs
16:59:41 <ais523> I guess this is an argument for making the all-zeroes instruction an imp in a new processor design
16:59:47 <b_jonas> ais523: what imp?
16:59:57 <b_jonas> what is an imp?
17:00:00 <b_jonas> an implementation?
17:00:01 <ais523> an imp is a machine code instruction that copies itself to the next memory location in memory
17:00:15 <ais523> so immediately after running, the next instruction now contains an imp too
17:00:21 <b_jonas> ah
17:00:34 <b_jonas> so it's a weird way to memset?
17:00:34 <ais523> it will inevitably end up filling all of memory unless it hits a page fault or some other thread overwrites it just as it's about to run
17:00:47 <b_jonas> ok
17:00:52 <ais523> well, I didn't think imps had any practical use
17:00:57 <ais523> but I was wrong, which is why I commented on it here
17:00:59 <b_jonas> but many machines already have copy instructions that you can use to fill memory
17:01:08 <b_jonas> as in memory copy instructions
17:01:10 <esowiki> [[Nine]] https://esolangs.org/w/index.php?diff=70932&oldid=67039 * LegionMammal978 * (+173) added repo link and categories
17:01:30 <b_jonas> and they work on overlapping memory if you want to make many repeated copies of a pattern (even a single byte)
17:02:15 <b_jonas> and in the ones that don't, that's because there's a fast way based on normal instructions to do a block copy
17:02:28 <ais523> yes, but that's not great for zeroing all of memory because a) it'll end up overwiting itself at some point, b) it's likely to be more than a single instruction long
17:02:49 <b_jonas> ais523: sure, you zero all the memory other than that code instead
17:03:00 <ais523> I did some research into the fastest way to bulk-store memory on a modern processor, it appears to involve nontemporal writes of 128 bits at a time from multiple different source registers
17:03:14 <ais523> and that's a /lot/ of code
17:03:49 <b_jonas> ais523: so? why is that a problem. isn't this for zeroing memory to make sure that no information from before remains? just make sure when you load that block of code that it doesn't have holes, so nothing but that code remains.
17:03:51 <ais523> trying to get that to zero itself might be possible, though, because each loop iteration zeroes a huge amount of memory, so you could probably make the last iteration of the loop overwrite the entire program front-to-end
17:04:06 <ais523> b_jonas: I guess, but it's inelegant
17:04:16 <b_jonas> but if you want to zero that, you could use a slower but smaller zeroing method to zero that
17:04:46 <ais523> actually, I can see one potential issue with using an imp to zero memory: because all of memory is now filled with an imp, it guarantees that the entire state of the running program will be wiped out if the instruction pointer ever goes out of bounds, making it hard to debug what happened
17:05:17 <ais523> (unless your program counter doesn't wrap)
17:05:52 <b_jonas> ais523: also that only works if the memory that you want to write forms a single solid contiguous segment, which is not always true in machines with bank changing or ROM or something
17:06:14 <ais523> yes
17:06:20 <b_jonas> it doesn't need a page fault, just a ROM that ignores writes
17:07:01 <APic> Does the Name „Imp“ come from Corewar?
17:07:01 <ais523> anyway, on a vaguely related topic: does anyone know of computer storage devices that are reasonably possible to obtain in modern times, that store data (and transmit it to the computer) in 3-bit or 6-bit chunks?
17:07:02 <b_jonas> or an unmapped memory area that ignores writes, in case of those old cpus that are in sync with the RAM
17:07:03 <ais523> APic: yes
17:07:07 <APic> k
17:07:26 <b_jonas> ais523: does it have to be hardware? I can emulate such a thing in software
17:07:28 <ais523> six-channel paper tape would be an obvious choice but a) tape readers aren't readily available nowadays, b) six-channel is an uncommon size
17:07:55 <ais523> b_jonas: ideally yes; I can emulate it in software too, and was planning to, but if the software is itself stored on an 8-bit disk it doesn't fit the intended usecase
17:08:01 <b_jonas> I haven't heard of six-row paper tape
17:08:08 <b_jonas> only 5 row and 7 row
17:09:16 <ais523> I think 8-row was also used
17:09:21 <ais523> but yes, 6 was not a standard size
17:11:05 <b_jonas> ais523: on some floppy disk hardware, you could define a custom disk format that uses 6-bit bytes
17:11:24 <b_jonas> or 12-bit words or something
17:12:42 <ais523> I was wondering about reformatting a disk to use words that weren't 8 bits long
17:13:01 <ais523> I don't have that much of a grasp about how low-level reformatting of a disk (changing tracks, cylinders, etc.) works
17:13:12 <ais523> most of the "formatting" I'm aware of is actually file system creatino
17:13:14 <ais523> *creation
17:14:19 <b_jonas> ais523: on modern floppy drives, yes, because the hardware floppy controller handles most of those low level ops. but on the Commodore 1541, the floppy drive that is used the most often used with the Commodore 64, there's a cpu and rom and small RAM in the floppy drive that allows the user to reprogram it,
17:15:20 <b_jonas> and the program that runs on the floppy drive handles individual low level bit read/write one by one (the cpu is fast enough for that), where the low level bits are such that you can't write more than three consecutive 0s or else it won't reliably read back or some such,
17:15:51 <b_jonas> so the floppy drive program encodes 4 logical bits to 5 of those hardware bits, and it decodes an entire sector of I think 256 bytes before it reads it to the computer / after it writes it to the computer
17:16:10 <ais523> ooh, maybe you need to reprogram the floppy drive firmware
17:16:12 <ais523> I bet it's writable
17:16:15 <b_jonas> but programmers often reprogrammed the floppy drive because the default program in the RAM is very slow,
17:16:22 <ais523> actually figuring out how to write it is probably much harder tohugh
17:16:26 <b_jonas> which is why there's a lot of practical information on the web about how to reprogram it
17:16:58 <b_jonas> I don't know if anyone reprogrammed the drive to store 6-bit bytes, or how practical that is, because it's used with 8-bit computers
17:18:15 <b_jonas> on the PC, you can't change that part of the program, because the floppy controller handles that part of the decoding itself. you can still change some parts of the floppy format, but I believe not the part of how many bits a byte has.
17:19:00 <b_jonas> ais523: I think you can set the serial port of the PC to send and receive 6-bit bytes on a direct serial line, but that doesn't count as storage
17:19:22 <ais523> b_jonas: agreed
17:20:05 <ais523> setfdprm appears to think in terms of bytes, not bits, so I guess so does Linux
17:20:15 <ais523> and probably PC hardware as a whole
17:20:30 <ais523> so I guess you'd need to do sixbit-to-byte translation in the drive firmware
17:23:53 <ais523> apparently the Amiga's floppy drive controller can be configured to any word size, that's "only" 30 years old
17:27:03 -!- kritixilithos has quit (Ping timeout: 240 seconds).
17:30:59 <esowiki> [[Noit o' mnain gelb]] M https://esolangs.org/w/index.php?diff=70933&oldid=27090 * LegionMammal978 * (+14) fixed title
17:36:03 <int-e> tromp: Hmm, looking at your criterion, I did re-discover that one myself in the meantime, with the same idea that ω-like terms are strict. (Pushed a more detailed proof.)
17:38:30 <ais523> hmm, there seem to be philosophical issues about how much data a disk can store
17:39:38 <ais523> with magnetic disk storage, there are physical limits to how densely you can pack transitions between 0s and 1s, but if you don't have any transitions for a sufficiently long time, it's difficult to read because you don't know where you are on the disk
17:40:06 <ais523> so, e.g., on a CD, every 8-bit byte of data is encoded as 17 bits on the disk
17:40:36 <int-e> tromp: I can't claim it's independent... you dropped a couple of hints on the channel.
17:40:41 <b_jonas> CD is rather different from magnetic storage though
17:41:04 <ais523> not really, you're right that it's optical rather than magnetic but much the same restrictions apply
17:43:20 <b_jonas> data CD has a lot more error correction codes than floppy disks, apparently mostly to survive scratches of the foil part of the CD