←2026-08-27 2026-08-28 2026-08-29→ ↑2026 ↑all
00:02:53 -!- Lord_of_Life_ has joined.
00:03:08 -!- Lord_of_Life has quit (Ping timeout: 241 seconds).
00:04:10 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
00:24:03 <esolangs> [[Eselangs]] https://esolangs.org/w/index.php?diff=190971&oldid=190680 * Miui * (+66) Se considera pseudonatural, y un lingua, y el ao contribuye al algoritmo de ordenamiento foo.
00:30:44 <esolangs> [[Eselangs]] M https://esolangs.org/w/index.php?diff=190972&oldid=190971 * Miui * (-1) *spena foo that comma *handle. wassup tho no one asked for ur input dog.
00:59:39 <esolangs> [[Flowchart]] M https://esolangs.org/w/index.php?diff=190973&oldid=190491 * Aadenboy * (+33)
01:00:07 <aadenboy> "A push with nothing to push leaves the deque as it was." I wonder how much more incorrect it'll become over time
01:00:11 <esolangs> [[(Un)computable]] N https://esolangs.org/w/index.php?oldid=190974 * Marcus 2n2 * (+1288) Created page with "'''(Un)computable''' is an esolang made by [[User:Marcus 2n2]] and is uncomputable'''<big><big><big><big>*</big></big></big></big>'''. ==Instructions== {| class="wikitable" |+ Instructions |- ! Symbol !! What they do |- | X || Pop a string. If that string halt
01:00:39 <esolangs> [[(Un)computable]] https://esolangs.org/w/index.php?diff=190975&oldid=190974 * Marcus 2n2 * (+5) /* False X */
01:02:37 <esolangs> [[(Un)computable]] https://esolangs.org/w/index.php?diff=190976&oldid=190975 * Marcus 2n2 * (+123) /* Instructions */
01:06:55 <esolangs> [[(Un)computable]] https://esolangs.org/w/index.php?diff=190977&oldid=190976 * Marcus 2n2 * (+140) /* Instructions */
01:15:21 -!- sprock has joined.
01:19:54 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=190978&oldid=183800 * Marcus 2n2 * (+39) /* Commands */
01:20:40 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] M https://esolangs.org/w/index.php?diff=190979&oldid=190978 * Marcus 2n2 * (+59) /* Commands */
01:22:35 <esolangs> [[Ghmi-Asden Tnauin]] https://esolangs.org/w/index.php?diff=190980&oldid=190811 * PrySigneToFry * (+811)
01:32:04 <zzo38> Is there a format with a separate alpha value for each RGB channel?
01:33:15 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
01:50:43 -!- sprock has quit (Ping timeout: 271 seconds).
01:54:02 <esolangs> [[User talk:Blashyrkh]] https://esolangs.org/w/index.php?diff=190981&oldid=189987 * Bobby Jacobs * (+206)
03:09:52 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=190982&oldid=190979 * PrySigneToFry * (+78)
03:20:10 <esolangs> [[User:Miui]] https://esolangs.org/w/index.php?diff=190983&oldid=190693 * Miui * (+20) /* actually hilarious */
03:28:43 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] M https://esolangs.org/w/index.php?diff=190984&oldid=190982 * Aadenboy * (+86)
03:57:46 <esolangs> [[Special:Log/newusers]] create * Esbatu1666 * New user account
04:01:52 <esolangs> [[User:Marcus 2n2]] https://esolangs.org/w/index.php?diff=190985&oldid=190087 * Marcus 2n2 * (+57) /* Esolangs (2 so far) */
04:02:05 <esolangs> [[User:Marcus 2n2]] https://esolangs.org/w/index.php?diff=190986&oldid=190985 * Marcus 2n2 * (+0) /* Esolangs (2 so far) */
04:02:30 <aadenboy> fungot: goodnight
04:02:31 <fungot> aadenboy: that's not unusual. first experiences programming can be quite hard i assume... this sounds very nice.
04:02:33 <esolangs> [[User talk:Marcus 2n2]] https://esolangs.org/w/index.php?diff=190987&oldid=189979 * Marcus 2n2 * (+21) /* Esolangs (in case you are too lazy to go to my home page) */
04:03:13 <aadenboy> fungot dreams of programming and enjoys it
04:03:13 <fungot> aadenboy: did you try just using ./build? ( car thetree)) return 5 :) nice progress on that project?
04:03:43 <aadenboy> the goodnight message was the most coherent one I've seen come out of fungot
04:03:44 <fungot> aadenboy: gauche doesn't support the corresponding idiom for multiple top-level definitions sharing a lexically scoped variable for programs like emacs?
04:04:04 <aadenboy> anyways, goodnight again
05:09:53 -!- Sgeo has quit (Read error: Connection reset by peer).
05:41:25 <b_jonas> int-e: oh, that is funny, do that
05:44:44 <b_jonas> ais523: so would this be so unsound that the call has to abort, or only as unsound that it'd raise a !AssertUnwindSafe panic that doesn't let anyting below in the stack to continue?
05:47:11 <b_jonas> IIUC if you leave a value that you own in a condition that breaks important invariants and can't restore it, that's when !AssertUnwindSafe comes into play, because the caller function may access the value and it'll be in an invalid state, but then you can still call a panic handler function that goes below the current point in the stack, or just deadlock the thread as if it were in an infinite look. The
05:47:17 <b_jonas> abort comes would be required if eg. you run out of stack space.
05:47:31 <b_jonas> Or run into a serious hardware error.
05:48:39 <b_jonas> int-e: that one is actually funny, do it
05:50:15 <b_jonas> ais523: well I used to use jevalbot as a calculator sometimes, does that qualify as programming in esolangs?
06:19:28 -!- lisbeths has quit (Quit: Connection closed for inactivity).
06:22:55 <esolangs> [[Ghmi-Asden Tnauin]] https://esolangs.org/w/index.php?diff=190988&oldid=190980 * None1 * (-17) /* Features, restrictions, and twists */
06:23:52 <esolangs> [[Ghmi-Asden Tnauin]] M https://esolangs.org/w/index.php?diff=190989&oldid=190988 * None1 * (+22) /* Features, restrictions, and twists */
06:25:06 <esolangs> [[Ghmi-Asden Tnauin]] https://esolangs.org/w/index.php?diff=190990&oldid=190989 * None1 * (+92) /* Features, restrictions, and twists */
06:33:46 <int-e> `learn Knuth is the original web developer.
06:33:53 <HackEso> Learned 'knuth': Knuth is the original web developer.
06:37:52 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=190991&oldid=190901 * None1 * (+801) /* Esolang:Categorization#Languages is inconsistent */ some inconsistency in other categories
06:38:26 <esolangs> [[Esolang talk:Categorization]] M https://esolangs.org/w/index.php?diff=190992&oldid=190991 * None1 * (+6) /* Esolang:Categorization#Languages is inconsistent */
06:43:41 <esolangs> [[User talk:None1]] https://esolangs.org/w/index.php?diff=190993&oldid=187821 * None1 * (-34067) Page way too large, archive
06:43:54 <esolangs> [[User talk:None1/Archive2]] M https://esolangs.org/w/index.php?diff=190994&oldid=143442 * None1 * (+1)
06:44:04 <esolangs> [[User talk:None1/Archive]] M https://esolangs.org/w/index.php?diff=190995&oldid=143426 * None1 * (+1)
06:45:43 <esolangs> [[User talk:None1/Archive3]] N https://esolangs.org/w/index.php?oldid=190996 * None1 * (+34218) Archive
06:46:26 <esolangs> [[User talk:None1]] https://esolangs.org/w/index.php?diff=190997&oldid=190993 * None1 * (+73) /* Talk page archives */
06:52:27 -!- potter has quit (Quit: Should be back momentarily).
06:52:57 <esolangs> [[User:Miui]] https://esolangs.org/w/index.php?diff=190998&oldid=190983 * Miui * (-20) /* actually hilarious */
06:54:18 <esolangs> [[Eselangs]] https://esolangs.org/w/index.php?diff=190999&oldid=190972 * Miui * (+4) /* code of the streets foo */ foo
06:54:43 <esolangs> [[User:/Sandbox]] https://esolangs.org/w/index.php?diff=191000&oldid=190905 * * (+121)
06:55:48 -!- potter has joined.
06:58:21 -!- tromp has joined.
06:58:35 <esolangs> [[User:/Sandbox]] https://esolangs.org/w/index.php?diff=191001&oldid=191000 * * (+79)
07:03:24 <b_jonas> thank you
07:14:11 <esolangs> [[User talk:None1/Archive3]] M https://esolangs.org/w/index.php?diff=191002&oldid=190996 * None1 * (+3)
07:14:35 <esolangs> [[User talk:None1/Archive2]] M https://esolangs.org/w/index.php?diff=191003&oldid=190994 * None1 * (+3)
07:14:54 <esolangs> [[User talk:None1/Archive]] M https://esolangs.org/w/index.php?diff=191004&oldid=190995 * None1 * (+3)
07:30:19 <esolangs> [[User:/Sandbox]] https://esolangs.org/w/index.php?diff=191005&oldid=191001 * * (-2530)
07:30:58 <esolangs> [[User:/Sandbox]] https://esolangs.org/w/index.php?diff=191006&oldid=191005 * * (-15)
07:31:18 <esolangs> [[Ghmi-Asden Tnauin]] https://esolangs.org/w/index.php?diff=191007&oldid=190990 * Cleverxia * (+495) /* Features, restrictions, and twists */
07:33:44 <esolangs> [[User:/Sandbox]] https://esolangs.org/w/index.php?diff=191008&oldid=191006 * * (+5)
07:34:08 <esolangs> [[User:/Sandbox]] https://esolangs.org/w/index.php?diff=191009&oldid=191008 * * (-2) /* */
08:05:06 <esolangs> [[Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191010&oldid=190358 * None1 * (+83) /* Truth Machine */
08:09:59 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191011&oldid=190945 * None1 * (+645) /* Behavior of the . command */ new section
08:10:13 <esolangs> [[Talk:Immutable Brainfuck]] M https://esolangs.org/w/index.php?diff=191012&oldid=191011 * None1 * (+2) /* Behavior of the . command */
08:10:33 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191013&oldid=191012 * None1 * (-6) /* Behavior of the . command */
08:11:04 <esolangs> [[Talk:Immutable Brainfuck]] M https://esolangs.org/w/index.php?diff=191014&oldid=191013 * None1 * (+1) /* Behavior of the . command */
08:12:22 <esolangs> [[Unary]] https://esolangs.org/w/index.php?diff=191015&oldid=182070 * None1 * (+11) /* See also */
08:12:30 <esolangs> [[Ellipsis]] https://esolangs.org/w/index.php?diff=191016&oldid=189480 * None1 * (+11)
08:12:46 <esolangs> [[Dotfuck]] https://esolangs.org/w/index.php?diff=191017&oldid=177493 * None1 * (+11) /* See also */
08:12:57 <esolangs> [[Lenguage]] https://esolangs.org/w/index.php?diff=191018&oldid=181053 * None1 * (+10) /* See also */
08:16:02 <esolangs> [[Talk:Lenguage]] https://esolangs.org/w/index.php?diff=191019&oldid=60099 * None1 * (+408)
08:19:01 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191020&oldid=191014 * Blashyrkh * (+200) /* Behavior of the . command */
08:23:07 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191021&oldid=191020 * Blashyrkh * (+2500) /* Interpreter */ new section
08:27:40 <esolangs> [[Immutable Brainfuck]] M https://esolangs.org/w/index.php?diff=191022&oldid=191010 * None1 * (-2) /* See also */
08:29:48 <esolangs> [[Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191023&oldid=191022 * None1 * (+77)
08:33:29 -!- ais523 has joined.
08:33:31 <esolangs> [[-]] M https://esolangs.org/w/index.php?diff=191024&oldid=190093 * Blashyrkh * (+25) Add to "implemented" category
08:33:55 <ais523> b_jonas: it has to be an immediate resort, otherwise destructors from outer scopes can observe a value in a state it shouldn't be in, potentially causing a double-free or the like
08:34:01 <ais523> * immediate abort
08:34:41 <ais523> UnwindSafe is actually just a hint, it isn't relied upon for any memory safety properties, it's just there to reduce the chance of writing a program with broken logic by mistake
08:35:29 <int-e> ais523: thanks, I was trying to figure out how this is less safe than std::mem::swap(). exceptions (and the associated stack unwinding) are the answer
08:36:25 <ais523> interestingly, the only known incompatibilities are with code that prevents calls to swap by ensuring that only one object of the type ever exists (meaning that you can't call swap because it needs two arguments)
08:36:26 <int-e> it's easy to forget that Rust has those because you're generally discouraged from using them.
08:36:44 <ais523> but from a type-theoretical point of view it has much larger implications
08:38:00 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=191025&oldid=190893 * Cleverxia * (-46788) Archive again, Ihope I didn't do anything wrong
08:38:46 <esolangs> [[Esolang:Introduce yourself/Archive (01-02-2025 to 07-08-2026)]] N https://esolangs.org/w/index.php?oldid=191026 * Cleverxia * (+46786) Created page with "Sup!, I just want to learn about esolang's, maybe make some I know alittle bit of BF and am excited to learn others! [[User:Chocguy|Chocguy]] ([[User talk:Chocguy|talk]]) 06:54, 1 February 2026 (UTC)Chocguy[[User:
08:40:13 <esolangs> [[Special:Log/move]] move * Cleverxia * moved [[Esolang:Introduce yourself/Archive (01-02-2025 to 07-08-2026)]] to [[Esolang:Introduce yourself/Archive (01-02-2026 to 07-08-2026)]]: Misspelled title: wrong year
08:41:14 <esolangs> [[Esolang:Introduce yourself/Archive (01-02-2026 to 07-08-2026)]] M https://esolangs.org/w/index.php?diff=191029&oldid=191027 * Cleverxia * (+75) add the bold warnings
08:42:34 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=191030&oldid=191025 * Cleverxia * (+126) link the archive back to the main page
08:43:41 <int-e> "dropping a panic payload may panic" -- heh I'm sure I've never even read this part. It's lovely.
08:44:17 <int-e> (I'm going on a tangent, looking at catch_unwind documentation)
08:45:56 <ais523> hmm… an unhandled panic in a thread only takes down the thread, not the whole program
08:46:19 <ais523> I wonder how that interacts with take_mut, maybe it has to abort the program as a whole
08:49:17 <int-e> Hmm. How does take_mut interact with std::thread::scope() then?
08:50:35 <esolangs> [[Atlas]] N https://esolangs.org/w/index.php?oldid=191031 * PrySigneToFry * (+20339) Created page with ":''The subject of this entry is neither a fictional character named Atlas from Greek mythology nor a humanoid robot series called Atlas.'' Atlas is a Markup language designed by PSTF. = Syntax Overview = == Basic formatting == === Bold === To make a bold text, you
08:52:16 <ais523> I think it aborts the process
08:52:19 <int-e> I guess this makes it okay: "If any of the automatically joined threads panicked, this function will panic."
08:52:32 <ais523> Rust doesn't seem to have an "abort thread" and it would be unsound in combination with take_mut
08:52:41 <int-e> "okay" in the sense that it comes down to catching panics again
08:53:03 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=191032&oldid=190758 * PrySigneToFry * (+12)
08:53:13 <ais523> are there signals which take down only a single thread?
08:54:27 <ais523> apparently not
08:54:59 <b_jonas> "destructors from outers scopes" => I thought destructors or any other code from outer scopes can't run, that's the point of !UnwindSafe. you can react to the panic in an inner scope, but the function can't return and you can't unwind through it.
08:56:06 <ais523> you can unwind through !UnwindSafe things
08:56:14 <b_jonas> exactly
08:56:39 <b_jonas> which is why it's safe to leave objects in an unsafe state as long as you own those objects exclusively
08:56:53 <esolangs> [[Talk:Atlas]] N https://esolangs.org/w/index.php?oldid=191033 * Cleverxia * (+209) Created page with "This is absolutely not quoting islptng: "This is some [[wierd]] mixup of markdown and HTML, with some mediawiki in this." ~~~~"
08:57:00 <ais523> no, you can unwind through it
08:57:08 <b_jonas> oh, you can?
08:57:20 <b_jonas> I don't understand why rust works that way
08:57:48 <ais523> basically because exception-safety in Rust is based on a "the target of &mut is always valid" principle
08:58:08 <ais523> so all the other safeguards are just hints to help catch bugs, rather than needed for memory safety
08:58:21 <ais523> I don't agree with this, but it is how the design works at the moment
08:58:36 <b_jonas> other threads surviving long term after the panic is not usually your goal, more like when the panic comes in you try to emit some nice diagnostics, and maybe save some state that's costly to recreate, before you abort the program
08:59:20 <ais523> Rust allows mutable getter methods, struct S { field: usize } impl S { fn get_field_mut(&mut self) -> &mut usize { &mut self.field } }
08:59:52 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=191034&oldid=191030 * Cleverxia * (+0) fix the underlines
08:59:53 <ais523> this is hard to reconcile with a model in which functions "take possession" of the target of a &mut while they are running
09:00:06 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=191035&oldid=191034 * Cleverxia * (+0)
09:00:28 <ais523> because, if they did do that, they would have to give it back somehow, but a method like get_field_mut would somehow need to return both the mutable reference to self.field and the permission to access self
09:00:55 <ais523> and one of those is borrowing from the other, and Rust is really bad at handling pairs of values where one borrows from the other
09:01:27 <b_jonas> "the target of &mut is always valid" => I thought that doesn't stop you from calling an inner function that mut reborrows the reference, and then if you could somehow observe the referred object from your function you may see it invalid while the inner function is updating it, but you can't because the inner function can't return until it leaves the value to a valid state. so a panic that can't be
09:01:33 <b_jonas> unwound can just do the same, mut reborrow the value(s) that are in an invalid state and never expose them to anyone forever
09:02:36 <ais523> it's more complicated than that, the current rules are that (unless the reference is to a field of an enum) the function can temporarily change the value but outer code still assumes that the value is continuously valid, so temporary changes involve unsafe and somehow proving out-of-band that the violation of the rules doesn't matter
09:03:23 <b_jonas> but that's only for the low-level unsafety rules that the compiler enforces, not library invalid states?
09:04:04 <b_jonas> okay, I think I understand then why you're saying that the design is weird
09:04:43 <esolangs> [[Talk:Atlas]] https://esolangs.org/w/index.php?diff=191036&oldid=191033 * PrySigneToFry * (+305)
09:06:36 <ais523> b_jonas: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2024&gist=14196acc176e78d041b7b03955956b57
09:06:38 <esolangs> [[Talk:Atlas]] https://esolangs.org/w/index.php?diff=191037&oldid=191036 * Cleverxia * (+238)
09:07:24 <ais523> the destructor of `a` accesses `n` via `r`, so you see the debug message getting printed after the panic message, even though the panic is never actually caught
09:07:56 <esolangs> [[Esolang:Introduce yourself/Archive (01-02-2025 to 07-08-2026)]] https://esolangs.org/w/index.php?diff=191038&oldid=191028 * PrySigneToFry * (+105) Request deletion
09:09:06 <esolangs> [[Talk:Atlas]] https://esolangs.org/w/index.php?diff=191039&oldid=191037 * PrySigneToFry * (+145)
09:09:15 <ais523> (this can be written in stable Rust too, the unstable `DropGuard` is just to save having to write a separate type with a destructor)
09:11:22 <b_jonas> ais523: I'm not familiar with DropGuard. what does dereferencing it do?
09:13:16 <ais523> references the wrapped value (first parameter of the constructor)
09:14:31 <b_jonas> oh, so this is like a Mutex, it has a custom value field inside the structure
09:14:36 <esolangs> [[Segment]] https://esolangs.org/w/index.php?diff=191040&oldid=173770 * Cleverxia * (+116)
09:15:14 <ais523> yes
09:24:31 <esolangs> [[Immutable Brainfuck/C++ Interpreter]] N https://esolangs.org/w/index.php?oldid=191041 * None1 * (+2110) Created page with ":{{Back|Immutable Brainfuck}} The following is an interpreter for [[Immutable Brainfuck]] in [[C++]] by [[User:None1]]. It requires C++11 or newer and can only be compiled using GCC. It uses the non-standard {{cd|__gnu_cxx::crope}}, allowing i
09:24:59 <esolangs> [[Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191042&oldid=191023 * None1 * (+55) /* Implementations */
09:25:24 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191043&oldid=191021 * None1 * (+343) /* Interpreter */
09:26:00 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=191044&oldid=190773 * None1 * (+36) /* My Implementations */
09:26:37 <ais523> well, it's more like MutexGuard than Mutex
09:26:48 <esolangs> [[Immutable Brainfuck/C++ Interpreter]] https://esolangs.org/w/index.php?diff=191045&oldid=191041 * None1 * (+59)
09:26:56 <ais523> the naming isn't a coincidence, a MutexGuard is a reference to the value inside the Mutex that unlocks the Mutex when it's dropped, and can be implemented using DropGuard
09:27:04 <esolangs> [[Immutable Brainfuck/C++ Interpreter]] M https://esolangs.org/w/index.php?diff=191046&oldid=191045 * None1 * (+5)
09:27:40 <esolangs> [[Talk:Dbfi]] N https://esolangs.org/w/index.php?oldid=191047 * None1 * (+299) Created page with "Is CGBFI public domain? --~~~~"
09:28:32 <b_jonas> mod
09:29:31 <APic> Hi
09:29:38 <esolangs> [[Immutable Brainfuck/C++ Interpreter]] M https://esolangs.org/w/index.php?diff=191048&oldid=191046 * None1 * (+22)
09:34:49 <int-e> ais523: Hmm the more I look the more confused I get. take_mut::take aborts if the callee panics. Doesn't that avoid the issues under discussion?
09:35:12 <ais523> int-e: yes, it does
09:35:36 <ais523> assuming that panics are the only way to return control to anything on the call stack
09:36:24 <ais523> take_mut is incompatible with anything continuation-like, which in current Rust is primarily unwinding
09:37:22 <ais523> but there are other possibilities, like aborting a scoped thread without properly exiting it (and I'm not sure what that does in current Rust – it might technically be UB)
09:41:06 <b_jonas> oh *finally*. my online bank card uses the "new" two factor authentication thing where during online payment it sometimes makes the payment processor's webpage redirect to the bank's webpage, which asks for a two codes to validate the spending, one code is a constant per card that I can set, and one code is fresh random sent to my phone. but I always found the bank's webpage confusing me on which code I
09:41:12 <b_jonas> should enter into which field. but now they've updated the text on the interface to make it clear which one is which.
09:42:16 <int-e> nothing makes me feel more secure than my transaction being redirected through half a dozen extra sites (all of which need their own JS permissions)
09:42:22 <ais523> my bank uses a reversed method of telephone authentication: they display a code on my screen, and then phone me to ask for the code
09:42:26 <b_jonas> "assuming that panics are the only way to return control to anything on the call stack" => no, C++ exceptions are a way to do that too, and there may be more, but these still have to unwind the stack running destructors in a way that's compatible with rust panics
09:42:42 <ais523> this was pretty surprising at first, but in retrospect it makes sense
09:43:32 <ais523> it seems to be strictly more secure than the other way of doing it (because it requires an attacker to have write access to my phone rather than read access)
09:43:34 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:44:40 <b_jonas> what you aren't allowed to do is use longjmp or simlar functions to get up up in the stack without proper unwinding, and then return control to rust code or otherwise try to access rust values. that'd violate rust safety.
09:44:44 <ais523> oddly, the bank in question fails at two-factor authentication (it does a number of checks but all are "something you have", none are "something you know")
09:45:10 <ais523> this is the opposite way to fail two-factor authentication from the usual one
09:45:55 <ais523> oh right, the soundness of Pin already relies on not being able to skip scopes when unwinding
09:46:10 <int-e> . o O ( I loved this description of authentication options: something you were, something you've lost, and something you've forgotten )
09:46:56 <b_jonas> ais523: I think the bank might offer other options, but I wouldn't like the one that you describe, because I only do online card payments from my own home Linux machine, which I trust more than I could trust any smartphone the way today's smartphones are.
09:47:36 <ais523> b_jonas: I don't have a mobile phone, so these confirmations are done via a landline
09:48:01 <ais523> which does mean that any attacker would have to be in a specific physical location, or else able to inject sounds into the landline network
09:48:41 <b_jonas> oh, it's tied to your specific landline number?
09:48:46 <ais523> right
09:48:58 <b_jonas> but I thought the caller can be spoofed for those without being on site.
09:49:12 <ais523> indeed, but this would require spoofing the *callee* which is much harder
09:49:21 <ais523> the bank phones me to ask for the code, I don't phone them
09:49:21 <b_jonas> oh, the bank is calling you
09:49:24 <b_jonas> yeah, that makes more senes
09:53:19 <ais523> one big advantage of this is that I think it's the only authentication scheme I've seen that works against someone succesfully MitMing the web browser (as opposed to just the internet connection)
09:55:09 -!- tromp has joined.
09:55:47 <ais523> I guess the "we send a code to your phone" method could also send details about the amount and recipient, which would reduce that threat vector, but I don't think banks normally do that
10:18:05 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191049&oldid=191043 * Blashyrkh * (+288) /* Interpreter */ A note on the c++ interpreter
10:20:09 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191050&oldid=191049 * None1 * (+347) /* Interpreter */
10:21:03 <esolangs> [[Backjump]] https://esolangs.org/w/index.php?diff=191051&oldid=190967 * ChuckEsoteric08 * (+26)
10:27:03 -!- Everything has joined.
10:31:39 <esolangs> [[Template:Ss]] https://esolangs.org/w/index.php?diff=191052&oldid=143304 * Ractangle * (+0) Removed redirect to [[Template:H]]
10:37:30 <esolangs> [[MarkupL]] M https://esolangs.org/w/index.php?diff=191053&oldid=190852 * Ractangle * (+36)
10:40:45 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191054&oldid=191050 * None1 * (+341) /* Interpreter */ I'll add a version with std::list for the sake of portability.
10:44:50 <esolangs> [[&]] M https://esolangs.org/w/index.php?diff=191055&oldid=146682 * Ractangle * (-6) meh whatever, joking it is
10:53:34 <esolangs> [[The foo Operting System setup is either not found or can't work properly!]] N https://esolangs.org/w/index.php?oldid=191056 * Ractangle * (+866) Created page with "'''The foo Operting System setup is either not found or can't work properly!''' (or '''ms-DOS OS Not Found Error''') is a joke language inspired by [[&]] and [[Filename "xxx" doesn't seem to be a valid f
11:04:09 <esolangs> [[Immutable Brainfuck/C++ Interpreter]] https://esolangs.org/w/index.php?diff=191057&oldid=191048 * None1 * (+2064)
11:04:42 <esolangs> [[Talk:Immutable Brainfuck]] https://esolangs.org/w/index.php?diff=191058&oldid=191054 * None1 * (+284)
11:17:01 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=191059&oldid=190619 * PrySigneToFry * (+300)
11:18:12 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Esolang:Introduce yourself/Archive (01-02-2025 to 07-08-2026)]]": redirect left behind after a page was accidentally created at the wrong title
11:19:06 <esolangs> [[Immutable Brainfuck/C++ Interpreter]] M https://esolangs.org/w/index.php?diff=191060&oldid=191057 * Blashyrkh * (+2) /* list version */ You probably meant "constant time", not linear
11:40:07 <ais523> OK. it seems like in Rust, if you kill just a single thread of a multithreaded program, you get a deadlock waiting for the thread to exit
11:40:09 <ais523> which makes sense
11:41:16 -!- op_4 has quit (Remote host closed the connection).
11:41:56 -!- op_4 has joined.
11:42:42 <ais523> (I was having trouble finding APIs to do that, there doesn't seem to be such an API in Rust nor in C, so I settled for asm!("syscall", in("rax") 60, in("rdi") 5);)
11:43:18 <ais523> normally you have to specify clobbers and outputs too, but fortunately the "exit this thread" system call doesn't return, so that saved some effort wrapping it up into an asm call
11:48:37 <esolangs> [[User:Raiseafloppafan7741]] https://esolangs.org/w/index.php?diff=191061&oldid=190970 * Raiseafloppafan7741 * (+1302) /* Some strange questions and thoughts and ideas */
11:49:04 <esolangs> [[Esolang talk:2026 topicality proposal]] https://esolangs.org/w/index.php?diff=191062&oldid=190903 * None1 * (+369) /* Programming games */ new section
11:57:30 <esolangs> [[User:Raiseafloppafan7741]] M https://esolangs.org/w/index.php?diff=191063&oldid=191061 * Raiseafloppafan7741 * (+155) /* my esolangs */
12:00:35 <esolangs> [[Truck]] https://esolangs.org/w/index.php?diff=191064&oldid=153982 * Raiseafloppafan7741 * (+27) mark as unimplemented
12:01:49 <esolangs> [[Vesob]] https://esolangs.org/w/index.php?diff=191065&oldid=166224 * Raiseafloppafan7741 * (+108) mark as implemented
12:02:25 <esolangs> [[Truck]] https://esolangs.org/w/index.php?diff=191066&oldid=191064 * Raiseafloppafan7741 * (+41) mark as unknown computational class
12:05:17 <esolangs> [[Esolang talk:2026 topicality proposal]] https://esolangs.org/w/index.php?diff=191067&oldid=191062 * Blashyrkh * (+167) /* Programming games */
12:05:18 <esolangs> [[XKCD Random Number]] https://esolangs.org/w/index.php?diff=191068&oldid=190686 * Marcus 2n2 * (+17) /* Implementations */
12:05:26 <esolangs> [[Never gonna give you up]] https://esolangs.org/w/index.php?diff=191069&oldid=139766 * Dragoneater67mobile * (-11) Removed redirect to [[Never Gonna Give You Up]]
12:06:47 <esolangs> [[2D languages]] https://esolangs.org/w/index.php?diff=191070&oldid=188105 * Dragoneater67mobile * (+16)
12:07:14 <esolangs> [[Can]] https://esolangs.org/w/index.php?diff=191071&oldid=90668 * Raiseafloppafan7741 * (+129) some more categorization
12:07:50 <esolangs> [[Propositio]] https://esolangs.org/w/index.php?diff=191072&oldid=150251 * Raiseafloppafan7741 * (+27) mark as unimplemented
12:11:00 <esolangs> [[Lua]] https://esolangs.org/w/index.php?diff=191073&oldid=187139 * Raiseafloppafan7741 * (+25) mark as flat-nested
12:11:31 <esolangs> [[Pancakes]] https://esolangs.org/w/index.php?diff=191074&oldid=89919 * Raiseafloppafan7741 * (+142) categorization
12:11:37 <esolangs> [[0134]] https://esolangs.org/w/index.php?diff=191075&oldid=169469 * Yayimhere2(school) * (+84)
12:11:45 <esolangs> [[Pancakes]] M https://esolangs.org/w/index.php?diff=191076&oldid=191074 * Raiseafloppafan7741 * (+0)
12:12:36 <esolangs> [[3 (islptng)]] https://esolangs.org/w/index.php?diff=191077&oldid=174664 * Dragoneater67mobile * (+144) cat
12:14:32 <esolangs> [[Face]] https://esolangs.org/w/index.php?diff=191078&oldid=76743 * Raiseafloppafan7741 * (+152) categorization, also interpreter link is dead
12:18:28 <esolangs> [[User:Raiseafloppafan7741]] M https://esolangs.org/w/index.php?diff=191079&oldid=191063 * Raiseafloppafan7741 * (+94) change displayed signature
12:19:40 <esolangs> [[3 Bits, Tape]] https://esolangs.org/w/index.php?diff=191080&oldid=164150 * Dragoneater67mobile * (+196) cat
12:23:27 <esolangs> [[3ISC]] https://esolangs.org/w/index.php?diff=191081&oldid=167505 * Dragoneater67mobile * (+179) cat
12:24:13 <esolangs> [[''''''/()/]] https://esolangs.org/w/index.php?diff=191082&oldid=190791 * Dragoneater67mobile * (+33)
12:26:16 <esolangs> [[Opcode]] https://esolangs.org/w/index.php?diff=191083&oldid=94137 * Raiseafloppafan7741 * (+28) mark as unimplemented, also you can use spaces when referring to pages or other categories
12:29:37 <esolangs> [[Brainword]] https://esolangs.org/w/index.php?diff=191084&oldid=143958 * Raiseafloppafan7741 * (+26) also probabilistic since there is an explicit probability of a command failing
12:30:00 <esolangs> [[Brainletter]] https://esolangs.org/w/index.php?diff=191085&oldid=170379 * Raiseafloppafan7741 * (+193) categorization
12:30:36 <esolangs> [[3x3x3]] https://esolangs.org/w/index.php?diff=191086&oldid=187860 * Dragoneater67mobile * (+191) cat
12:30:44 <esolangs> [[GotoLang]] https://esolangs.org/w/index.php?diff=191087&oldid=149359 * Raiseafloppafan7741 * (+41) mark as unknown computational class
12:31:46 <esolangs> [[40]] https://esolangs.org/w/index.php?diff=191088&oldid=174916 * Dragoneater67mobile * (+28) cat
12:32:18 <esolangs> [[-]] https://esolangs.org/w/index.php?diff=191089&oldid=191024 * Yayimhere2(school) * (+112)
12:33:33 <esolangs> [[Jaune]] https://esolangs.org/w/index.php?diff=191090&oldid=89078 * Raiseafloppafan7741 * (+41) mark as unknown computational class
12:34:18 <esolangs> [[Piquant]] https://esolangs.org/w/index.php?diff=191091&oldid=111776 * Raiseafloppafan7741 * (+41) mark as unknown computational class
12:36:20 <esolangs> [[Increment]] https://esolangs.org/w/index.php?diff=191092&oldid=126219 * Raiseafloppafan7741 * (+56) mark as implemented and accumulator-based
12:37:13 <esolangs> [[42 (klk bb)]] https://esolangs.org/w/index.php?diff=191093&oldid=190162 * Dragoneater67mobile * (+223) cat
12:37:37 <esolangs> [[Braingrate]] https://esolangs.org/w/index.php?diff=191094&oldid=136073 * Raiseafloppafan7741 * (+29) add Turing complete category
12:38:02 <esolangs> [[5 bits, 160 bytes]] https://esolangs.org/w/index.php?diff=191095&oldid=176369 * Dragoneater67mobile * (+17)
12:38:04 <esolangs> [[-]] M https://esolangs.org/w/index.php?diff=191096&oldid=191089 * Blashyrkh * (+1) pl., cap.
12:38:31 <esolangs> [[99 bottles of beer, but you drank it]] https://esolangs.org/w/index.php?diff=191097&oldid=170629 * Dragoneater67mobile * (+28) cat
12:39:48 <esolangs> [[Numeric]] https://esolangs.org/w/index.php?diff=191098&oldid=150581 * Raiseafloppafan7741 * (+90) categorization, Template:Stub should be placed right at the start of a page for readers and editors to quickly see that an article is a stub
12:40:53 <esolangs> [[99 bottles of zilliondollars]] https://esolangs.org/w/index.php?diff=191099&oldid=162889 * Dragoneater67mobile * (+150) cat
12:41:15 <esolangs> [[99 points, 101 moves]] https://esolangs.org/w/index.php?diff=191100&oldid=187006 * Dragoneater67mobile * (+16)
12:41:16 <esolangs> [[Opera Ghost Language]] https://esolangs.org/w/index.php?diff=191101&oldid=122906 * Raiseafloppafan7741 * (+53) categorization, should this be marked as stub?
12:41:36 <esolangs> [[Opera Ghost Language]] https://esolangs.org/w/index.php?diff=191102&oldid=191101 * Raiseafloppafan7741 * (+41) mark as unknown computational class
12:43:14 <esolangs> [[Inside-out notation]] https://esolangs.org/w/index.php?diff=191103&oldid=41667 * Raiseafloppafan7741 * (+55) categorize as concept and operator notation
12:44:23 <esolangs> [[Mtcm]] https://esolangs.org/w/index.php?diff=191104&oldid=178942 * Raiseafloppafan7741 * (+142) categorization
12:45:01 <esolangs> [[9D brainfuck]] https://esolangs.org/w/index.php?diff=191105&oldid=157683 * Dragoneater67mobile * (+242) cat
12:46:21 <esolangs> [[9x9x9]] https://esolangs.org/w/index.php?diff=191106&oldid=187867 * Dragoneater67mobile * (+199) cat
12:47:13 <esolangs> [[Simplex]] https://esolangs.org/w/index.php?diff=191107&oldid=44907 * Raiseafloppafan7741 * (+149) categorization, mark as stub
12:47:32 -!- lynndotpy6093627 has joined.
12:48:22 <esolangs> [[EmojiStack]] https://esolangs.org/w/index.php?diff=191108&oldid=172308 * Raiseafloppafan7741 * (+67) categorization and formatting
12:48:23 <esolangs> [[Queuenanimous]] https://esolangs.org/w/index.php?diff=191109&oldid=161025 * ChuckEsoteric08 * (+30) /* See also */
12:48:34 <esolangs> [[Queuenanimous]] https://esolangs.org/w/index.php?diff=191110&oldid=191109 * ChuckEsoteric08 * (+1)
12:50:14 <esolangs> [[Twimp]] https://esolangs.org/w/index.php?diff=191111&oldid=35115 * Raiseafloppafan7741 * (+110) categorization
12:51:58 <esolangs> [[;)]] https://esolangs.org/w/index.php?diff=191112&oldid=156975 * Dragoneater67mobile * (+207) cat; marked as stub since commands seem to be underspecified
12:57:11 <esolangs> [[A&S]] https://esolangs.org/w/index.php?diff=191113&oldid=175667 * Dragoneater67mobile * (+191) cat
12:57:53 <esolangs> [[A&S]] M https://esolangs.org/w/index.php?diff=191114&oldid=191113 * Dragoneater67mobile * (-18)
13:03:27 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=191115&oldid=191044 * None1 * (+42) /* My Articles */
13:07:06 <esolangs> [[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!]] https://esolangs.org/w/index.php?diff=191116&oldid=180771 * Dragoneater67mobile * (+189) cat
13:08:54 <esolangs> [[]] https://esolangs.org/w/index.php?diff=191117&oldid=180671 * Raiseafloppafan7741 * (+41) mark as unknown computational class
13:09:53 <esolangs> [[Supervised P with Printing]] https://esolangs.org/w/index.php?diff=191118&oldid=181780 * None1 * (-29) /* Computational Class */ A language that uses AI might not be generated by AI
13:11:02 <esolangs> [[ALLCAPS]] https://esolangs.org/w/index.php?diff=191119&oldid=158296 * Dragoneater67mobile * (+154) cat
13:11:27 -!- chloetax has quit (Ping timeout: 252 seconds).
13:11:29 <esolangs> [[ARLPLWAAWN]] https://esolangs.org/w/index.php?diff=191120&oldid=157319 * Dragoneater67mobile * (+16)
13:12:06 <esolangs> [[User talk:Miui]] https://esolangs.org/w/index.php?diff=191121&oldid=190794 * Miui * (+323) /* //()/()/ */ (Mental note)
13:12:22 <b_jonas> ais523: send a code to my phone does send the total and the recipient, but neither are completely reliable, because allowing the transaction may make the heuristic accept later similar transactions without asking for a code, and the recipient name is often some obscure company name that you can't easily associate with the marketing names of the vendor that you're buying from. the receipt or bill from
13:12:28 <b_jonas> the vendor will tell you the company name, but you usually only get that after you pay.
13:13:31 <esolangs> [[Unthree star programmer]] N https://esolangs.org/w/index.php?oldid=191122 * Cleverxia * (+1606) Created page with "{{lang|a=user:cleverxia|i=[[Three Star Programmer]]}} where you decide the ''number'' of dereferences instead of the dereferenced address. ==Syntax== A program here is just a cyclic infinite sequence of positive numbers. (you may just input the instruc
13:13:51 <esolangs> [[Unthree star programmer]] https://esolangs.org/w/index.php?diff=191123&oldid=191122 * Cleverxia * (+3) /* Program flow */
13:14:37 <esolangs> [[User:Cleverxia]] https://esolangs.org/w/index.php?diff=191124&oldid=189989 * Cleverxia * (+74)
13:16:16 <esolangs> [[OISC]] https://esolangs.org/w/index.php?diff=191125&oldid=188026 * Cleverxia * (+169) /* List of OISCs */
13:16:30 <esolangs> [[*T]] M https://esolangs.org/w/index.php?diff=191126&oldid=159859 * Dragoneater67mobile * (+3) remove transclusion of a nonexistent template
13:19:33 <esolangs> [[-string]] https://esolangs.org/w/index.php?diff=191127&oldid=161150 * Dragoneater67mobile * (-26) remove nonexistent category
13:20:00 <esolangs> [[Stringle]] https://esolangs.org/w/index.php?diff=191128&oldid=136123 * Dragoneater67mobile * (-26) remove nonexistent category
13:20:27 <esolangs> [[Txet]] https://esolangs.org/w/index.php?diff=191129&oldid=148782 * Dragoneater67mobile * (-26) remove nonexistent category
13:21:08 <esolangs> [[TypeString]] https://esolangs.org/w/index.php?diff=191130&oldid=171463 * Dragoneater67mobile * (-26) remove nonexistent category
13:21:34 <esolangs> [[MoreMathRPN]] https://esolangs.org/w/index.php?diff=191131&oldid=184246 * Dragoneater67mobile * (-16) remove nonexistent category
13:22:11 <esolangs> [[Pointing]] https://esolangs.org/w/index.php?diff=191132&oldid=174081 * Dragoneater67mobile * (-16) remove nonexistent category
13:22:17 <esolangs> [[Special:Log/upload]] upload * Raiseafloppafan7741 * uploaded "[[File:Scratch Rube Goldberg interpreter.png]]": Interpreter for [[Rube Goldberg]].
13:22:55 <esolangs> [[EWCO]] https://esolangs.org/w/index.php?diff=191134&oldid=157024 * Dragoneater67mobile * (-30) remove nonexistent category
13:23:19 <esolangs> [[Oddity]] N https://esolangs.org/w/index.php?oldid=191135 * ChuckEsoteric08 * (+1529) Created page with "'''Oddity''' is a [[queue]]-based esolang by [[User:ChuckEsoteric08]]. ==Specification== The language uses an unbounded queue of integers, initially empty and has 6 commands: *<code>0</code> - enqueue 0 *<code>+</code> - dequeue, increment and enqueue back *<code
13:23:27 <esolangs> [[MoreMathRPN]] https://esolangs.org/w/index.php?diff=191136&oldid=191131 * Dragoneater67mobile * (-18) how did i miss that???
13:23:37 <esolangs> [[User:ChuckEsoteric08]] https://esolangs.org/w/index.php?diff=191137&oldid=190899 * ChuckEsoteric08 * (+13) /* 2026 */
13:24:06 <esolangs> [[Template:Infobox AI proglang]] https://esolangs.org/w/index.php?diff=191138&oldid=189894 * Dragoneater67mobile * (-23) remove nonexistent category
13:24:26 <esolangs> [[9D brainfuck]] M https://esolangs.org/w/index.php?diff=191139&oldid=191105 * Dragoneater67mobile * (+0) fix typo
13:27:33 <ais523> wow, that Unthree star programmer idea looks horrible to prove the computational class of
13:31:24 <esolangs> [[-]] M https://esolangs.org/w/index.php?diff=191140&oldid=191096 * Dragoneater67mobile * (+4) reword
13:31:30 <ais523> I think the techniques form the original 3*P might still work, but a) they were a bit frustrating to figure out the first time and b) it's likely that all the details will be different
13:32:35 <esolangs> [[Inputbrain]] https://esolangs.org/w/index.php?diff=191141&oldid=163698 * ChuckEsoteric08 * (+26)
13:32:42 <esolangs> [[Huesolangs]] N https://esolangs.org/w/index.php?oldid=191142 * Miui * (+164) Creating Huesolangs
13:33:11 <esolangs> [[Unthree star programmer]] https://esolangs.org/w/index.php?diff=191143&oldid=191123 * Ais523 * (+23) /* Interpreter in js */ the '' was being interpreted as wikimarkup, surround in nowiki (and in <pre> because leading-space markup probably doesn't work inside <nowiki>)
13:33:36 <esolangs> [[Huesolangs]] https://esolangs.org/w/index.php?diff=191144&oldid=191142 * Miui * (+15) Make progress
13:33:54 <ais523> hmm, it probably says a lot about me that I considered adding [] to be the standard way to stringify things in JS
13:34:02 -!- amby has joined.
13:34:02 <esolangs> [[Huesolangs]] M https://esolangs.org/w/index.php?diff=191145&oldid=191144 * Miui * (+0) Continue making progress
13:34:07 <ais523> (too used to restricted-character subsets where [] is much easier to produce than "")
13:35:22 <esolangs> [[Unthree star programmer]] M https://esolangs.org/w/index.php?diff=191146&oldid=191143 * Dragoneater67mobile * (+2) /* Program flow */ parenthesize
13:36:45 <esolangs> [[Rube Goldberg]] https://esolangs.org/w/index.php?diff=191147&oldid=47301 * Raiseafloppafan7741 * (+4030) this is a member of the ConstantLanguage() family, also describe the Code Golf Stack Exchange challenge in question, also add some more interpreters
13:37:59 <esolangs> [[Eselangs]] https://esolangs.org/w/index.php?diff=191148&oldid=190999 * Miui * (+32) not a dis just saying foo
13:38:26 <ais523> actually you can very nearly compile 3*P into this (assuming you don't need to compile the I/O conventions), reserve tape elements that are x mod y as temporaries and use 1 commands to increment cell 3 to point to a fresh temporary, then 2 commands to increment the temporary to the value you want, then a 5 command to do one step of the emulated 3*P program
13:38:50 <b_jonas> Unthree star programmer => wow. it may be horrible, but at least there's a chance that it's horrible in some interesting way. unless it fails to be Turing-complete for some trivial reason.
13:39:23 <ais523> the hard part is to avoid collisions between the temporaries and the cells that are storing the values of the emulated 3*P program
13:39:27 <b_jonas> are the memory cells assumed to all start from zero? and do the commands still run in an infinite loop?
13:40:11 <ais523> yes to the infinite loop, the starting from zero isn't stated in the article but is specified by the interpreter
13:40:15 <esolangs> [[User:B jonas/List]] https://esolangs.org/w/index.php?diff=191149&oldid=187356 * B jonas * (+54)
13:40:46 <esolangs> [[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABasic]] https://esolangs.org/w/index.php?diff=191150&oldid=179364 * None1 * (-69) /* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */ Remove non-existent category
13:41:30 <esolangs> [[Esme]] https://esolangs.org/w/index.php?diff=191151&oldid=189017 * None1 * (-22) /* Implementations */ Remove non-existent category
13:43:41 -!- chloetax has joined.
13:44:11 <ais523> OK, so what you can do is to use 1 1 1 2 2 2 2 2 2 1 to increment cell 3 by 4 and use that to hit the temporaries, except that the first time you do it it increments it by 10 instead, so you use cells that are 1 or 2 mod 4 as the temporaries
13:44:22 <ais523> and that lets you use the cells that are 0 mod 4 as data storage
13:44:59 <esolangs> [[Huesolangs]] https://esolangs.org/w/index.php?diff=191152&oldid=191145 * Miui * (+177)
13:45:40 <esolangs> [[Huesolangs]] https://esolangs.org/w/index.php?diff=191153&oldid=191152 * Miui * (+39)
13:51:22 <ais523> oh no, the 2s past the first don't work
13:51:39 <esolangs> [[Huesolangs]] https://esolangs.org/w/index.php?diff=191154&oldid=191153 * Miui * (+25) just saying foo
13:51:47 <esolangs> [[Problemang Sikat]] https://esolangs.org/w/index.php?diff=191155&oldid=190895 * Raiseafloppafan7741 * (+1110) Add Rube Goldberg and ConstantLanguage()
13:52:52 <esolangs> [[Eselangs]] https://esolangs.org/w/index.php?diff=191156&oldid=191148 * Miui * (-2) Distinguish confusion foo
13:52:53 <b_jonas> ais523: so you first increment *3 by 4 to get a fresh temporary address, at which point **3 should be 0, then you increment **3 as many times as four times the operand of the 3SP program that you're compiling from, then increment *****3 four times to emulate the 3SP instruction. you have to make sure that the cells that emulate 3SP cells (storing their value times 4) can't overlap with the cells that
13:52:59 <b_jonas> store your temporary address, but the mod 4 can arrange that.
13:53:13 <ais523> b_jonas: right
13:53:31 <ais523> the specific compiler I wrote above doesn't work because the initialisation routine doesn't work properly
13:53:44 <ais523> I think 1 1 1 2 1 1 1 1 1 1 works, though
13:54:02 <b_jonas> and the emulating cells should be in addresses divisible by 4 so that they can start with value 0
13:54:28 <ais523> temporaries are locations that are 1 or 4 mod 9, emulating cells are in addresses divisible by 9
13:55:38 <b_jonas> so cell 3 is neither
13:56:01 <ais523> indeed, it can't be either
13:57:52 <esolangs> [[Rube Goldberg]] https://esolangs.org/w/index.php?diff=191157&oldid=191147 * Raiseafloppafan7741 * (+1261) add some more languages
14:00:20 <esolangs> [[Unthree star programmer]] https://esolangs.org/w/index.php?diff=191158&oldid=191146 * Ais523 * (+2078) /* Computational class */ TCness proof
14:00:41 <esolangs> [[Unthree star programmer]] M https://esolangs.org/w/index.php?diff=191159&oldid=191158 * Ais523 * (-12) TC cat
14:02:59 <b_jonas> the question is, is it possible that Unthree SP is easier to program than 3SP, because, assuming you still keep different roles in cells modulo some length, you can easily just write any constant value to a temporary to use as address, and then you still have a free choice of how many times you dereference from there
14:05:02 <ais523> yes, I think it's probably a bit easier
14:05:48 <ais523> although you can more or less do the same thing in 3*P too (you are limited to a maximum of three dereferences but you can form intentional indirections to waste some of your dereferences, letting you do two or one dereference if you prefer)
14:06:54 <ais523> unthree is probably slightly easier to get the startup correct in (basically you need to ensure that the startup code doesn't end up doing anything bad when run not during startup, which is usually possible using parity / modular arithmetic tricks)
14:07:07 <b_jonas> yeah, I think there might not be a way to actually use the extra flexibility of Unthree
14:07:23 <ais523> it's more, who would need more than three dereferences? :-D
14:07:46 <ais523> (three is the minimum for TCness, with only two you eventually become incapable of meaningfully reading anything)
14:07:59 <b_jonas> well you probably won't be using more than five or six dereferences even in Unthree
14:09:37 <esolangs> [[Unthree star programmer]] M https://esolangs.org/w/index.php?diff=191160&oldid=191159 * Ais523 * (+0) /* Computational class */ fix off-by-one error
14:09:59 <b_jonas> I guess you might ask whether it's turing-complete if the instructions are capped to no more than four stars
14:10:32 <esolangs> [[.:]] N https://esolangs.org/w/index.php?oldid=191161 * Miui * (+348) Create page
14:11:08 <esolangs> [[.:]] M https://esolangs.org/w/index.php?diff=191162&oldid=191161 * Miui * (-1) Fix outlink
14:12:40 <esolangs> [[Unthree star programmer]] https://esolangs.org/w/index.php?diff=191163&oldid=191160 * B jonas * (+73) memory initial state
14:12:45 <esolangs> [[Eselangs]] https://esolangs.org/w/index.php?diff=191164&oldid=191156 * Miui * (+1) Distinguish confusion some more foo
14:13:16 <b_jonas> wait
14:13:26 <b_jonas> isn't Unthree very similar to https://esolangs.org/wiki/I/D_machine ?
14:13:48 <b_jonas> can't you compile I/D machine programs to Unthree?
14:14:11 <b_jonas> if you can then that's a simpler proof that Unthree is Turing-complete
14:15:56 <b_jonas> the differences are that the register of the I/D machine is memory-mapped to address 3 in Unthree, and that the program is encoded in a different way, where in I/D machine you write the number of I instructions between D instructions, whereas in Unthree you write the number of D instruction between two I instructions
14:17:10 <ais523> you can't easily do that compilation (although I considered it)
14:17:33 <ais523> the I/D machine lets you repeatedly dereference the data pointer in order to move it around
14:17:41 <esolangs> [[User:B jonas/List]] https://esolangs.org/w/index.php?diff=191165&oldid=191149 * B jonas * (+61) Unthree star programmer
14:17:45 <ais523> i.e. it has an x = *x operation
14:18:02 <ais523> this doesn't correspond to anything in Unthree, which can't trivially copy data between cells
14:18:33 <b_jonas> hmm
14:19:25 <b_jonas> so is there a backwards compilation, from Unthree to I/D machine? you'd need a cell modulo pattern so that you can easily reset the I/D data pointer to 0 before each Unthree instruction
14:19:28 <ais523> the opposite compilation is probably easier, although still nontrivial as the I/D machine doesn't have an easy way to get the data pointer back to a known location
14:20:30 <ais523> really the hard part of the I/D machine is that if you use the standard "zeroing track" method to get the data pointer home, it means that you need to leave memory with values pointing to the zeroing track, whereas to actually read it, you need to leave it with values pointing to things other than the zeroing track
14:20:44 <ais523> so your invariants for the state in which to leave memory get very complicated
14:20:45 <esolangs> [[FlamePL]] https://esolangs.org/w/index.php?diff=191166&oldid=190567 * PrySigneToFry * (+91)
14:20:52 <b_jonas> hmm
14:21:08 <ais523> (which is why I implemented cyclic tag, it has extremely restricted control flow which means that you can get away with a complicated data invariant)
14:22:08 <esolangs> [[User:B jonas/List]] https://esolangs.org/w/index.php?diff=191167&oldid=191165 * B jonas * (-28) Unthree star programmer
14:22:28 <esolangs> [[FlamePL/Python Interpreter]] https://esolangs.org/w/index.php?diff=191168&oldid=190570 * PrySigneToFry * (+1498)
14:23:09 <b_jonas> anyway, this indeed turned out to be a nice horrible idea, because not counting the IO conventions, the language is very easy to describe, and turns out to be a Turing-tarpit
14:23:25 <esolangs> [[GangLang]] https://esolangs.org/w/index.php?diff=191169&oldid=190614 * Miui * (+62) /* See also */ add some related links YO
14:24:00 <ais523> it certainly makes a change from the usual BF-like, Deadfish-like and example-based languages
14:24:42 <esolangs> [[FlamePL]] https://esolangs.org/w/index.php?diff=191170&oldid=191166 * PrySigneToFry * (+476)
14:25:03 <b_jonas> it's *almost* canonical, except for the part where it's unclear if the starting address should really be 3
14:25:31 <b_jonas> starting address 1 may be more canonical and probably not harder to program
14:27:13 <b_jonas> I guess that'd be called Unonestar programmer
14:29:07 <esolangs> [[Simpl]] https://esolangs.org/w/index.php?diff=191171&oldid=189920 * Cordership * (+268) /* Syntax */
14:29:31 <ais523> zero would be interesting (and probably still TC, but annoying)
14:48:37 <esolangs> [[Unthree star programmer]] https://esolangs.org/w/index.php?diff=191172&oldid=191163 * Cleverxia * (+11) /* null program */ fix program because specification changed
14:54:05 <esolangs> [[Overshoot Dirac Delta]] N https://esolangs.org/w/index.php?oldid=191173 * Yayimhere2(school) * (+1265) Incomplete description I have headache and cant write no more.
14:54:48 <esolangs> [[User:Raiseafloppafan7741]] M https://esolangs.org/w/index.php?diff=191174&oldid=191079 * Raiseafloppafan7741 * (+907)
15:04:07 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:12:13 -!- tromp has joined.
15:19:38 -!- Everything has quit (Quit: leaving).
15:44:41 <esolangs> [[Folat]] M https://esolangs.org/w/index.php?diff=191175&oldid=190888 * Ytebbit * (+5) Correcting the user and formatting
15:49:42 -!- Sgeo has joined.
15:55:49 <int-e> There's a "Multiple Horse Theory" but why have I not heard of it before ;-) Surely this is evidence that it must be false.
16:19:18 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:20:34 -!- tromp has joined.
16:27:47 <esolangs> [[Permission denied]] M https://esolangs.org/w/index.php?diff=191176&oldid=186345 * Raiseafloppafan7741 * (-24) use Template:CL
16:31:06 <esolangs> [[Esolang talk:2026 topicality proposal]] https://esolangs.org/w/index.php?diff=191177&oldid=191067 * Raiseafloppafan7741 * (+768) /* Merging pages */ sussy question
16:32:40 <esolangs> [[Esolang talk:2026 topicality proposal]] M https://esolangs.org/w/index.php?diff=191178&oldid=191177 * Raiseafloppafan7741 * (+1) /* Merging pages */ typo
16:54:58 <esolangs> [[Esolang talk:2026 topicality proposal]] https://esolangs.org/w/index.php?diff=191179&oldid=191178 * Corbin * (+937) /* Merging pages */ We find patterns.
17:03:52 <aadenboy> good morning
17:04:25 <esolangs> [[Esolang talk:2026 topicality proposal]] M https://esolangs.org/w/index.php?diff=191180&oldid=191179 * Raiseafloppafan7741 * (+316) /* Merging pages */ that makes a lot of sense, thanks!
17:05:38 <esolangs> [[Trivial deadfish substitution]] https://esolangs.org/w/index.php?diff=191181&oldid=189362 * Corbin * (+148) Undo revision [[Special:Diff/189362|189362]] by [[Special:Contributions/None1|None1]] ([[User talk:None1|talk]]): No, I think that this appears to be a real variation. The target page has a table showing how it is a four-command TDS!
17:09:01 <esolangs> [[Trivial deadfish substitution]] https://esolangs.org/w/index.php?diff=191182&oldid=191181 * Corbin * (+356) /* Examples */ Explain variations better. This is likely what provoked the earlier removal of from the table.
17:10:16 <esolangs> [[Template:TDS]] N https://esolangs.org/w/index.php?oldid=191183 * Aadenboy * (+146) mirroring [[Template:CL]]
17:11:02 <esolangs> [[Pete mort]] https://esolangs.org/w/index.php?diff=191184&oldid=189298 * Aadenboy * (-48) [[Template:TDS]]
17:11:41 <esolangs> [[F!--]] https://esolangs.org/w/index.php?diff=191185&oldid=189339 * Aadenboy * (-79) [[Template:TDS]]
17:12:14 <esolangs> [[XKCD Random Number]] https://esolangs.org/w/index.php?diff=191186&oldid=191068 * Corbin * (+111) Identify a constant language.
17:12:26 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:13:19 <esolangs> [[]] https://esolangs.org/w/index.php?diff=191187&oldid=174659 * Aadenboy * (+95) [[Template:TDS]]
17:13:58 <esolangs> [[XKCD Random Number]] https://esolangs.org/w/index.php?diff=191188&oldid=191186 * Aadenboy * (-33)
17:14:15 <esolangs> [[Template:TDS]] M https://esolangs.org/w/index.php?diff=191189&oldid=191183 * Aadenboy * (+0)
17:16:22 -!- DOS_User_webchat has joined.
17:17:17 -!- DOS_User_webchat has quit (Client Quit).
17:22:16 <esolangs> [[User talk:Raiseafloppafan7741]] M https://esolangs.org/w/index.php?diff=191190&oldid=190454 * Raiseafloppafan7741 * (+330) /* Oh yeah and this */ yes, you can.
17:24:23 <esolangs> [[Overshoot Dirac Delta]] https://esolangs.org/w/index.php?diff=191191&oldid=191173 * Yayimhere2(school) * (+304)
17:24:55 -!- tromp has joined.
17:31:02 <esolangs> [[User:Raiseafloppafan7741/Sandbox]] M https://esolangs.org/w/index.php?diff=191192&oldid=190019 * Raiseafloppafan7741 * (+194) /* mysignature */
17:32:44 <esolangs> [[User:ChuckEsoteric08]] https://esolangs.org/w/index.php?diff=191193&oldid=191137 * ChuckEsoteric08 * (+12) /* 2026 */
17:34:26 <esolangs> [[User:Raiseafloppafan7741/Sandbox]] M https://esolangs.org/w/index.php?diff=191194&oldid=191192 * Raiseafloppafan7741 * (+319) /* mysignature */
17:40:34 <esolangs> [[User:Raiseafloppafan7741/Sandbox]] M https://esolangs.org/w/index.php?diff=191195&oldid=191194 * Raiseafloppafan7741 * (+226) /* did you know that \pi e is delicious */
18:07:02 <esolangs> [[Overshoot Dirac Delta]] https://esolangs.org/w/index.php?diff=191196&oldid=191191 * Yayimhere2(school) * (+404) still WIP
18:07:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:33:40 <ais523> korvo: if a language has extra commands, I'm not convinced it's a trivial substitutino
18:34:19 <ais523> (I'm reminded of the time when, after inventing the I/D machine, I searched through BF derivatives to find one that had both commands already)
18:34:42 -!- tromp has joined.
18:34:50 <korvo> ais523: Hence why we're saying that a variation on that language, not the original language itself, gives the substitution. Feel free to improve the wording if it doesn't communicate that.
18:35:55 <korvo> Going in the other direction, embedding deadfish into those languages, is certainly trivial. So the TDS merely highlights the "copy" of deadfish sitting inside them.
18:36:22 <ais523> now I'm wondering what the tarpittiest way is to make a Deadfish-like language TC
18:36:51 <ais523> I think, to me, the defining factor that makes a language Deadfish-like is that it has one integer variable and no control flow
18:36:58 <ais523> it seems quite difficult to make a TC language out of that
18:38:03 <korvo> Yeah. It's just an encoding. Compressibility is kind of interesting.
18:38:56 <ais523> I'm thinking more along the lines of "put it in an implicit loop and define a command set that makes that TC somehow", but increment/decrement/square clearly isn't enough
18:39:54 <korvo> We could remove all of the variations from TDS too. I wouldn't really mind too much. It seemed though that folks contributing to [[deadfish]] wanted to highlight how those specific variations mapped to deadfish, and a TDS happens to completely summarize those relationships.
18:40:15 <korvo> *each of those relationships is completely summarized by a TDS. Thanks English.
18:40:25 <ais523> one thing I've noticed over the years is that although statements along the lines of "all Turing-complete languages can X" (where X is something that some Turing-implementable program can do) are tautologies, X = "implement a lookup table" is an extremely good guideline for a direction to try to prove TCness in
18:40:50 <ais523> and Deadfish is a long way away from being able to implement a lookup table
18:42:47 <ais523> I guess one way of looking at it is that a lookup table plus a loop plus some arithmetic operation that can operate in a meaningfully unbounded way tends to go TC pretty much by accident
19:04:43 <esolangs> [[IF UPPERCASE KEYWORDS == ESOTERIC THEN DIE ELSE DIE END]] N https://esolangs.org/w/index.php?oldid=191197 * Raiseafloppafan7741 * (+6052) Make a page for whatever the hell you'd consider this monstrosity as.
19:08:02 <esolangs> [[IF UPPERCASE KEYWORDS == ESOTERIC THEN DIE ELSE DIE END]] M https://esolangs.org/w/index.php?diff=191198&oldid=191197 * Raiseafloppafan7741 * (+8) /* Computational class */ wrong name idiot
19:10:08 <esolangs> [[User:Raiseafloppafan7741]] M https://esolangs.org/w/index.php?diff=191199&oldid=191174 * Raiseafloppafan7741 * (+156) /* 2025-2026 - flop era */ add IF UPPERCASE KEYWORDS == ESOTERIC THEN DIE ELSE DIE END
19:11:45 <APic> cu
19:13:16 <esolangs> [[User:Raiseafloppafan7741]] M https://esolangs.org/w/index.php?diff=191200&oldid=191199 * Raiseafloppafan7741 * (+271) /* My favorite esolangs that I made/worked on */ add the aforementioned monstrosity
19:15:18 <esolangs> [[User:Raiseafloppafan7741]] M https://esolangs.org/w/index.php?diff=191201&oldid=191200 * Raiseafloppafan7741 * (+0) /* my esolangs */ update the counter, it's only fitting for a counter machine
19:21:30 <esolangs> [[User:Aadenboy/xml maybe]] M https://esolangs.org/w/index.php?diff=191202&oldid=170069 * Aadenboy * (+24) fix line spacing
19:22:14 <aadenboy> ^ I like how this draft looks
19:23:00 <aadenboy> thematic esolangs like this aren't alike what I would probably make today, it'd be fun to go back and flesh it out more
19:23:13 <ais523> huh, is that string written in unary-coded decimal?
19:23:38 <aadenboy> yeah
19:23:48 <aadenboy> I think
19:24:22 <ais523> now I'm wondering what the best base for unary-coded base n is
19:27:32 <aadenboy> length-per-digit-wise it'd be binary since larger bases would require longer unary for the digits
19:28:00 <aadenboy> but it probably would be negligible for the first few bases as encoding being shorter would win out first
19:28:22 <ais523> well, let's say we have a bijective encoding, e.g. the digits of binary are 1 and 2 rather than 0 and 1
19:28:40 <ais523> (good both because it's shorter and because you don't have to figure out how to encode 0)
19:29:47 <ais523> bases 2 and 4 are the easiest to directly compare, pairs of digits in base 2 are 1/1/, 1/11/, 11/1/, or 11/11, whereas a single digit in base 4 is 1/, 11/, 111/, or 1111/
19:29:54 <ais523> and base 4 is shorter or tied in all four cases
19:30:14 <aadenboy> that's what I figured
19:30:16 <int-e> ais523: would you allow / for 0?
19:30:16 <ais523> at a guess i would say the optimum is probably base e, which means likely 3 in practice as it's the nearest integer
19:30:59 <ais523> int-e: you could do (or just treat the / as containing an implicit 1), so //, /1/, 1//, 1/1/ versus /, 1/, 11/, 111/, looks to be the same tradeoff
19:31:13 <aadenboy> writing a test for this
19:31:57 <int-e> > maximum [(log x/(1+x), x) | x <- [1..10]] -- (1+x)/2 being the average length of a digit if you use /, 1/, 11/ etc.
19:31:58 <lambdabot> (0.2772588722239781,4.0)
19:32:12 <int-e> > maximum [(log x/(3+x), x) | x <- [1..10]] -- (3+x)/2 being the average length of a digit if you use 1/, 11/, 111/ etc.
19:32:13 <lambdabot> (0.20117973905426254,5.0)
19:32:25 <aadenboy> ah
19:32:35 <int-e> ais523: e would maximize log x/x
19:35:32 <esolangs> [[IF UPPERCASE KEYWORDS == ESOTERIC THEN DIE ELSE DIE END]] https://esolangs.org/w/index.php?diff=191203&oldid=191198 * Raiseafloppafan7741 * (+1317) /* Examples */ Add some examples
19:37:09 <esolangs> [[IF UPPERCASE KEYWORDS == ESOTERIC THEN DIE ELSE DIE END]] https://esolangs.org/w/index.php?diff=191204&oldid=191203 * Raiseafloppafan7741 * (-38) remove unusable for programming category
19:38:05 <int-e> aadenboy: oh and the answer will probably be different if you target a specific small-ish range (like ASCII codes)
19:38:50 <int-e> oh. "double nop is a 0" works I guess
19:39:24 <int-e> aadenboy: alternatively, you could allow 10 as a digit value. So instead of 70, you'd use 6A
19:39:59 <aadenboy> interesting
19:40:03 <int-e> (no big difference overall, just perhaps slightly more regular)
19:40:05 <esolangs> [[IF UPPERCASE KEYWORDS == ESOTERIC THEN DIE ELSE DIE END]] https://esolangs.org/w/index.php?diff=191205&oldid=191204 * Raiseafloppafan7741 * (+158) /* A+B Problem */ Add support for negative numbers
19:40:42 <esolangs> [[IF UPPERCASE KEYWORDS == ESOTERIC THEN DIE ELSE DIE END]] M https://esolangs.org/w/index.php?diff=191206&oldid=191205 * Raiseafloppafan7741 * (+21) /* A+B Problem */
19:44:27 <esolangs> [[User:Aadenboy/Unary-encoded bases]] N https://esolangs.org/w/index.php?oldid=191207 * Aadenboy * (+24870) Created page with "{| class="wikitable" ! Number !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! 10 !! 11 !! 12 !! 13 !! 14 !! 15 !! 16 !! 17 !! 18 !! 19 !! 20 !! 21 !! 22 !! 23 !! 24 |- ! 0 |0||0||0||0||0||0||0||0||0||0||0||0||0||0||0||0||0||0||0||0||0||0||0 |- ! 1
19:45:27 <aadenboy> yep, base 3 performs the best
19:46:03 <aadenboy> 3, 4, 5, 6, 7, 2, 8, ...
19:46:56 <int-e> > maximum [(log x/(2+x), x) | x <- [1..10]] -- (2+x)/2 being the average length of a digit if you use //, 1/, 11/ etc.
19:46:58 <lambdabot> (0.23104906018664842,4.0)
19:47:45 <int-e> ...
19:47:50 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:48:28 <int-e> > maximum [(log x/((1+x)/2 + 1/x), x) | x <- [1..10]] -- (1+x)/2 + 1/x being the average length of a digit if you use //, 1/, 11/ etc.
19:48:30 <lambdabot> (0.504107040407233,4.0)
19:48:35 <int-e> arithmetic is hard :P
19:49:16 <aadenboy> base 2 becomes best using //, 1/, ...
19:49:21 <int-e> aadenboy: anyway I *think* base 4 should be slightly better for large numbers
19:49:35 <int-e> > maximum [(log x/((1+x)/2 + 1/x), x) | x <- [3,4]]
19:49:36 <lambdabot> (0.504107040407233,4.0)
19:49:41 <int-e> grr
19:49:44 <int-e> > [(log x/((1+x)/2 + 1/x), x) | x <- [3,4]]
19:49:46 <lambdabot> [(0.47083383800061845,3.0),(0.504107040407233,4.0)]
19:50:12 <aadenboy> running a test to 1 mil
19:51:01 <aadenboy> int-e: ah, base 4 *is* best now
19:51:08 <int-e> Admittedly the difference between 0.47 and 0.50 is not super large. (This measures... asymptotic base-e "bits" per character)
19:51:30 * int-e dropped some constant factors
19:51:35 <esolangs> [[User:Aadenboy/Unary-encoded bases]] https://esolangs.org/w/index.php?diff=191208&oldid=191207 * Aadenboy * (+681)
19:53:09 <aadenboy> with //, 1/ it's base 2 that's best
19:58:32 <int-e> Hmm, are you sure?
19:59:07 <aadenboy> I believe I'm doing it correctly. the only difference between 0-as-empty and bijective is the digits are one longer in unary, right?
19:59:29 <aadenboy> at least in this context
20:04:45 <aadenboy> good example would be 16; 10000 is 1//// for one digit in the former, 11/1/1/1/1 for six digits in the latter
20:05:49 <esolangs> [[User:Aadenboy/Unary-encoded bases]] https://esolangs.org/w/index.php?diff=191209&oldid=191208 * Aadenboy * (-3902)
20:06:11 <esolangs> [[User:Aadenboy/Unary-encoded bases]] M https://esolangs.org/w/index.php?diff=191210&oldid=191209 * Aadenboy * (+34)
20:07:15 <esolangs> [[User:Aadenboy/Unary-encoded bases]] https://esolangs.org/w/index.php?diff=191211&oldid=191210 * Aadenboy * (-11)
20:08:18 <int-e> aadenboy: but your table has 1//// at length 1?
20:08:55 <aadenboy> the delimiter would be irrelevant, no?
20:09:09 <int-e> no, the delimiter tells you which digit is which
20:09:21 <int-e> or how many digits there are
20:10:53 <int-e> > maximum [(log x/(x-1), x) | x <- [2..10]] -- ambiguity issues aside, the average length of "","1",... would be (x-1)/2
20:10:54 <lambdabot> (0.6931471805599453,2.0)
20:11:18 <int-e> so yeah, the theory agrees that base 2 comes out on top under this measure
20:11:34 <int-e> but I *think* you're off by one in both tables
20:12:32 <int-e> (per digit)
20:13:22 <esolangs> [[User:Aadenboy/Unary-encoded bases]] https://esolangs.org/w/index.php?diff=191212&oldid=191211 * Aadenboy * (+1135) fix stats
20:14:57 <aadenboy> 4 and 5 are best in 0-as-empty and bijective respectively now, at least up to 1 million
20:17:00 <int-e> Oh, there's more. bijective encoding would encode 15 in base 2 as 1111 (cost: 8) and 16 in base 2 as 1112 (cost: 9). So the base conversion is off. This doesn't affect asymptotics.
20:18:27 <aadenboy> hah gotta redo my bijective conversion then
20:19:15 <int-e> > let cost b 0 = 0; cost b n | (n,d) <- (n-1) `divMod` b = d+2 + cost b n in (cost 2 15, cost 2 16)
20:19:17 <lambdabot> (8,9)
20:21:24 <int-e> aadenboy: and for the bottom tables, why are you dividing by 100 instead of 10^6 :)
20:21:48 <aadenboy> I forgot to update the number xd
20:22:07 <aadenboy> didn't bother separating out values, which I should do
20:28:05 -!- tromp has joined.
20:37:07 <aadenboy> wouldn't those be 7 and 8
20:41:56 <esolangs> [[User:Aadenboy/Unary-encoded bases]] https://esolangs.org/w/index.php?diff=191213&oldid=191212 * Aadenboy * (-264)
20:47:34 -!- ais523 has quit (Quit: quit).
20:51:59 <int-e> aadenboy: Ah for simplicity I always have a trailing separator.
20:55:44 <int-e> aadenboy: That is, I map digits 1,2,... to the strings 1/, 11/, ...; 15 is encodes as 1/1/1/1/. This is actually kind of important for 0 mapping to the empty string to fit into the same scheme.
20:58:25 <esolangs> [[User:Aadenboy/Unary-encoded bases]] M https://esolangs.org/w/index.php?diff=191214&oldid=191213 * Aadenboy * (+5)
21:00:21 <b_jonas> Imagine the following language. The machine has a tape of bits, initialized to all zero, plus a single condition flag. The program is a sequence of instructions that runs in an infinite loop. There are two unconditional instructions: unconditionally move head right, unconditionally set the condition flag. There are five conditional instructions that behave like nops if the condition flag is clear: move
21:00:27 <b_jonas> left, move right, clear condition if symbol under head is zero, clear condition if symbol under head is one, invert symbol under head. This is enough to simulate a two-symbol Turing-machine that has just one state but can test and modify multiple symbols around its head, which can simulate any Turing-machine, it just has to write its state to the tape then re-read it between every simulated instruction.
21:00:33 <b_jonas> This is seven instructions, but you can probably tarpitify it to just six or five.
21:02:42 <b_jonas> Now for ais523's question, this but the tape is stored as a rational with power of two denominator in the deadfish-like accumulator. If you wish you can even store the condition flag by twos' complementing the number, so most instructions are skipped if the deadfish accumulator is negative.
21:03:10 <b_jonas> Yeah, it's probably not a very good answer, but it's not easy to be Turing-complete with just one number as mutable state.
21:06:07 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=191215&oldid=190891 * Aadenboy * (+108) add [[User:Aadenboy/Unary-encoded bases]]
21:06:22 <esolangs> [[User:Aadenboy/randomuserpage]] https://esolangs.org/w/index.php?diff=191216&oldid=187347 * Aadenboy * (+38) add [[User:Aadenboy/Unary-encoded bases]]
21:09:46 <int-e> b_jonas: Hmm that feels fairly close to a generalized Collatz function.
21:12:23 <b_jonas> int-e: I don't know, being able to store the left side of the tape in the fraction bits feels kind of cheating
21:12:47 <b_jonas> when you can still test the unit bit
21:14:24 <int-e> Yeah I'm suggesting generalized Collatz as a somewhat cleaner mechanism to accomplish TC-ness, with similar features: operations depend on digits in some base n representation of the data
21:15:15 <b_jonas> I guess it'd be closer to generalized collatz if you store data only in bits at even positions, so that you can directly read the sign from any bit at a positive odd position, and then all the conditions are just the integer part modulo 4
21:18:19 <b_jonas> but generalized Collatz, or Fractran, or something like that, that may be a better answer to ais523's question
21:18:30 <b_jonas> because Fractran stores only integers in the Deadfish accumulator
21:19:11 <int-e> Or, hmm. Just Minksky directly? The operation would be "try to divide by n; if successful, multiply by m", and you'd set aside prime factors for each state, and for the counters. The fixed loop will work fine because the order of the state transition tests doesn't matter.
21:20:14 <b_jonas> that might work
21:20:36 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:21:08 <int-e> Hmm. *Almost* doesn't matter. We need to be careful with tests for (non-)zero. Probably have an auxiliary state for each of those.
21:21:23 <b_jonas> the cop-out answer is that you have just two instructions, one is deadfish i to increment the accumulator, the other runs the program in the accumulator in some other tarpit language then terminates
21:21:37 <int-e> Anyway, that is strongly Fractran flavored.
21:22:38 <int-e> yeah it's just that inc and dec are awful operations if you want to operate on and preserve unbounded data
21:23:38 <int-e> and we're only allowed that one integer variable
21:24:38 <int-e> I guess the type wasn't specified
21:24:56 <esolangs> [[Color Dialog]] https://esolangs.org/w/index.php?diff=191217&oldid=189324 * Miui * (+219) /* Cat */ imlplement color scheme for cat program
21:25:02 <int-e> maybe make it a Gaussian integer? (aka two counters)
22:07:57 <esolangs> [[Color Dialog]] https://esolangs.org/w/index.php?diff=191218&oldid=191217 * Miui * (+2562) /* Collatz function */ implement color scheme in collatz function example
22:13:29 -!- inhahe has quit (Read error: Connection reset by peer).
22:16:30 -!- inhahe has joined.
22:21:19 <esolangs> [[Color Dialog]] https://esolangs.org/w/index.php?diff=191219&oldid=191218 * Miui * (+824) /* Truth machine */ implemented color scheme for truth machine example
22:42:52 <esolangs> [[My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=191220&oldid=137504 * Tommyaweosme * (+142)
22:43:06 <esolangs> [[My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=191221&oldid=191220 * Tommyaweosme * (+1)
22:46:42 <esolangs> [[Color Dialog]] https://esolangs.org/w/index.php?diff=191222&oldid=191219 * Miui * (+6962) /* Examples */ implement color scheme for the rest of the examples
23:10:51 <esolangs> [[XKCD Random Number]] https://esolangs.org/w/index.php?diff=191223&oldid=191188 * Miui * (+545) /* Color Dialog */
23:35:00 <esolangs> [[Special:Log/upload]] upload * Miui * uploaded "[[File:Piet++XKCD2112.png]]"
23:35:17 <esolangs> [[XKCD Random Number]] https://esolangs.org/w/index.php?diff=191225&oldid=191223 * Miui * (+129) /* Piet++ */
23:35:42 <esolangs> [[XKCD Random Number]] M https://esolangs.org/w/index.php?diff=191226&oldid=191225 * Miui * (-2) /* Piet++ */
23:44:16 <esolangs> [[Special:Log/upload]] overwrite * Miui * uploaded a new version of "[[File:Piet++XKCD2112.png]]": utilize extended palette. The language may chance in the future, in which case the first upload should still work due to using the original Piet color specification.
23:45:20 <esolangs> [[XKCD Random Number]] M https://esolangs.org/w/index.php?diff=191228&oldid=191226 * Miui * (+1) /* Piet++ */ inline + add break for continuity
23:47:18 <esolangs> [[XKCD Random Number]] M https://esolangs.org/w/index.php?diff=191229&oldid=191228 * Miui * (+0) /* Implementations */ left-align broke it, keeping line break and reverting to none align
←2026-08-27 2026-08-28 2026-08-29→ ↑2026 ↑all