←2021-12-14 2021-12-15 2021-12-16→ ↑2021 ↑all
00:36:48 -!- oerjan has joined.
00:46:44 <earendel> Int-e: would a language which can't produce memory leaks not be turing complete? .. what's the pupose? i don't understand "useful for data that lives for the remainder of the program’s life"
00:48:30 <oerjan> i think in some sense a language cannot be TC without having the potential for memory leaks
00:48:55 <oerjan> because you will be able to encode program for which it is _undecidable_ whether they leak memory
00:48:58 <oerjan> *+s
00:49:40 <oerjan> *will have to be
00:55:38 <int-e> earendel: depends on how you define a memory leak
00:56:44 <int-e> (garbage collectors use reachability from a certain set of roots that include global variables and the stack and the registers)
00:56:51 <int-e> (usually)
00:57:24 <int-e> So you can define "leak" relative to that approximation, and then deliberately leaking something feels a bit odd. It is, however, useful :)
00:57:35 <earendel> how can the purpose depend on how i define it. a usual goal is to avoid them.
00:58:02 <int-e> you can have a language that can't produce memory leaks and is TC
00:58:22 <int-e> if you define "leak" in terms of such a computable approximation.
00:58:34 <earendel> so what is a purpose of leaking memory be design.
00:58:39 <int-e> (approximation of... uhm... neededness)
00:59:16 <int-e> It's an escape hatch in a programming language that tends to underapproximate neededness.
00:59:40 <earendel> if you want to produce memory leaks, in order to test for possible consequences?
00:59:45 <int-e> (the compiler assumes something becomes not-needed if it can no longer see any reference to it...)
01:01:54 <int-e> Or is the question why I would want an object that I can no longer access? That's because there's a design pattern that attaches non-memory resources to objects in memory. Things like open files... or other kinds of handles... which I might *have* but which the compiler may not be able to connect to the memory object.
01:04:43 <int-e> The concrete instance I had is this: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=9889c7441c66a1c1b918e69dca142a42
01:11:28 <int-e> And I realized that since I don't care about the SDL TTF library being deinitialized, I can just use Box.leak() to create a static reference to it and call it a day, establishing the abstraction boundary I wanted (only the ui object/class knows about SDL stuff)
01:29:27 <sprout> most of the early java libraries leaked. because people thought: hey, automatic memory management. great! no worries anymore
01:29:59 <sprout> turns out it makes sense to set references to null when you don't use them anymore
01:30:23 <sprout> otherwise you just keep consuming memory, worst case
01:30:51 <sprout> having gc != not needing to think about memory consumption anymore
01:31:32 <int-e> it's just a garbage collector, you still have to put your bags outside ;)
01:31:38 <sprout> right
01:32:10 <int-e> it was touted as "automatic memory management"... that term has to have died, mostly... at least where I cand see
01:33:39 -!- u0_a391 has joined.
01:37:18 -!- Kit has quit (Ping timeout: 260 seconds).
01:42:40 <b_jonas> oerjan: yes, but usually you want libraries that are reentrant in that they don't have global state and you can initialize a copy and deinitialize it properly, and when you deinitialize it, it cleans up all the memory that it used, and that's achievable (even automatically in a high-level language, though not necessarily in an efficient way) even while the library can be turing-complete
01:46:30 <ISO-4683-1> yeah memory leaks are a side product of tc components messing up, generally
01:49:12 -!- u0_a391 has changed nick to Kit.
01:49:17 <ISO-4683-1> or a side effect of components messing up, i mean. a pda can leak memory by never using part of its stack, for example.
02:13:06 <earendel> or a Box::leak() method
02:16:07 <int-e> fizzie: oh I just realized how different the scales of the axes on the trajectory graph are
02:29:14 -!- delta23 has quit (Quit: Leaving).
02:43:46 <earendel> they axes of evil.
02:47:28 <earendel> constitute*
04:04:18 -!- Kit has quit (Ping timeout: 260 seconds).
04:06:00 -!- Kit has joined.
04:09:45 -!- lambdabot has quit (Remote host closed the connection).
04:13:10 -!- lambdabot has joined.
04:47:26 <esolangs> [[Talk:Seed]] https://esolangs.org/w/index.php?diff=90856&oldid=46632 * Salpynx * (+1678) Ruby version of Seed converter
04:48:21 <esolangs> [[Haczyk]] https://esolangs.org/w/index.php?diff=90857&oldid=90830 * Squidmanescape * (+8)
04:52:58 -!- dyeplexer has joined.
04:59:31 <esolangs> [[Special:Log/newusers]] create * Dtp09 * New user account
05:03:36 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=90858&oldid=90848 * Dtp09 * (+204)
05:25:53 <oerjan> recent girl genius: somehow i had missed that the great cetacean previously pictured had arms
05:27:39 -!- oerjan has quit (Quit: Nite).
05:53:46 -!- earendel has quit (Quit: Connection closed for inactivity).
07:16:06 -!- dyeplexer has quit (Ping timeout: 260 seconds).
07:27:57 -!- Koen has joined.
07:31:02 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
07:56:26 -!- Sgeo has quit (Read error: Connection reset by peer).
08:04:15 -!- tromp has joined.
08:22:28 <river> would love to read these comics i just always lose my place..
08:23:01 <int-e> there must be browser addons for this
08:23:17 <int-e> my personal "workflow" is that I bookmark the latest page that I've read
08:24:10 <int-e> (so... select comic in bookmark manager, by whatever name, bookmark when I'm caught up, remove old bookmark... it's actually less terrible than it sounds... or so I like to think)
08:24:23 -!- Koen has quit (Remote host closed the connection).
08:25:52 <zzo38> I had just edit an existing bookmark when I will need something like that, rather than deleting it.
08:26:10 -!- Koen has joined.
08:26:35 <int-e> uh that sounds cumbersome
08:27:29 <int-e> (as in: it takes way too many clicks or key presses to do a dozen times every day)
08:30:43 <zzo38> I don't do it a dozen times every day though, and at least in the cases I have done, it is easily to predict the URLs.
08:31:31 <int-e> Well, I do what I wrote a dozen times a day.
08:31:54 <zzo38> Still, being able to save session files might be helpful for this and other purposes; if you do not use the "save as" function then it can overwrite the file that you have opened with the new session data, but if you use "save as" then you can save the modified session in a new file instead.
08:32:13 <zzo38> Yes, I suppose your use is different.
08:32:59 <int-e> I'll readily admit that it's peculiar. But it works for me :)
08:57:19 -!- earendel has joined.
09:03:52 -!- BarryNL has joined.
09:04:44 <BarryNL> Hi everyone!
09:04:48 <river> hi
09:05:25 <BarryNL> I am looking for programming language experts. I assume I am in the right place?
09:07:19 <river> which programming language
09:07:33 <BarryNL> My own one :)
09:08:03 <BarryNL> Sorry, I misunderstood.
09:08:25 <BarryNL> I meant experts of developing programming languages in general.
09:09:23 <river> right place
09:10:21 <BarryNL> I am looking for a enthousiast with programming language expertise who is willing to spend a few hours helping me with my own programming language idea.
09:14:15 <BarryNL> I realize that might already be a bit much to ask.
09:14:42 <river> yes im too lazy to get involved in anything
09:15:07 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:16:05 <BarryNL> But you do have expertise in developing programming languages?
09:16:23 -!- tromp has joined.
09:16:38 <BarryNL> (or are you also to lazy to chat a bit? ;) )
09:16:53 <BarryNL> *too
09:17:25 <river> a bit
09:17:32 <river> i made a few interpreters and compilers
09:18:11 -!- Koen has quit (Remote host closed the connection).
09:18:35 <BarryNL> Also professionally or in your spare time?
09:18:44 <river> just fo fun
09:19:23 <BarryNL> Are there pages on esolangs.org for those? Where I might read about them?
09:23:08 <BarryNL> Or didn't you give them names?
09:23:57 <BarryNL> Were they procedural or declarative programming languages?
09:26:54 <esolangs> [[Haczyk]] https://esolangs.org/w/index.php?diff=90859&oldid=90857 * Squidmanescape * (+2297)
09:27:05 <esolangs> [[Haczyk]] https://esolangs.org/w/index.php?diff=90860&oldid=90859 * Squidmanescape * (-32) /* Implementation */
09:29:59 <BarryNL> Do you know any other place where I might find someone with expertise on programming language development?
09:37:16 <BarryNL> Is the discord more active?
09:54:35 -!- slavfox has quit (Ping timeout: 268 seconds).
09:57:32 -!- slavfox has joined.
10:08:12 -!- Koen has joined.
10:14:52 -!- Lord_of_Life_ has joined.
10:15:35 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
10:17:37 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
10:18:45 <esolangs> [[Talk:Seed]] M https://esolangs.org/w/index.php?diff=90861&oldid=90856 * Salpynx * (-2) /* Ruby version of the reference Seed converter */ tidy range
10:30:48 <BarryNL> Mmm...discord account requires phone number. That's annoying.
10:32:02 <int-e> oh yeah the ubiquitous "second factor"
10:32:21 <int-e> which in reality is more of a "globally unique id" (at least for most people and the next half year)
10:35:20 <BarryNL> They probably just want to farm my data for commercial purposes. Or is discord non-commercial.
10:36:20 <b_jonas> BarryNL: you don't seem to understand how internet forums work. you can't get people to pre-commit to helping you. instead, you have to show your work. write down what you already have, and the problems that you need help with, with as many specifics as possible. put it somewhere that we can read, and then maybe someone gets interestd.
10:37:05 <BarryNL> Thanks jonas_b, I understand.
10:37:07 <b_jonas> BarryNL: if you have a specific question that's quick to explain in a few lines, you can just ask it here directly; otherwise I recommend putting all the info on a website, such as our wiki. design specifications, source code, whatever you have.
10:44:21 <BarryNL> jonas_b: Ok, thanks for pointing that out. I am willing to invest, so I will create a page on the wiki. I already have quite some resources (syntax, code, tests) so that should not be a problem.
10:45:47 <BarryNL> I am not looking for people to commit, just people with knowledge giving some feedback.,ecause although I am
10:47:04 <BarryNL> convinced I have something nice, I realize that is bot at all
10:47:33 <BarryNL> (damn small keyboard on my phone, sorry)
10:48:10 <BarryNL> nevermind, I'll create the wiki. Thanks!
10:53:32 <b_jonas> oh, and we shouldn't forget this tradition
10:53:34 <b_jonas> `welcome BarryNL
10:53:38 <HackEso> BarryNL: 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.)
10:54:04 <BarryNL> Thanks!
10:54:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:58:50 -!- tromp has joined.
11:02:37 -!- Koen has quit (Remote host closed the connection).
11:15:26 <esolangs> [[Special:Log/newusers]] create * BarryNL * New user account
11:16:24 <BarryNL> Nice CAPTCHA with Befunge! First tried to do it by hand, but then decided to just run the code.
11:19:02 -!- dyeplexer has joined.
11:24:22 -!- Koen has joined.
11:24:27 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=90862&oldid=90858 * BarryNL * (+344) Introduced myself.
11:44:54 <esolangs> [[Posset]] N https://esolangs.org/w/index.php?oldid=90863 * BarryNL * (+628) Created page with "'''Posset''' is the perfect programming language according to user [[BarryNL]] and the name is an abbreviation from '''''Pos'''sibility '''Set'''''. Its features: * [https://..."
11:59:17 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=90864&oldid=90849 * BarryNL * (+13) Adding Posset to the Language list.
12:12:57 <esolangs> [[Posset]] https://esolangs.org/w/index.php?diff=90865&oldid=90863 * BarryNL * (+295) Adding some categories.
12:15:05 -!- u0_a391 has joined.
12:15:31 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90866&oldid=90865 * BarryNL * (+5) Correctly refer to my username.
12:16:15 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90867&oldid=90866 * BarryNL * (+34) Try again.
12:18:30 -!- Kit has quit (Ping timeout: 260 seconds).
12:19:36 -!- u0_a391 has changed nick to Kit.
12:40:03 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90868&oldid=90867 * PythonshellDebugwindow * (-147) Use wikilinks
12:40:27 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90869&oldid=90868 * PythonshellDebugwindow * (+5) user
13:13:25 -!- delta23 has joined.
13:15:32 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:28:39 <esolangs> [[Posset]] https://esolangs.org/w/index.php?diff=90870&oldid=90869 * BarryNL * (+1487) Adding a first introduction.
13:44:24 -!- Koen has quit (Remote host closed the connection).
13:46:15 -!- dutch has quit (Quit: WeeChat 3.3).
13:48:54 -!- dutch has joined.
14:04:26 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=90871&oldid=90864 * GingerIndustries * (+11) /* A */
14:06:13 <esolangs> [[APOL]] https://esolangs.org/w/index.php?diff=90872&oldid=90806 * GingerIndustries * (+139)
14:06:41 <esolangs> [[Category:Programming languages using polish notation]] N https://esolangs.org/w/index.php?oldid=90873 * GingerIndustries * (+0) Created blank page
14:07:10 -!- Koen has joined.
14:31:06 <esolangs> [[Posset]] https://esolangs.org/w/index.php?diff=90874&oldid=90870 * BarryNL * (+2915) Added variable and runtime description.
14:40:28 -!- tromp has joined.
14:41:47 -!- tromp has quit (Client Quit).
14:42:52 -!- tromp has joined.
14:57:22 -!- ecs has quit (Ping timeout: 268 seconds).
14:57:52 -!- ecs has joined.
15:02:15 <esolangs> [[APOL]] https://esolangs.org/w/index.php?diff=90875&oldid=90872 * GingerIndustries * (+530)
15:02:15 <esolangs> [[Posset]] https://esolangs.org/w/index.php?diff=90876&oldid=90874 * BarryNL * (+569) Adding disclaimer.
15:03:54 <esolangs> [[Posset]] https://esolangs.org/w/index.php?diff=90877&oldid=90876 * BarryNL * (+1) Move contents upward.
15:20:28 -!- Sgeo has joined.
15:24:07 <esolangs> [[Knight]] https://esolangs.org/w/index.php?diff=90878&oldid=85585 * GingerIndustries * (+58)
15:31:06 <esolangs> [[Talk:Posset]] N https://esolangs.org/w/index.php?oldid=90879 * Corbin * (+270) Take a guess at the formalism.
15:39:53 <esolangs> [[Posset]] https://esolangs.org/w/index.php?diff=90880&oldid=90877 * BarryNL * (+2244) Adding some examples of the syntax.
16:09:03 <esolangs> [[Posset]] https://esolangs.org/w/index.php?diff=90881&oldid=90880 * BarryNL * (+693) Adding the performance section.
16:12:52 <BarryNL> Hi all, I have started a description of the Posset language on the esolangs wiki. As I mentioned before, I am looking for feedback from other experts or enthousiasts, because I am still convinced myself
16:13:05 -!- dutch has quit (Quit: WeeChat 3.3).
16:13:20 <BarryNL> that it is a revolutionary idea :)
16:18:57 <Corbin> BarryNL: I left a link on the talk page. I'm wondering about the relationship to probability monads, particularly when implemented as clouds of samples.
16:19:45 <Corbin> The ideas with logic programming are interesting. The main obstacle I envision is that unifying two probability distributions is undecideable (I think?)
16:20:45 <BarryNL> Hi Corbin, thanks! I am not familiar with the talk page, so I'll take a look.
16:23:04 <BarryNL> Aha, found it. I'll take a look. I am not that familiar with monads, so not sure if I understand it.
16:26:31 <Corbin> Then this paper might not be especially easy either: http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf
16:27:05 <Corbin> But, given how often monads can be composed, I wonder whether there is some sort of logic+probability monad which combines the two approaches.
16:27:57 -!- SpikeHeron has joined.
16:35:51 <BarryNL> I'll give those papers a shot and try to understand what they are doing. After that I need to think about how that relates to Posset. I also haven't really thought about how Posset relates to probabilities in general.
16:38:13 <BarryNL> Since Posset consists of possibilities I suspect that also introduces probabilities: in 7 of the 10 possible worlds a particular characteristic occurs.
16:38:36 -!- delta23 has quit (Quit: Leaving).
16:40:16 <esolangs> [[User:DigitalDetective47/WIP]] https://esolangs.org/w/index.php?diff=90882&oldid=90348 * DigitalDetective47 * (+3070)
16:42:39 -!- Corbin has quit (Ping timeout: 252 seconds).
16:46:30 -!- Corbin has joined.
16:51:03 <esolangs> [[Talk:Posset]] https://esolangs.org/w/index.php?diff=90883&oldid=90879 * BarryNL * (+124)
16:56:43 -!- u0_a391 has joined.
17:00:15 -!- Kit has quit (Ping timeout: 252 seconds).
17:14:36 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90884&oldid=90881 * PythonshellDebugwindow * (-2) /* More information */ fix
17:15:09 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90885&oldid=90884 * PythonshellDebugwindow * (-40) /* Performance */ ditto
17:15:40 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90886&oldid=90885 * PythonshellDebugwindow * (-2) /* Examples */ wikilinks use [[]], hyperlinks use []
17:25:55 <Corbin> BarryNL: BTW, further in the probability-monad paper, there's an explanation of how to efficiently perform Monte Carlo simulations by limiting the number of particles that are tracked, even considering the Cartesian product. This is a rabbit hole which goes down quite deep; I just finished reading https://arxiv.org/abs/1701.02434 and am still digesting it.
17:26:45 <Corbin> You don't have to go down that far, but you should probably know that https://en.wikipedia.org/wiki/Stan_(software) exists and can be used from R or Python.
17:27:51 <BarryNL> Corbin: Wow, thanks for even more pointers!
17:30:04 <Corbin> No worries. There's a lot of research on probabalistic programming.
17:33:45 -!- u0_a391 has changed nick to Kit.
18:10:49 <esolangs> [[APOL]] https://esolangs.org/w/index.php?diff=90887&oldid=90875 * GingerIndustries * (+315) /* Instruction table */
18:12:25 <esolangs> [[DOGO]] https://esolangs.org/w/index.php?diff=90888&oldid=74156 * Kaveh Yousefi * (+898) Added further elucidations, reformatted the commands and operations as tables, and complemented a reference to the similar language M?!.
18:30:54 <esolangs> [[(top, height)]] https://esolangs.org/w/index.php?diff=90889&oldid=90579 * Squidmanescape * (+344) /* Complexity */
18:36:42 -!- dyeplexer has quit (Remote host closed the connection).
18:40:24 <esolangs> [[APOL]] https://esolangs.org/w/index.php?diff=90890&oldid=90887 * GingerIndustries * (+192) /* Instruction table */
18:47:47 -!- Koen has quit (Remote host closed the connection).
18:50:37 <esolangs> [[APOL]] https://esolangs.org/w/index.php?diff=90891&oldid=90890 * GingerIndustries * (+9) /* Instruction table */
18:51:20 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:13:11 <zzo38> BarryNL: OK I will look now
19:16:20 <zzo38> Well, for one thing I do not believe there is any such thing as a "perfect programming language"
19:20:58 -!- tromp has joined.
19:21:01 <BarryNL> zzo38: Yes, I read that a lot and you are probably correct.
19:23:28 <BarryNL> But you can still strive for it, although it means you will never reach your goal. It also makes some of my motivation clear, but if it is misplaced on esolangs.org I have no problem with removing it.
19:25:21 <zzo38> OK, you can strive for it, I suppose.
19:28:13 <Taneb> Perhaps the article can be rephrases as "Posset is BarryNL's attempt to create a perfect programming language"?
19:29:55 <BarryNL> Taneb: yes, that is certainly a more accurate description. I'll change it to that. There are more inaccuracies though.
19:30:59 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90892&oldid=90886 * BarryNL * (+5) Rephrase inaccurate intro sentence.
19:33:34 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:40:02 <esolangs> [[Posset]] https://esolangs.org/w/index.php?diff=90893&oldid=90892 * BarryNL * (+441) Adding Turing completeness section.
19:58:01 -!- tromp has joined.
19:58:53 <esolangs> [[Posset]] M https://esolangs.org/w/index.php?diff=90894&oldid=90893 * BarryNL * (+211) Some additional minor changes.
20:02:48 <esolangs> [[++brainfuck++]] M https://esolangs.org/w/index.php?diff=90895&oldid=53655 * Kaveh Yousefi * (+167) Reformulated some commands, amended the orthography, and improved the formatting.
20:03:41 <esolangs> [[++brainfuck++]] https://esolangs.org/w/index.php?diff=90896&oldid=90895 * Kaveh Yousefi * (+186) Added a hyperlink to my implementation of the ++brainfuck++ programming language on GitHub.
20:08:28 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:11:02 <esolangs> [[++brainfuck++]] https://esolangs.org/w/index.php?diff=90897&oldid=90896 * Kaveh Yousefi * (+355) Added examples for the Hello, world!, cat, and truth-machine programs.
20:27:49 -!- delta23 has joined.
20:47:04 -!- u0_a391 has joined.
20:50:51 -!- Kit has quit (Ping timeout: 250 seconds).
20:53:03 -!- tromp has joined.
20:56:34 <river> https://adventofcode.com/2021/day/14 have you considered this?
20:57:38 <river> I was thinking maybe something like this http://www.se16.info/js/lands4.htm
20:58:38 <river> http://www.njohnston.ca/2010/10/a-derivation-of-conways-degree-71-look-and-say-polynomial/
20:58:53 <river> simpler perhaps, but similar
21:08:20 <BarryNL> river: who are you talking to? Me or someone else?
21:10:39 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:11:51 <river> to the room
21:12:31 <river> HH -> N, NH -> C, HN -> C
21:12:43 <BarryNL> Ok, thnx.
21:12:50 <river> so if we start with HH, HH -> HNH -> HCNCH
21:13:52 <river> how to analyze this
21:14:25 <river> let's look at the simplest one: HH -> H, then HH -> HHH -> HHHHH -> HHHHHHHHH
21:16:01 <river> this grows as fast as possible
21:16:16 <river> the interesting part is that some do not grow as fast as possible, because there are less rules
21:17:29 <river> suppose you had HH -> X, HX -> H. then HH -> HXH -> HHXH -> HXHHXH -> HHXHXHHXH -> HXHHXHHXHXHHXH
21:27:14 -!- tromp has joined.
21:35:54 -!- delta23 has quit (Quit: Leaving).
21:38:17 <fizzie> IMO the puzzle setup implies there are always rules for every pair that appears.
21:38:57 <fizzie> Or at least it doesn't really say what you should do if there isn't, and it is the case that there is for the examples & my puzzle input.
21:39:49 <fizzie> So starting from a polymer of length N, after T steps, the result is (N-1)*2^T+1 characters long.
21:40:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:42:32 <fizzie> (I've got two solutions for part 2 that I think count as different, but both work fine and neither involves actually expanding it out.)
21:47:01 <fizzie> Hmm, I guess you could read the task to suggest that a pair just stays the same if there's no matching rule. But in practice it doesn't happen. At least for my actual puzzle input, the alphabet has size 10 (B, C, F, H, K, N, O, P, S, V) and the ruleset contains insertion rules for all 10*10 = 100 pairs.
21:51:10 -!- BarryNL has quit (Quit: Quit).
21:52:32 -!- tromp has joined.
22:35:43 -!- earendel has quit (Quit: Connection closed for inactivity).
23:00:01 -!- SpikeHeron has quit (Quit: WeeChat 3.3).
23:06:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:08:44 -!- tromp has joined.
23:09:22 <leah2> (same here)
23:20:17 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:24:18 -!- tromp has joined.
23:30:06 <esolangs> [[PRNGP2]] https://esolangs.org/w/index.php?diff=90898&oldid=88807 * Salpynx * (+826) Examples. More playing with the Mersenne twister. (This lang is pretty trivial to code in. :) )
23:34:38 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:50:56 -!- oerjan has joined.
23:55:46 -!- dutch has joined.
←2021-12-14 2021-12-15 2021-12-16→ ↑2021 ↑all