←2025-10 2025-11 2025-12→ ↑2025 ↑all
2025-11-01
00:04:44 <FireFly> int-e: aaaaa
00:16:27 <int-e> `learn The password of the month is a red herring.
00:16:32 <HackEso> Relearned 'password': The password of the month is a red herring.
00:23:26 <int-e> (I was tempted to go with "OH SNAP" but it doesn't feel funny, certainly won't be funny if it's still relevant at the end of the month.)
00:25:38 <Sgeo_> When using the IBM 305 RAMAC with the general purpose process control panel and constants on track Z, the follow instruction jumps to 187: Z38-99017
00:27:06 <Sgeo_> It's explain as jumping to htu being Z(h+2)t -99 01 u
00:27:12 <int-e> Sgeo_: That seems to be incredibly useful information, but I don't know for whom.
00:28:08 <Sgeo_> People writing software to run on a currently non-existent 305 RAMAC emulator?
00:28:09 <int-e> (and to be clear, that's not a complaint)
00:28:44 <Sgeo_> https://archive.org/details/the-ibm-305-ramac-general-purpose-process-control-panel
00:28:57 <Sgeo_> I need to reread the main documentation about selectors
00:32:29 <Sgeo_> I... don't remember track addresses having second or third digits being letters
00:39:15 -!- simcop2387_ has joined.
00:40:15 -!- perlbot_ has joined.
00:44:47 -!- perlbot has quit (*.net *.split).
00:44:47 -!- simcop2387 has quit (*.net *.split).
00:44:47 -!- Everything has quit (*.net *.split).
00:44:47 -!- sftp has quit (*.net *.split).
00:44:48 -!- perlbot_ has changed nick to perlbot.
00:44:48 -!- simcop2387_ has changed nick to simcop2387.
00:50:42 <esolangs> [[Special:Log/newusers]] create * KlausEverWalkingDev * New user account
00:50:59 -!- sftp has joined.
00:50:59 -!- Everything has joined.
00:51:05 -!- sftp has changed hostmask to ~sftp@user/sftp.
00:52:36 -!- mynery has joined.
00:53:31 -!- lynndotpy6093 has joined.
00:56:49 -!- myname has quit (Ping timeout: 256 seconds).
00:56:49 -!- lynndotpy609 has quit (Ping timeout: 256 seconds).
00:56:51 -!- lynndotpy6093 has changed nick to lynndotpy609.
01:05:23 <b_jonas> fizzie: %#e woudl hvae been a possibility if they wanted flags
01:06:17 <b_jonas> hmm no
01:06:23 <b_jonas> %#e already has a meaning
01:23:02 -!- ais523 has joined.
01:38:12 * Sgeo_ was a bit confused by this: Instruction number is not address. The instructions are all 10 characters, and it's pretty easy to go back and forth between drum (memory) address and instruction number, but they're not the same. Was confused why it was possible to jump to a non-0 ones digit
01:40:56 <esolangs> [[Synonyms for smelly]] N https://esolangs.org/w/index.php?oldid=167028 * RainbowDash * (+1580) this is a joke page, with intentionally bad writing
01:42:45 <esolangs> [[User:RainbowDash]] M https://esolangs.org/w/index.php?diff=167029&oldid=165869 * RainbowDash * (+66)
02:00:10 -!- sprock has quit (Ping timeout: 246 seconds).
02:27:52 -!- Everything has quit (Remote host closed the connection).
02:50:48 -!- lisbeths has joined.
03:33:00 <esolangs> [[You make the esolang]] https://esolangs.org/w/index.php?diff=167030&oldid=167012 * PrySigneToFry * (-2)
03:35:57 <esolangs> [[You make the esolang]] https://esolangs.org/w/index.php?diff=167031&oldid=167030 * PrySigneToFry * (+382) As I'm the first contributor to the commands, I wish I can having a bigger character limit.
03:40:03 <esolangs> [[2024]] https://esolangs.org/w/index.php?diff=167032&oldid=149148 * PrySigneToFry * (-51)
03:44:22 -!- pool has quit (Read error: Connection reset by peer).
03:45:01 <esolangs> [[Talk:0 bytes XD]] https://esolangs.org/w/index.php?diff=167033&oldid=137883 * PrySigneToFry * (+82)
03:46:28 -!- pool has joined.
03:48:00 <esolangs> [[Non-Plushie-complete]] https://esolangs.org/w/index.php?diff=167034&oldid=154849 * PrySigneToFry * (+3)
04:09:36 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=167035&oldid=166980 * Tommyaweosme * (+86)
04:10:46 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=167036&oldid=167035 * Tommyaweosme * (+29)
04:19:12 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
04:21:38 -!- Lord_of_Life has joined.
04:37:44 <esolangs> [[FUnctional staCK]] M https://esolangs.org/w/index.php?diff=167037&oldid=166711 * CatCatDeluxe * (-6) My 'reversing the stack' code was just completely wrong!! oops anyways the actual code is more complicated so just changed it to clearing the stack instead
04:56:36 <esolangs> [[User:Yayimhere2(school)/common.css]] N https://esolangs.org/w/index.php?oldid=167038 * Yayimhere2(school) * (+94) Created page with "* {background-color:black !important; color:whitesmoke !important;} a {color:lime !important;}"
04:57:32 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167039&oldid=166884 * Yayimhere2(school) * (+58) /* things about me */
05:16:22 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=167040&oldid=166930 * Yayimhere2(school) * (+78)
05:18:37 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=167041&oldid=167040 * Yayimhere2(school) * (+39) /* (Surprisingly enough) a short list of examples */
05:28:49 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=167042&oldid=167041 * Yayimhere2(school) * (+514)
05:29:34 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=167043&oldid=167042 * Yayimhere2(school) * (+13) /* One token per line */
05:29:34 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in).
05:32:43 -!- slavfox has joined.
05:44:55 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167044&oldid=166839 * Yayimhere2(school) * (+138) /* Commands */
05:45:53 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167045&oldid=167044 * Yayimhere2(school) * (+137) /* Commands */
05:53:14 <esolangs> [[Talk:Underload]] https://esolangs.org/w/index.php?diff=167046&oldid=156932 * Yayimhere2(school) * (+311)
05:53:45 <esolangs> [[User:Yayimhere2(school)/common.css]] https://esolangs.org/w/index.php?diff=167047&oldid=167038 * Yayimhere2(school) * (-94) Blanked the page
05:58:22 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167048&oldid=167045 * Yayimhere2(school) * (+149) /* Commands */
05:59:16 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167049&oldid=167048 * Yayimhere2(school) * (+0) /* Commands */
06:02:14 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167050&oldid=167049 * Yayimhere2(school) * (+75) /* Commands */
06:02:30 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167051&oldid=167050 * Yayimhere2(school) * (+35) /* Commands */
06:09:37 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167052&oldid=167051 * Yayimhere2(school) * (+162) /* Commands */
06:11:50 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167053&oldid=167052 * Yayimhere2(school) * (-42) /* Commands */
06:15:25 -!- Hooloovoo has changed nick to Hoolooboo.
06:23:21 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167054&oldid=167053 * Yayimhere2(school) * (+665)
06:28:00 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167055&oldid=166989 * RaiseAfloppaFan3925 * (+120)
06:36:12 <esolangs> [[Talk:Underload]] https://esolangs.org/w/index.php?diff=167056&oldid=167046 * Ais523 * (+639) /* Etymology? */ the etymology
06:37:50 <esolangs> [[Talk:Mlatu]] M https://esolangs.org/w/index.php?diff=167057&oldid=157216 * Ais523 * (+17) the double square brackets in the table aren't supposed to be a link
06:39:08 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167058&oldid=167054 * Yayimhere2(school) * (-52)
06:44:39 -!- Sgeo_ has quit (Read error: Connection reset by peer).
06:45:21 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167059&oldid=167058 * Yayimhere2(school) * (+200) /* Underload to Underflow */
06:46:29 -!- Sgeo has joined.
06:51:05 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167060&oldid=167059 * Yayimhere2(school) * (+24) /* Commands */
06:58:06 <esolangs> [[User:RaiseAfloppaFan3925/common.css]] N https://esolangs.org/w/index.php?oldid=167061 * RaiseAfloppaFan3925 * (+255) Created page with "/* gruvbox to CSS */ * { background-color: #3c3836 !important; color: #ebdbb2 !important; } a { color: #b8bb26 !important; } pre, textarea { background-color: #282828 !important; } .mw-body { background-colo
06:58:18 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167062&oldid=167060 * Yayimhere2(school) * (+0) /* Commands */
06:58:29 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167063&oldid=167062 * Yayimhere2(school) * (+1) /* Examples */
06:59:09 <esolangs> [[Unlambda to Underflow]] N https://esolangs.org/w/index.php?oldid=167064 * Yayimhere2(school) * (+1514) Created page with "'''Unlambda to Underflow''' is a fun little experiment, translating [[Unlambda]] into Underflow(using the [[Underload]] translation table) == Translation == All the same properties of the Underload translation(both from Unlambda to underload and
07:01:04 <esolangs> [[Unlambda to Underflow]] https://esolangs.org/w/index.php?diff=167065&oldid=167064 * Yayimhere2(school) * (+243) /* Translation */
07:05:55 <esolangs> [[Pteryx]] N https://esolangs.org/w/index.php?oldid=167066 * PrySigneToFry * (+6991) Created page with "Pteryx is designed by PSTF. In some language (in my memory, it was Ancient Greek), "Pteryx" means wings. The reason it was named '''''Pteryx''''' is because I hoped it could be as powerful as a lion(or tiger, as I'm Chinese) with wings. Although it is still in th
07:06:42 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167067&oldid=167063 * Yayimhere2(school) * (+202) /* Underload to Underflow */
07:14:12 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
07:15:59 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=167068&oldid=166983 * PrySigneToFry * (+13)
07:16:36 <esolangs> [[User:RaiseAfloppaFan3925/common.css]] https://esolangs.org/w/index.php?diff=167069&oldid=167061 * RaiseAfloppaFan3925 * (-9) fixed weird inconsistencies/errors
07:16:54 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167070&oldid=167067 * Yayimhere2(school) * (+63) /* Underload to Underflow */
07:21:30 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167071&oldid=167070 * Yayimhere2(school) * (+180) /* Underload to Underflow */
07:23:17 -!- sprock has joined.
07:26:16 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167072&oldid=167071 * Yayimhere2(school) * (+92) /* Commands */
07:30:40 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167073&oldid=167072 * Yayimhere2(school) * (-180)
07:33:50 -!- Lord_of_Life has joined.
07:33:55 <esolangs> [[Lalala]] https://esolangs.org/w/index.php?diff=167074&oldid=166404 * Yayimhere2(school) * (+10) /* syntax */
07:36:12 <esolangs> [[Lalala]] https://esolangs.org/w/index.php?diff=167075&oldid=167074 * Yayimhere2(school) * (+0) /* computational class */
07:40:25 <esolangs> [[0134]] https://esolangs.org/w/index.php?diff=167076&oldid=166556 * Yayimhere2(school) * (+21) /* computational class */
07:57:25 -!- tromp has joined.
08:05:46 <APic> Hi
08:09:55 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167077&oldid=167073 * Yayimhere2(school) * (+74)
08:10:10 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167078&oldid=167077 * Yayimhere2(school) * (+0) /* See also */
08:18:05 <esolangs> [[BUT]] https://esolangs.org/w/index.php?diff=167079&oldid=165036 * Yayimhere2(school) * (-5)
08:18:57 <esolangs> [[BUT]] https://esolangs.org/w/index.php?diff=167080&oldid=167079 * Yayimhere2(school) * (+6) /* commands */
08:19:35 <esolangs> [[BUT]] https://esolangs.org/w/index.php?diff=167081&oldid=167080 * Yayimhere2(school) * (+6) /* commands */
08:20:26 <esolangs> [[BUT]] https://esolangs.org/w/index.php?diff=167082&oldid=167081 * Yayimhere2(school) * (+11) /* commands */
08:24:23 <esolangs> [[BUT]] https://esolangs.org/w/index.php?diff=167083&oldid=167082 * Yayimhere2(school) * (+169) /* commands */
08:40:35 <esolangs> [[;;;]] https://esolangs.org/w/index.php?diff=167084&oldid=156887 * Yayimhere2(school) * (+33) /* syntax */
08:45:31 <b_jonas> I had a bad dream where an old BASIC interpreter had integer types that couldn't take all values from -32768..32767 inclusive, but only had a range of something like -30720..30719 inclusive and raised an overflow error outside that
08:46:25 <esolangs> [[BUT]] https://esolangs.org/w/index.php?diff=167085&oldid=167083 * Yayimhere2(school) * (-304) /* commands */
08:46:37 <b_jonas> not that it matters because the answer is the same as with a full range: if you want a large range you use floating-point variables.
09:20:04 -!- lisbeths has quit (Quit: Connection closed for inactivity).
09:27:32 -!- lisbeths has joined.
09:35:48 <lisbeths> korvo: another better implementation of reader macros in posix shell so you can change the syntax of the shell
09:35:50 <lisbeths> awk_macro_vm(){ awk -v ci="$1" 'BEGIN{r[0]=0;r[1]=1;r[x]=1;ic=1;while(r[x]){x=substr(ci,ic,1);y=substr(ci,ic+1,1);z=substr(ci,ic+2,1);if(z == "-"){r[x]-=r[y]}; else if(z == "<"){r[x]=r[x]<r[y]}; else if(z == "m"){r[y]=r[x]}; else if(z == "$"){r[x]=system(r[y])}; else if(z == "r"){r[x]=r[r[y]]}; else if(z == "w"){r[r[y]] = r[x]}; else if(z == "i"){getline r[x]}; else if(z == "o"){printf "%s", r[x]}; else if(z == "+"){r[x]=r[x]
09:35:50 <lisbeths> r[y]}; else if(z == "c"){r[x] = sprintf("%c", r[y])}; else if(z == "#"){r[x] = ord(r[y])}; else if(z == "s"){r[x]=substr(r[x],r[y],1)};else if(z == "x"){ic=-2;ci=r[x]}; ic+=3};};';};
09:36:35 -!- Sgeo has quit (Read error: Connection reset by peer).
09:42:59 -!- lisbeths has quit.
10:50:34 <esolangs> [[Rock paper scissors]] https://esolangs.org/w/index.php?diff=167086&oldid=135685 * Yayimhere2(school) * (+0) /* other */
10:51:25 <esolangs> [[95-98]] https://esolangs.org/w/index.php?diff=167087&oldid=166612 * Yayimhere2(school) * (+24) dumb joke
10:53:33 <esolangs> [[95-98]] https://esolangs.org/w/index.php?diff=167088&oldid=167087 * Yayimhere2(school) * (+13)
10:54:33 <esolangs> [[Talk:95-98]] https://esolangs.org/w/index.php?diff=167089&oldid=166613 * Yayimhere2(school) * (+156)
10:58:19 <esolangs> [[(*U]] https://esolangs.org/w/index.php?diff=167090&oldid=145677 * Yayimhere2(school) * (-9984) /* examples */
10:59:20 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167091&oldid=147271 * Yayimhere2(school) * (-18) /* Underload */
11:00:24 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167092&oldid=167091 * Yayimhere2(school) * (-539)
11:00:59 -!- Yayimhere has joined.
11:01:04 <Yayimhere> hello people!
11:01:13 <Yayimhere> i have a question
11:01:27 <ais523> Yayimhere: I answered your question about Underload's name
11:01:39 <Yayimhere> Ais523: thanks!
11:01:45 <Yayimhere> on underload
11:01:48 <Yayimhere> lol
11:02:07 <Yayimhere> is it still tc if (x) pushes (x) not just x
11:03:00 <ais523> Yayimhere: so writing (x)^^^^^^ would be equivalent to just writing (x)?
11:03:11 <ais523> how does * work in this version?
11:03:48 <Yayimhere> here it would be the underload subset ()^:
11:04:21 <Yayimhere> actually
11:04:27 <Yayimhere> no it isnt tc
11:04:44 <Yayimhere> since you can never run what is within ()
11:05:08 <Yayimhere> no actually
11:05:32 <ais523> right, if * doesn't interact with () you have no way to ever see the inside of a ()
11:05:42 <Yayimhere> if (x) pushes (x) but also runs x immeaditly
11:06:38 <ais523> OK I can't immediately figure that one out
11:06:54 <Yayimhere> yea
11:06:57 <Yayimhere> hmm
11:07:10 <Yayimhere> thats actually quite the interesting puzzle lol
11:07:25 <ais523> it's quite similar to "(x) pushes x but also runs x immediately" because ! exists
11:07:34 <ais523> although, I haven't come up with a direct correspondence yet
11:07:45 <Yayimhere> yea
11:07:54 <Yayimhere> hmmmmmm
11:09:24 <esolangs> [[RusLang]] N https://esolangs.org/w/index.php?oldid=167093 * Esoboring ideas * (+3034) Created page with "RusLang is an [[esoteric programming language]] for having no latin letters the letters are cylirric (functions are an exception) it was created by me for my sister (i am ~~~~) ==Description== ===Original=== RusLang 4-! 3 :, . ,..."
11:09:33 <esolangs> [[Talk:Underload]] https://esolangs.org/w/index.php?diff=167094&oldid=167056 * Yayimhere2(school) * (+21) /* Etymology? */
11:09:39 <esolangs> [[Talk:Underload]] https://esolangs.org/w/index.php?diff=167095&oldid=167094 * Yayimhere2(school) * (+118) /* Etymology? */
11:10:34 <Yayimhere> in the esolang ive made, and am trying to prove tc, always does ^, unless its a copy command
11:13:29 <esolangs> [[RusLang]] https://esolangs.org/w/index.php?diff=167096&oldid=167093 * Esoboring ideas * (+206)
11:20:00 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167097&oldid=167092 * Yayimhere2(school) * (+138)
11:20:40 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167098&oldid=167097 * Yayimhere2(school) * (-2)
11:20:59 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167099&oldid=167098 * Yayimhere2(school) * (+21)
11:23:42 <esolangs> [[RusLang]] https://esolangs.org/w/index.php?diff=167100&oldid=167096 * Ais523 * (-81) do not hide the User: on links to userspace
11:38:04 <Yayimhere> is there a way to push a single ( to the stack in underlay?
11:38:07 <Yayimhere> *underload
11:38:50 <Yayimhere> actually thats not needed
11:38:52 <Yayimhere> sorry
11:44:55 -!- pool has quit (Read error: Connection reset by peer).
11:46:57 -!- pool has joined.
11:47:22 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167101&oldid=167099 * Yayimhere2(school) * (-208)
11:51:34 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167102&oldid=167101 * Yayimhere2(school) * (+26)
11:54:14 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167103&oldid=167102 * Yayimhere2(school) * (-5)
11:56:43 <esolangs> [[RusLang]] https://esolangs.org/w/index.php?diff=167104&oldid=167100 * Esoboring ideas * (+881)
12:00:45 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167105&oldid=167103 * Yayimhere2(school) * (+147)
12:10:31 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167106&oldid=167105 * Yayimhere2(school) * (-10)
12:11:29 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167107&oldid=167106 * Yayimhere2(school) * (+104)
12:11:52 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167108&oldid=167107 * Yayimhere2(school) * (-11)
12:14:07 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167109&oldid=167108 * Yayimhere2(school) * (+34)
12:20:55 -!- Yayimhere has quit (Ping timeout: 250 seconds).
12:42:57 <esolangs> [[Pythonable RusLang]] N https://esolangs.org/w/index.php?oldid=167110 * Esoboring ideas * (+771) Created page with "Pythonable RusLang is a version of [[RusLang]] that can be easily turned in a python code ==warning== It is only the junior-medium dialect ==the syntax== ===The important rule=== The right side of an equal sign can have as many functions as someone wan
12:43:23 -!- Yayimhere has joined.
12:45:05 -!- pool has quit (Read error: Connection reset by peer).
12:45:33 <esolangs> [[RusLang]] https://esolangs.org/w/index.php?diff=167111&oldid=167104 * Esoboring ideas * (+22)
12:47:12 -!- pool has joined.
12:49:59 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167112&oldid=167109 * Yayimhere2(school) * (-33)
12:53:10 <Yayimhere> hey ais523, I was just wondering how the rewriting system was created? because im trying to make one myself, and im a little unsure on how to do it lol.
12:53:21 <ais523> which rewriting system?
12:53:53 <Yayimhere> oh oops
12:54:01 <Yayimhere> underload's
12:54:10 <ais523> you mean the interpreter?
12:54:51 <Yayimhere> like the `(x)(y)~ -> (y)(x)` for example
12:55:15 <ais523> oh, that's fairly easy to do by hand
12:55:23 <ais523> for each command, you start by working out how much stack it uses
12:55:33 <Yayimhere> k
12:55:42 <ais523> write commands that generate that much stack using clearly different values
12:55:48 <ais523> write the command you're trying to demonstrate
12:55:57 <Yayimhere> ok
12:55:59 <ais523> then interpret it in your head until you end up with a stack that doesn't execute any more
12:56:07 <Yayimhere> ok!
12:56:10 <Yayimhere> thanks!
12:56:14 <ais523> for most concatenative languages this is very easy
12:56:25 <ais523> (you can construct languages where it's difficult but people normally don't)
12:56:30 <Yayimhere> i assume you can just use a stack pushing command to represent thee stack
12:56:35 <ais523> yep
12:56:40 <Yayimhere> k!
12:56:43 <Yayimhere> thanku
12:58:36 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167113&oldid=167112 * Yayimhere2(school) * (-1)
12:58:39 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:59:31 <esolangs> [[Its random]] N https://esolangs.org/w/index.php?oldid=167114 * Esolangist * (+445) Created page with "Its random is a language by [[User:Esolangist]]. ==Commands== <pre>& - Does whatever it wants to.</pre> ==Examples== Quick note that all of these might not always work. ===[[Hello world]]=== <pre>&</pre> ===[[Cat program]]=== <pre>&</pre> ===[[Truth-machine]]=== <p
13:01:01 <Yayimhere> is it possible to do for a queue btw+
13:01:03 <Yayimhere> *?
13:01:19 <esolangs> [[RusLang]] https://esolangs.org/w/index.php?diff=167115&oldid=167111 * Esoboring ideas * (+442)
13:01:41 <ais523> I guess you could maybe expand the notation for a queue? but it would look quite different
13:01:48 <esolangs> [[RusLang]] https://esolangs.org/w/index.php?diff=167116&oldid=167115 * Esoboring ideas * (+0)
13:02:09 <ais523> the way to think about it is that in stack-based languages, you can do things that run locally without the rest of the program mattering
13:02:10 <Yayimhere> but its still doable. great!
13:02:21 <Yayimhere> ais523: yea
13:02:25 <ais523> so you can say, in Underload, that (x)(y)~ is always equivalent to (y)(x)
13:02:35 <ais523> in queue-based languages, the contents of the queue always matter
13:02:56 <ais523> so local reasoning doesn't really work, except in trivial cases where you don't use the queue
13:03:21 <Yayimhere> true...
13:03:23 <Yayimhere> hmmmmm
13:03:33 <ais523> (in particular, commands that enqueue won't provide data to the command that comes after them unless the queue is empty)
13:03:49 <Yayimhere> * Yayimhere internally screaming for making her esolang queue based
13:04:06 <Yayimhere> I might actually just change it, cuz it makes the language so much harder use
13:08:57 -!- tromp has joined.
13:09:37 <esolangs> [[Dango]] https://esolangs.org/w/index.php?diff=167117&oldid=166899 * RaiseAfloppaFan3925 * (+1471) Dango 0.10.0 updates
13:13:17 <esolangs> [[You make the esolang]] M https://esolangs.org/w/index.php?diff=167118&oldid=167031 * Esolangist * (+1108)
13:15:34 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=167119&oldid=167008 * Esolangist * (+18)
13:19:31 <esolangs> [[Chicken chicken chicken: chicken chicken]] M https://esolangs.org/w/index.php?diff=167120&oldid=163436 * None1 * (+1) /* Variables */ Fix counting mistake
13:33:52 <esolangs> [[Unlambda to Underflow]] https://esolangs.org/w/index.php?diff=167121&oldid=167065 * Yayimhere2(school) * (+10) /* Translation */
13:45:52 <esolangs> [[User:Esolangist/personal talk page]] https://esolangs.org/w/index.php?diff=167122&oldid=166947 * Esolangist * (+675)
13:47:34 <esolangs> [[Place]] https://esolangs.org/w/index.php?diff=167123&oldid=167009 * Esolangist * (+18)
13:52:59 -!- esolangist has joined.
13:57:53 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167124&oldid=166650 * RaiseAfloppaFan3925 * (+3883) RSI0
13:58:29 <esolangs> [[User:RaiseAfloppaFan3925/common.css]] https://esolangs.org/w/index.php?diff=167125&oldid=167069 * RaiseAfloppaFan3925 * (+6) Undo this because it doesn't look that good because I'm stupid and it makes a weird effect
13:59:14 <esolangs> [[Dango]] M https://esolangs.org/w/index.php?diff=167126&oldid=167117 * RaiseAfloppaFan3925 * (+8) sorry it's dango-esolang not dango
14:05:56 <esolangs> [[You make the esolang]] https://esolangs.org/w/index.php?diff=167127&oldid=167118 * PrySigneToFry * (+954)
14:06:11 <esolangist> :o
14:06:26 <esolangist> it literally told me that someone edited my article
14:07:18 <esolangs> [[You make the esolang]] https://esolangs.org/w/index.php?diff=167128&oldid=167127 * PrySigneToFry * (+90) Adding Categories
14:08:08 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167129&oldid=167124 * Esolangist * (+437) /* RaiseAfloppaFan's Stupid Idea 0 */
14:11:40 <esolangs> [[User talk:Esolangist]] N https://esolangs.org/w/index.php?oldid=167130 * PrySigneToFry * (+229) Created page with "I am very happy to create a programming language with you! In my rating system, you would be given a score of 90. {{User:PrySigneToFry/Template:PoeticSignature|Time=2025111 22:11 }}"
14:11:49 -!- esolangist has quit (Quit: Client closed).
14:13:14 <esolangs> [[User talk:Esolangist]] https://esolangs.org/w/index.php?diff=167131&oldid=167130 * Esolangist * (+142)
14:17:28 <Yayimhere> is there a good method for reversing a translation? like if ive gone SKI -> smth else is there a semi easy/good way to make a smth -> SKI translation?
14:19:32 -!- esolangist has joined.
14:19:37 <ais523> usually no, unless the translation is simple
14:20:18 <Yayimhere> aw:(
14:20:39 <ais523> if the translated-from and translated-to languages have different computational classes it's impossible
14:21:01 <ais523> if they're in the same class, then by definition it's possible, but in many cases it's very difficult
14:21:08 <Yayimhere> yea
14:21:14 <Yayimhere> for me its the latter
14:21:15 <ais523> e.g. it is much easier to translate brainfuck to Python than it is to translate Python to brainfuck
14:22:34 <Yayimhere> true
14:22:54 <Yayimhere> for me its like not that bad
14:23:11 <Yayimhere> its two stack based languages
14:23:37 <Yayimhere> ofc underload is one half
14:24:40 <esolangs> [[Free Esolang]] https://esolangs.org/w/index.php?diff=167132&oldid=164550 * Esolangist * (+216) /* Additions */
14:26:18 -!- esolangist has changed nick to Esolangist.
14:26:44 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167133&oldid=167129 * RaiseAfloppaFan3925 * (+669) /* RaiseAfloppaFan's Stupid Idea 0 */ Add a base feature to support more paradigms and commands
14:31:12 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167134&oldid=167133 * Esolangist * (+194) /* User:Esolangist */
14:31:56 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167135&oldid=167134 * Esolangist * (+112) /* Features (Base) */
14:33:17 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167136&oldid=167135 * Esolangist * (+2) /* User:Esolangist */
14:33:37 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=167137&oldid=167136 * RaiseAfloppaFan3925 * (+146) Move RSI0 to its own page
14:34:47 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] N https://esolangs.org/w/index.php?oldid=167138 * RaiseAfloppaFan3925 * (+4904) Move RSI0 to its own page
14:36:12 <esolangs> [[RSI0]] N https://esolangs.org/w/index.php?oldid=167139 * Esolangist * (+45) Redirected page to [[RaiseAfloppaFan's Stupid Idea 0]]
14:36:57 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167140&oldid=167138 * RaiseAfloppaFan3925 * (-26) Section stuff
14:37:05 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167141&oldid=167140 * Esolangist * (-1) TINY tweak.
14:39:36 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167142&oldid=167141 * RaiseAfloppaFan3925 * (+653) Allow for other people's commands to become part of the base command set
14:41:12 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167143&oldid=167142 * Esolangist * (+314) /* User:Esolangist */
14:41:58 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167144&oldid=167143 * Esolangist * (+2) /* User:Esolangist */
14:43:56 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] N https://esolangs.org/w/index.php?oldid=167145 * Esolangist * (+218) Created page with "==Float or no float?== Can the pointer float on nothing, like empty spaces are NOPs, or do you have to always be on a command? ~~~~"
14:44:55 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167146&oldid=167144 * RaiseAfloppaFan3925 * (+150) Make two of [[User:Esolangist]]'s commands part of the base set
14:45:07 -!- pool has quit (Read error: Connection reset by peer).
14:45:13 <esolangs> [[SLet/navbar]] N https://esolangs.org/w/index.php?oldid=167147 * I am islptng * (+146) Created page with "<b><big> [[SLet (Old)|1]] | [[SLet (Old 2)|2]] | [[SLet (Old 3)|3]] | [[SLet|4]] | <span style="color:red;">5</span> | [[SletScript|6]] </big></b>"
14:45:42 <esolangs> [[SLet (Old)]] https://esolangs.org/w/index.php?diff=167148&oldid=152608 * I am islptng * (-42)
14:45:52 <esolangs> [[SLet (Old 2)]] https://esolangs.org/w/index.php?diff=167149&oldid=157826 * I am islptng * (-58)
14:46:01 <esolangs> [[SLet (Old 3)]] https://esolangs.org/w/index.php?diff=167150&oldid=152980 * I am islptng * (-52)
14:46:11 <esolangs> [[SLet]] https://esolangs.org/w/index.php?diff=167151&oldid=161993 * I am islptng * (-58)
14:46:22 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=167152&oldid=164982 * I am islptng * (-33)
14:47:16 -!- pool has joined.
14:47:32 <Esolangist> is anyone online
14:47:41 <Yayimhere> Esolangist: i am
14:47:47 <Yayimhere> what do you need?
14:47:53 <Esolangist> nothing
14:48:00 <Esolangist> just seeing if anyone was online
14:48:04 <Yayimhere> lol
14:48:25 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167153&oldid=167145 * RaiseAfloppaFan3925 * (+246)
14:51:41 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167154&oldid=167146 * RaiseAfloppaFan3925 * (+95) fixed minor issue with the heading thing
14:52:31 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167155&oldid=167154 * Esolangist * (+198) /* User:Esolangist */
14:56:39 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167156&oldid=167153 * Esolangist * (+394) /* Float or no float? */
14:59:05 <esolangs> [[SLet/navbar]] https://esolangs.org/w/index.php?diff=167157&oldid=167147 * I am islptng * (+11)
15:00:54 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:01:39 -!- Esolangist has left.
15:01:44 -!- Esolangist has joined.
15:02:10 <esolangs> [[User talk:Esolangist]] https://esolangs.org/w/index.php?diff=167158&oldid=167131 * PrySigneToFry * (+281)
15:02:54 -!- tromp has joined.
15:08:14 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=167159&oldid=165844 * I am islptng * (+235) /* */
15:12:31 <esolangs> [[EternalGolf]] https://esolangs.org/w/index.php?diff=167160&oldid=157978 * Esolangist * (+11) Added myself
15:13:45 <b_jonas> `olist 1335
15:13:48 <HackEso> olist <https://www.giantitp.com/comics/oots1335.html>: shachaf oerjan Sgeo boily nortti b_jonas Noisytoot
15:26:06 <esolangs> [[EternalGolf]] https://esolangs.org/w/index.php?diff=167161&oldid=167160 * Esolangist * (+352) /* Basic area */
15:29:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:43:07 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
15:44:39 -!- Lord_of_Life has joined.
15:45:16 -!- pool has quit (Read error: Connection reset by peer).
15:47:19 -!- pool has joined.
15:47:34 -!- Lord_of_Life has quit (Client Quit).
15:48:18 -!- Lord_of_Life has joined.
15:59:58 <esolangs> [[FAGI]] M https://esolangs.org/w/index.php?diff=167162&oldid=165095 * Lucaz37 * (-8)
16:01:06 <esolangs> [[Lucaz37]] N https://esolangs.org/w/index.php?oldid=167163 * Lucaz37 * (+4) Created page with "ello"
16:06:40 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167164&oldid=167155 * RaiseAfloppaFan3925 * (-4) /* Base commands */ Fixed naming inconsistency
16:19:20 <Esolangist> nobody is editing on the wiki...
16:20:28 <Yayimhere> Esolangist: I would, but im not sure how to better formalize my language
16:22:10 <esolangs> [[Special:Log/move]] move * Aadenboy * moved [[Lucaz37]] to [[User:Lucaz37]]: assuming this is meant to be in userspace
16:34:40 -!- june-o-lantern has quit.
16:38:44 <esolangs> [[Dango]] M https://esolangs.org/w/index.php?diff=167167&oldid=167126 * RaiseAfloppaFan3925 * (+122) fixed minor issues
16:39:04 <esolangs> [[Dango]] M https://esolangs.org/w/index.php?diff=167168&oldid=167167 * RaiseAfloppaFan3925 * (-141)
16:45:22 -!- pool has quit (Read error: Connection reset by peer).
16:47:29 -!- pool has joined.
16:48:44 -!- tromp has joined.
16:52:29 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[User:Lucaz37]]": redirect left over after a page created in the wrong namespace was renamed to the correct namespace
16:52:56 <esolangs> [[Special:Log/delete]] restore * Ais523 * undeleted "[[User:Lucaz37]]": deleted the wrong page
16:53:20 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Lucaz37]]": redirect left over after a page created in the wrong namespace was renamed to the correct namespace
16:56:43 <Esolangist> why is the featured language on the wiki still this
16:56:48 <Esolangist> thue*
16:56:58 <Yayimhere> they rarely change it
16:57:06 <Yayimhere> dunno why they just wont change it
16:57:15 <ais523> not enough admins
16:57:40 <ais523> it's like, the other admins came up with a process and then disappeared
16:57:54 <ais523> and it's hard for me to make selections fairly on my own
16:58:04 <Yayimhere> are you the only mod
16:58:08 <Yayimhere> ?
16:58:11 <ais523> in theory no
16:58:26 <ais523> in practice it's very rare for anyone else to take admin actions
16:58:36 <Yayimhere> thats kinda sad
16:58:37 -!- Esolangist has quit (Quit: Client closed).
16:58:52 -!- esolangist has joined.
17:06:10 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167169&oldid=167164 * RaiseAfloppaFan3925 * (+649) "Hello, world!" program + 2 new commands
17:06:46 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:09:54 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
17:11:30 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167170&oldid=167169 * RaiseAfloppaFan3925 * (+14) /* Base commands */ Re-organized top and made it reflect the new changes
17:12:37 -!- esolangist has quit (Quit: Client closed).
17:13:54 -!- Lord_of_Life has joined.
17:18:30 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167171&oldid=167055 * RaiseAfloppaFan3925 * (+697)
17:23:50 -!- esolangist has joined.
17:29:14 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167172&oldid=167171 * RaiseAfloppaFan3925 * (+445)
17:32:11 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=167173&oldid=167119 * Esolangist * (+194)
17:32:25 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167174&oldid=167172 * RaiseAfloppaFan3925 * (+0) /* "Hello, world!" in RaiseAfloppaFan's Stupid Idea 0 */ Corrected the program
17:37:24 -!- tromp has joined.
17:38:37 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167175&oldid=167170 * Esolangist * (+454) /* User:Esolangist */
17:41:15 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167176&oldid=167175 * RaiseAfloppaFan3925 * (-50) Changed hypnotization resistance stat to decrease faster
17:44:16 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167177&oldid=167176 * RaiseAfloppaFan3925 * (+91) Nerfed the two commands that made the most sense to nerf
17:45:25 -!- pool has quit (Read error: Connection reset by peer).
17:47:34 -!- pool has joined.
17:48:06 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167178&oldid=167177 * Esolangist * (+881) /* User:Esolangist */
17:49:26 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167179&oldid=167178 * Esolangist * (+81) /* User:Esolangist */
17:49:35 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167180&oldid=167179 * RaiseAfloppaFan3925 * (+209) /* Base Specification */ Added smaller "Hello, world!" example
17:50:32 <esolangs> [[Special:Log/newusers]] create * Michael Bianconi * New user account
17:52:57 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167181&oldid=167180 * Esolangist * (+334) /* Hypnotization resistance */
17:53:03 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167182&oldid=167181 * RaiseAfloppaFan3925 * (+0) /* Base Specification */ Fixed conflict with a command from [[User:Esolangist]]
17:54:13 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167183&oldid=167022 * Michael Bianconi * (+156)
17:55:50 -!- Sgeo has joined.
17:56:18 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167184&oldid=167182 * Esolangist * (+2) Changed a command to avoid command conflicts
17:58:05 -!- esolangist has quit (Quit: Client closed).
17:58:29 -!- esolangist has joined.
18:00:22 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167185&oldid=167184 * Esolangist * (+116) /* User:Esolangist */
18:03:15 -!- Yayimhere has quit (Ping timeout: 250 seconds).
18:04:49 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167186&oldid=167185 * RaiseAfloppaFan3925 * (+39) /* Hello, world! */ Added new example
18:08:44 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167187&oldid=167186 * Esolangist * (+211)
18:13:27 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167188&oldid=167187 * RaiseAfloppaFan3925 * (+148) /* User:Esolangist's little chat corner */ Sure, just give me one moment
18:14:10 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167189&oldid=167188 * Esolangist * (+54) /* User:Esolangist */
18:19:12 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167190&oldid=167189 * Esolangist * (+224) /* User:Esolangist */
18:21:18 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167191&oldid=167156 * Esolangist * (+456) /* Turing-complete? */ new section
18:26:29 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167192&oldid=167190 * Esolangist * (+116)
18:27:35 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167193&oldid=167191 * RaiseAfloppaFan3925 * (+350) /* Turing-complete? */ I was not expecting that AT ALL
18:29:54 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167194&oldid=167192 * Esolangist * (+29) Added category
18:30:47 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=167195&oldid=167173 * Esolangist * (+46)
18:34:14 -!- Yayimhere has joined.
18:35:36 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167196&oldid=167194 * Esolangist * (+180) /* Hey here's some examples! */
18:37:53 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167197&oldid=167196 * Esolangist * (+75) /* User:Esolangist */
18:40:47 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167198&oldid=167197 * Esolangist * (+192) /* alternated */
18:42:01 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167199&oldid=167198 * RaiseAfloppaFan3925 * (+1811) 4 new boring unoriginal commands + CJK category + Self-modifying category
18:43:31 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167200&oldid=167199 * RaiseAfloppaFan3925 * (+212) /* User:Esolangist's little chat corner */ yea im out of ideas
18:55:23 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167201&oldid=167200 * Esolangist * (+793) /* User:Esolangist */
19:00:25 <esolangs> [[Baulk]] N https://esolangs.org/w/index.php?oldid=167202 * Yayimhere2(school) * (+2850) Created page with "'''Baulk''' was an attempt to by [[User:yayimhere]] create a functionally pure esolang, that does not place its basis within [[Lambda calculus]]. it came out to be a ''sort of'' string rewriting language, however the string rewriting is a lot more complex than
19:02:06 <Yayimhere> ais523: i have a last question for you. how would you do the stack notation thing in reverse?
19:02:14 <Yayimhere> is there a good way to do that
19:02:19 <ais523> what are you reversing?
19:02:26 <Yayimhere> like
19:02:37 <Yayimhere> you know for example with the rewriting system of underload
19:02:49 <Yayimhere> if we just had the rewriting system, could we do it in reverse
19:02:56 <Yayimhere> create a stack based language
19:03:09 <ais523> oh, the rewriting system is a way of defining a stack-based language
19:03:10 <Yayimhere> from a rewriting systeem
19:03:42 <ais523> because if it's done correctly, you can use it directly as a language interpreter, and then you can use the interpreter to define the language
19:03:49 <Yayimhere> true
19:03:56 <Yayimhere> python be like
19:03:57 <Yayimhere> lol
19:04:15 <Yayimhere> but I had this: https://esolangs.org/wiki/Baulk and I wanted to make a stack based language from it:]
19:04:35 <esolangist> do you have naming ideas for it
19:04:36 <ais523> that reminds me, I don't think I've seen a pure rewrite-rule-based definition of an esolang in ages
19:04:56 <Yayimhere> lol
19:05:04 <esolangs> [[Baulk]] https://esolangs.org/w/index.php?diff=167203&oldid=167202 * Yayimhere2(school) * (+1) /* = Basic operation application */
19:05:33 <Yayimhere> ais523: idk what got into me lol
19:05:44 <Yayimhere> i was tiree of working with lambda calculus I gueess
19:05:46 <ais523> hmm, this isn't pure stack-based
19:05:46 <Yayimhere> *gueess
19:05:50 <Yayimhere> *guess
19:05:53 <Yayimhere> holee
19:05:59 <ais523> ~ pushes to the *bottom* of the stack which you can't do with an normal stack
19:06:05 <Yayimhere> truee
19:06:12 <Yayimhere> omg my keyboard being dummb
19:06:41 <Yayimhere> first in first out / last out I guess
19:06:44 <Yayimhere> is there like...
19:06:51 <Yayimhere> a data type called that?
19:06:52 <esolangist> question for baulk: does the *[x] = *[x x] mean that it infinitely duplicates like *2 > *22 > *2222?
19:07:01 <ais523> and commands like ` are usually hard to define precisely, because they mess with control flow – normally you run the next command in the program but if it's ` it gets stuck
19:07:11 <ais523> so presumably you have to run the next-but-one instead
19:07:22 <esolangist> WAIT WHAT HOW DO YOU DO A CODE FONT
19:07:25 <ais523> have you seen Unlambda? it has a d command that's very wimilar to baulk's `
19:07:34 <ais523> on IRC, you can't
19:07:36 <Yayimhere> yea ive seen unlambda
19:07:47 <Yayimhere> although ive only read the ones used on underload
19:07:50 <ais523> but your IRC client is probably interpreting backquotes as code font; `does this appear in code font for you?`
19:07:55 <esolangist> yes
19:08:00 <esolangist> `cool`
19:08:04 <HackEso> cool`? No such file or directory
19:08:08 <ais523> OK, so this is going to make it awkward to send messages using backquotes as backquotes
19:08:16 <esolangist> hackeso im not talking to you
19:08:20 <Yayimhere> yea its a problem I have
19:08:41 <ais523> unlambda's c and d were both added primarily due to being hard to implement
19:08:59 <esolangist> maybe use %  instead of ` so it doesn't turn into `code font`
19:09:16 <Yayimhere> i was trying to visually get objects that are up
19:09:20 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167204&oldid=167201 * RaiseAfloppaFan3925 * (+48)
19:09:34 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167205&oldid=167204 * RaiseAfloppaFan3925 * (-34) /* Base Commands */ oops
19:09:34 <Yayimhere> like ^ is up compared to the [] and ¯ is too
19:10:05 <Yayimhere> but yea d and ` are basically the same
19:10:21 <Yayimhere> but yea you guys just use % lol
19:10:26 -!- Hoolooboo has changed nick to Hooloovoo.
19:10:35 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167206&oldid=167205 * RaiseAfloppaFan3925 * (+224) /* User:Esolangist's little chat corner */
19:11:23 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167207&oldid=167206 * Esolangist * (+155) /* User:Esolangist's little chat corner */
19:12:09 <Yayimhere> but rlly
19:12:17 <Yayimhere> what is a first In last in ou called?
19:12:40 <Yayimhere> thats a Deque right?
19:12:51 <ais523> a deque has pushes on both ends and pops from both ends
19:13:00 <Yayimhere> trueeeee
19:13:12 <Yayimhere> does this ever pop from the bottom?
19:13:33 <ais523> I use the three-operation structure (push on both ends but pop only from one) in Esimpl, where I call it a semideque
19:13:41 <ais523> but I think the technical name is "output-restricted deque"
19:13:57 <Yayimhere> lets just say semideque lol
19:14:00 <Yayimhere> it makes sense:]
19:14:01 <ais523> it's just that that name's too long to use regularly, so it helps to give a shorter name, right
19:14:12 <Yayimhere> yep
19:14:49 <ais523> (this is also the most powerful data structure you can easily make with a singly-linked list, which might not be coincidence – Esimpl's designed to be easy to implement efficiently in low-powered languages and so it's not surprising that its main data structure is easy to implement)
19:15:08 <Yayimhere> oh!
19:15:10 <Yayimhere> i didnt know
19:15:19 <Yayimhere> the moreeee you knooooow
19:15:20 <Yayimhere> lol
19:16:44 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167208&oldid=167113 * Yayimhere2(school) * (+254)
19:17:52 <Yayimhere> but I have to leave:]
19:17:58 <Yayimhere> thanks for the help tho!
19:18:00 <Yayimhere> byeeee
19:18:13 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167209&oldid=167207 * Esolangist * (+120) /* User:Esolangist's little chat corner */
19:19:51 -!- ais523 has quit (Quit: quit).
19:21:06 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167210&oldid=167209 * RaiseAfloppaFan3925 * (+0) /* Base Commands */ Fixed conflict
19:21:13 -!- esolangist has quit (Quit: Client closed).
19:21:30 -!- esolangist has joined.
19:23:54 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167211&oldid=167210 * RaiseAfloppaFan3925 * (-4) /* Base Commands */ Made it more practical :C
19:25:09 -!- Yayimhere has quit (Ping timeout: 250 seconds).
19:26:21 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0/Esolangist]] N https://esolangs.org/w/index.php?oldid=167212 * Esolangist * (+505) Created page with "so uhh welcome to my subpage also can concatenate stuff now New type unlocked! Char. It's just one character. Signified by, concatenating them makes a string. x = top value of current stack y = the one under that z = the one und
19:27:22 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167213&oldid=167211 * Esolangist * (+84) /* User:Esolangist */
19:28:35 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0/Esolangist]] https://esolangs.org/w/index.php?diff=167214&oldid=167212 * Esolangist * (+37)
19:29:33 <esolangs> [[RSI0/Esolangist]] N https://esolangs.org/w/index.php?oldid=167215 * Esolangist * (+56) Redirected page to [[RaiseAfloppaFan's Stupid Idea 0/Esolangist]]
19:30:15 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167216&oldid=167213 * Esolangist * (+141)
19:41:25 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167217&oldid=167216 * RaiseAfloppaFan3925 * (+710) Added special conditional operation
19:42:52 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167218&oldid=167217 * RaiseAfloppaFan3925 * (-174) /* Base Commands */ Removed obsolete <code>=[</code> and <code>]=</code> commands
19:43:29 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167219&oldid=167218 * Esolangist * (+60) /* Truth machine */
19:52:01 -!- esolangist has quit (Ping timeout: 250 seconds).
19:55:01 -!- esolangist has joined.
19:56:32 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167220&oldid=167219 * RaiseAfloppaFan3925 * (+24) Set [[User:Esolangist]] as co-owner of RSI0
19:57:21 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0/Esolangist]] https://esolangs.org/w/index.php?diff=167221&oldid=167214 * Esolangist alt * (+231) how do I summarise this
19:58:55 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167222&oldid=167220 * Esolangist alt * (+73)
20:04:27 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167223&oldid=167193 * RaiseAfloppaFan3925 * (+395) BF to RSI0 translation
20:05:53 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167224&oldid=167222 * RaiseAfloppaFan3925 * (+22) One last time.
20:07:34 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167225&oldid=167224 * RaiseAfloppaFan3925 * (-34) /* Base Commands */ Forgot to remove this
20:11:16 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0/Esolangist]] https://esolangs.org/w/index.php?diff=167226&oldid=167221 * Esolangist alt * (+251) Esolangist alt
20:13:41 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167227&oldid=167225 * Esolangist alt * (-4) Edited code so it ACTUALLY WORKS
20:15:12 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167228&oldid=167223 * RaiseAfloppaFan3925 * (+257) /* Turing-complete? */ Correction + whatever you call this
20:16:42 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167229&oldid=167228 * Esolangist alt * (+147) /* Joke thread */ new section
20:32:18 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=167230&oldid=166961 * H33T33 * (+38)
20:32:33 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=167231&oldid=167230 * H33T33 * (-28)
20:35:34 -!- esolangist has quit (Quit: Client closed).
20:35:47 -!- Guest22 has joined.
20:36:17 -!- esolangist has joined.
20:38:54 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167232&oldid=167229 * RaiseAfloppaFan3925 * (+227)
20:40:41 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167233&oldid=167227 * RaiseAfloppaFan3925 * (+267) Truth machine + XKCD random (translated)
20:42:07 <esolangs> [[Special:Log/move]] move * H33T33 * moved [[Topple/Source Code/Topple 1.0]] to [[Topple/Versions/Topple]]: Entirely reorganizing the Topple page
20:42:43 <esolangs> [[Special:Log/move]] move * H33T33 * moved [[Topple/Versions/Topple]] to [[Topple/Versions/Topple 1]]: Redesigning entirety of the Topple page
20:44:51 <esolangs> [[Special:Log/move]] move * H33T33 * moved [[Topple/Versions/Topple 1]] to [[Topple/Topple 1]]
20:49:47 <esolangs> [[Topple]] https://esolangs.org/w/index.php?diff=167240&oldid=167231 * H33T33 * (-4588)
20:50:52 <esolangs> [[Topple/Topple 1/Source]] N https://esolangs.org/w/index.php?oldid=167241 * H33T33 * (+7870) Created page with "=Topple 1 Source Code= <pre> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include <time.h> #include <sys/time.h> #define MAX_SIZE 4097 // Max amount of vals, vars, etc. Currently the best way I know to do this. #defin
20:54:00 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167242&oldid=167233 * RaiseAfloppaFan3925 * (+726) BF to RSI0 translation table
20:54:04 <esolangs> [[Topple/Topple 1]] https://esolangs.org/w/index.php?diff=167243&oldid=167238 * H33T33 * (-3840)
20:56:07 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167244&oldid=167242 * RaiseAfloppaFan3925 * (+130) fixed mistake + you could say that this reinforces TC
21:00:40 <esolangs> [[Topple/Topple 1]] https://esolangs.org/w/index.php?diff=167245&oldid=167243 * H33T33 * (+66)
21:01:04 <esolangs> [[Topple/Topple 1]] https://esolangs.org/w/index.php?diff=167246&oldid=167245 * H33T33 * (-9)
21:01:32 <esolangs> [[Topple/Topple 1/Source]] M https://esolangs.org/w/index.php?diff=167247&oldid=167241 * H33T33 * (+28)
21:02:59 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=167248&oldid=167174 * RaiseAfloppaFan3925 * (+120) /* My languages */ Add RSI0
21:04:12 <esolangs> [[Topple/Topple 1.1]] N https://esolangs.org/w/index.php?oldid=167249 * H33T33 * (+1681) Created page with "[[Topple|Back]] ===Currently in Development=== =Major Changes= '''1. Data Type Specification''' When admitting data and defining variables, you must now specify the data type. If no type is given, the data is assumed to be a character. So now this: <pre> a. b.
21:04:51 <esolangs> [[Topple/Topple 1.1]] M https://esolangs.org/w/index.php?diff=167250&oldid=167249 * H33T33 * (+2)
21:06:09 <esolangs> [[Topple]] M https://esolangs.org/w/index.php?diff=167251&oldid=167240 * H33T33 * (+32)
21:07:54 <esolangs> [[Topple/Topple 1]] M https://esolangs.org/w/index.php?diff=167252&oldid=167246 * H33T33 * (+58)
21:08:20 <esolangs> [[Special:Log/move]] move * H33T33 * moved [[Topple/Topple 1/Source]] to [[Topple/Topple 1/Source (C99)]]
21:09:38 <esolangs> [[Topple/Source Code]] https://esolangs.org/w/index.php?diff=167255&oldid=165679 * H33T33 * (-2174) Blanked the page
21:10:32 <esolangs> [[Topple/Topple 1/Source (C99)]] M https://esolangs.org/w/index.php?diff=167256&oldid=167253 * H33T33 * (-23)
21:10:56 <esolangs> [[Topple/Topple 1]] M https://esolangs.org/w/index.php?diff=167257&oldid=167252 * H33T33 * (+12)
21:11:48 <esolangs> [[Topple/Topple 1.1]] M https://esolangs.org/w/index.php?diff=167258&oldid=167250 * H33T33 * (+39)
21:11:54 <esolangs> [[Topple/Topple 1.1]] M https://esolangs.org/w/index.php?diff=167259&oldid=167258 * H33T33 * (-1)
21:15:16 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0/Esolangist]] https://esolangs.org/w/index.php?diff=167260&oldid=167226 * Esolangist alt * (+381) Esolangist alt
21:17:46 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167261&oldid=167244 * Esolangist alt * (-53) Esolangist alt
21:20:00 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167262&oldid=167261 * Esolangist alt * (+36) Esolangist alt
21:30:38 -!- esolangist has quit (Quit: Client closed).
21:36:36 <esolangs> [[User:Hotcrystal0/List of users who are also on the TBG forums]] https://esolangs.org/w/index.php?diff=167263&oldid=156474 * Tommyaweosmalt * (+70) "You are welcome to help contribute."
21:43:49 -!- Guest22 has quit (Ping timeout: 250 seconds).
21:44:53 <APic> Good Night
21:59:16 <esolangs> [[Esolang made with AI]] N https://esolangs.org/w/index.php?oldid=167264 * Esolangist alt * (+1908) Esolangist alt
22:12:55 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=167265&oldid=167036 * Tommyaweosme * (+42)
22:43:30 <esolangs> [[Esolang made with AI]] M https://esolangs.org/w/index.php?diff=167266&oldid=167264 * Corbin * (+30) Add the required category for this sort of thing.
22:44:59 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:00:33 <esolangs> [[Esolang made with AI]] M https://esolangs.org/w/index.php?diff=167267&oldid=167266 * Aadenboy * (-44) fix emoji
2025-11-02
00:52:14 -!- lisbeths has joined.
00:57:10 -!- tromp has joined.
00:57:48 -!- tromp has quit (Client Quit).
01:14:12 -!- june-o-lantern has joined.
01:16:28 -!- june-o-lantern has changed nick to jgardner.
01:49:04 <esolangs> [[You make the esolang]] https://esolangs.org/w/index.php?diff=167268&oldid=167128 * PrySigneToFry * (-38) Correct the title format.
01:52:37 -!- pool has quit (Read error: Connection reset by peer).
01:54:51 -!- pool has joined.
02:17:19 <esolangs> [[Talk:6 trits, 243 trytes]] N https://esolangs.org/w/index.php?oldid=167269 * TheBigH * (+117) created page ig
03:01:06 -!- lisbeths has quit (Quit: Connection closed for inactivity).
03:05:02 -!- op_4 has quit (Remote host closed the connection).
03:05:32 -!- op_4 has joined.
03:57:25 <esolangs> [[Gur yvsr]] https://esolangs.org/w/index.php?diff=167270&oldid=166859 * Placeholding * (+368) changed a few commands
04:04:42 -!- Yayimhere has joined.
04:08:46 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167271&oldid=167039 * Yayimhere2(school) * (+35)
04:12:48 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167272&oldid=167271 * Yayimhere2(school) * (+12) /* esolangs */
04:19:38 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:20:04 <esolangs> [[Baulk]] https://esolangs.org/w/index.php?diff=167273&oldid=167203 * Yayimhere2(school) * (+260)
04:25:06 -!- ais523 has joined.
04:25:50 <esolangs> [[Hexagon says jump to line a if cell b is n and increment cell b by c if cell b equals d and output cell b is cell b equals e.]] M https://esolangs.org/w/index.php?diff=167274&oldid=153447 * PrySigneToFry * (+42)
04:31:09 <Yayimhere> hi ais!
04:52:06 <ais523> hi Yayimhere
04:52:17 <Yayimhere> how are you?
04:52:43 <ais523> tired, I usually am
04:52:58 -!- pool has quit (Read error: Connection reset by peer).
04:53:29 <Yayimhere> * Yayimhere has no idea how to respond
04:55:06 -!- pool has joined.
04:55:17 <esolangs> [[User:Yayimhere/Thoughts on burn]] N https://esolangs.org/w/index.php?oldid=167275 * Yayimhere2(school) * (+2983) Created page with "Ok, first of all, I'd like to note, that I think the result most likely is somewhere ''else''. as in, a burn program generates a separate string of data from processing itself. this seems likely, as burn seems like a 2d Von Neumann cel
04:56:01 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167276&oldid=167272 * Yayimhere2(school) * (+70) /* things about me */
04:57:57 -!- Lord_of_Life has joined.
04:59:27 -!- Lord_of_Life has quit (Excess Flood).
05:06:26 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167277&oldid=167208 * Yayimhere2(school) * (-253)
05:16:33 <esolangs> [[User talk:Salpynx]] https://esolangs.org/w/index.php?diff=167278&oldid=128655 * Yayimhere2(school) * (+322)
05:17:56 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167279&oldid=167277 * Yayimhere2(school) * (+38)
05:19:46 -!- Lord_of_Life has joined.
05:22:20 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167280&oldid=167279 * Yayimhere2(school) * (+19)
05:22:55 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167281&oldid=167280 * Yayimhere2(school) * (-2) /* Programs */
05:23:38 -!- Lord_of_Life has quit (Client Quit).
05:38:21 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167282&oldid=167281 * Yayimhere2(school) * (+38)
05:40:24 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167283&oldid=167282 * Yayimhere2(school) * (+85)
06:04:29 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167284&oldid=167283 * Yayimhere2(school) * (+59)
06:06:19 <esolangs> [[B2B]] N https://esolangs.org/w/index.php?oldid=167285 * Yayimhere2(school) * (+963) Created page with "'''B2B''' is an esolang created by [[User:yayimhere]], while trying to prove [[,(*+)]] [[turing complete]]. It is a specific restriction on a [[Cyclic tag]], in which it allows one unbounded conditional production, and an unbounded number of unconditionals, as wel
06:09:11 -!- Lord_of_Life has joined.
06:13:19 <esolangs> [[Brugtiohell]] https://esolangs.org/w/index.php?diff=167286&oldid=166757 * Yayimhere2(school) * (+19)
06:13:54 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
06:16:42 -!- Lord_of_Life has joined.
06:19:41 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167287&oldid=167284 * Yayimhere2(school) * (+119)
06:20:56 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167288&oldid=167287 * Yayimhere2(school) * (+145)
06:21:15 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167289&oldid=167288 * Yayimhere2(school) * (+29)
06:28:15 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167290&oldid=167289 * Yayimhere2(school) * (+151)
06:35:33 -!- Lord_of_Life has quit (Remote host closed the connection).
06:38:47 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167291&oldid=167290 * Yayimhere2(school) * (+10)
06:39:03 <APic> Hi
06:39:52 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167292&oldid=167291 * Yayimhere2(school) * (+76)
06:40:32 <Yayimhere> Hi APic!
06:50:41 -!- Yayimhere has quit (Ping timeout: 250 seconds).
06:56:26 -!- Lord_of_Life has joined.
07:06:55 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167293&oldid=167292 * Yayimhere2(school) * (-6)
07:08:04 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167294&oldid=167293 * Yayimhere2(school) * (+1)
07:13:50 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167295&oldid=167294 * Yayimhere2(school) * (+118)
07:31:26 -!- Yayimhere has joined.
07:39:41 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167296&oldid=167295 * Yayimhere2(school) * (+46)
07:47:47 <esolangs> [[B2B]] https://esolangs.org/w/index.php?diff=167297&oldid=167285 * Yayimhere2(school) * (+4)
07:51:21 <esolangs> [[B2B to ,(*+)]] N https://esolangs.org/w/index.php?oldid=167298 * Yayimhere2(school) * (+1219) Created page with "'''B2B to ,(*+)''' is a translation from [[B2B]] into ,(*+). this does currently not prove ,(*+) [[Turing complete]], as [[B2B]] has an unknown computational class, though it is most likely turing complete. == Numbers == for every 1, it must be written <
07:51:27 <Yayimhere> yaaaaay
07:55:00 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167299&oldid=167262 * RaiseAfloppaFan3925 * (+144) /* Truth machine */ Corrected truth machine
08:02:27 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167300&oldid=167299 * RaiseAfloppaFan3925 * (+238) /* BF to RSI0 */ Corrected loop example
08:09:01 -!- tromp has joined.
08:09:12 <Yayimhere> hello tromp!
08:10:47 <tromp> hi
08:12:46 <Yayimhere> how are you?
08:21:30 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167301&oldid=167300 * RaiseAfloppaFan3925 * (-116) No beefydie :C
08:28:45 <Yayimhere> ais523: do you perhaps want to look at Baulk again?
08:28:59 <ais523> I'm a bit busy at the moment
08:29:07 <Yayimhere> ok
08:36:58 <esolangs> [[0x80070050]] https://esolangs.org/w/index.php?diff=167302&oldid=166553 * Yayimhere2(school) * (+29) /* syntax */
08:37:46 <esolangs> [[0x80070050]] https://esolangs.org/w/index.php?diff=167303&oldid=167302 * Yayimhere2(school) * (-1) /* memory */
08:43:48 <esolangs> [[0x80070050]] https://esolangs.org/w/index.php?diff=167304&oldid=167303 * Yayimhere2(school) * (+172) /* syntax */
08:43:58 <esolangs> [[0x80070050]] https://esolangs.org/w/index.php?diff=167305&oldid=167304 * Yayimhere2(school) * (-1) /* syntax */
08:44:23 <esolangs> [[0x80070050]] https://esolangs.org/w/index.php?diff=167306&oldid=167305 * Yayimhere2(school) * (-1) /* syntax */
08:46:23 <esolangs> [[0x80070050]] https://esolangs.org/w/index.php?diff=167307&oldid=167306 * Yayimhere2(school) * (+20) /* syntax */
08:46:42 <esolangs> [[0x80070050]] https://esolangs.org/w/index.php?diff=167308&oldid=167307 * Yayimhere2(school) * (-229) /* examples */
08:49:19 <esolangs> [[0x80070050]] https://esolangs.org/w/index.php?diff=167309&oldid=167308 * Yayimhere2(school) * (+14) /* syntax */
08:50:29 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167310&oldid=167301 * RaiseAfloppaFan3925 * (+24) /* BF to RSI0 */ Hunger notice
08:55:29 -!- Yayimhere has quit (Ping timeout: 250 seconds).
09:07:24 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167311&oldid=167310 * RaiseAfloppaFan3925 * (+7) /* Hunger */ Remove feature until I decide to add it back
09:08:54 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167312&oldid=167311 * RaiseAfloppaFan3925 * (+4) /* BF to RSI0 */ Fixed loop
09:26:11 -!- pool has quit (Ping timeout: 256 seconds).
09:35:26 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:40:35 -!- Sgeo has quit (Read error: Connection reset by peer).
09:40:48 -!- Sgeo has joined.
09:41:20 -!- Sgeo has quit (Read error: Connection reset by peer).
09:53:00 -!- tromp has joined.
09:57:21 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167313&oldid=167312 * RaiseAfloppaFan3925 * (+1) /* BF to RSI0 */ Fixed loop translation
10:34:20 -!- esolangist has joined.
10:41:24 <esolangs> [[4gn/]] M https://esolangs.org/w/index.php?diff=167314&oldid=156401 * PrySigneToFry * (+681)
10:53:09 <esolangs> [[Esolang made with AI]] https://esolangs.org/w/index.php?diff=167315&oldid=167267 * Esolangist alt * (+355) Esolangist alt
10:56:31 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167316&oldid=167313 * RaiseAfloppaFan3925 * (+238) /* Base Specification */ Added nondeterministic multi-tool + sanity
11:12:10 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Universe No.284436]] https://esolangs.org/w/index.php?diff=167317&oldid=164603 * PrySigneToFry * (+447)
11:13:09 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Universe No.284436]] M https://esolangs.org/w/index.php?diff=167318&oldid=167317 * PrySigneToFry * (-2)
11:18:06 <esolangs> [[User:Esolangist]] M https://esolangs.org/w/index.php?diff=167319&oldid=167195 * Esolangist alt * (+63) Esolangist alt
11:22:52 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Universe No.284436]] https://esolangs.org/w/index.php?diff=167320&oldid=167318 * PrySigneToFry * (+353)
11:32:55 -!- esolangist has quit (Quit: Client closed).
12:13:02 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Universe No.284436]] https://esolangs.org/w/index.php?diff=167321&oldid=167320 * PrySigneToFry * (+309)
13:22:31 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167322&oldid=167248 * RaiseAfloppaFan3925 * (+462) Added my funny "Hello, world!" program to my collection
13:44:11 <esolangs> [[Special:Log/newusers]] create * Wuyugu * New user account
14:08:57 <esolangs> [[Special:Log/newusers]] create * Skyraiderr5 * New user account
14:37:37 -!- pool has joined.
14:54:07 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167323&oldid=167322 * RaiseAfloppaFan3925 * (+443)
14:59:56 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0]] M https://esolangs.org/w/index.php?diff=167324&oldid=167316 * RaiseAfloppaFan3925 * (+31) Correct a minor error
15:00:06 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167325&oldid=167183 * Skyraiderr5 * (+176)
15:00:18 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167326&oldid=167323 * RaiseAfloppaFan3925 * (+0) /* "Hello, world!" in RaiseAfloppaFan's Stupid Idea 0 */ Corrected
15:01:17 <esolangs> [[Gurling]] N https://esolangs.org/w/index.php?oldid=167327 * Skyraiderr5 * (+2446) Created page with "{{infobox proglang |name=Gurling |author=[[User:Skyraiderr5]] |year=2025 |majorimpl=Python |influenced=[[Python]]; [[Flug]] | }} {{WIP}} '''Gurling''' is an programming language with global variables and modular libraries. It is an interpreted language ==Language
15:06:46 <esolangs> [[Talk:Gurling]] N https://esolangs.org/w/index.php?oldid=167328 * Skyraiderr5 * (+356) Created page with "Welcome to the talk page! Please add suggestions to the end of the list Also add <nowiki>~~~~</nowiki> to the end of the suggestion, its a signature This is an example of a suggestion * Add a <code>objects</code> lib with support for other Python datatypes.
15:08:27 <esolangs> [[Gurling]] M https://esolangs.org/w/index.php?diff=167329&oldid=167327 * Skyraiderr5 * (+62)
15:09:41 <esolangs> [[Gurling]] M https://esolangs.org/w/index.php?diff=167330&oldid=167329 * Skyraiderr5 * (+4)
15:15:52 <esolangs> [[Gurling]] https://esolangs.org/w/index.php?diff=167331&oldid=167330 * Corbin * (+11) Fix up infobox proglang usage. `refimpl` is for the reference implementation; `majorimpl` is for well-known implementations in case of no/missing/defunct reference. `influenced` is for outgoing influences (when this language is in the past); `influence` is for incoming influences
15:18:19 <esolangs> [[Talk:Gurling]] https://esolangs.org/w/index.php?diff=167332&oldid=167328 * Skyraiderr5 * (+382)
15:19:34 <esolangs> [[Talk:Gurling]] https://esolangs.org/w/index.php?diff=167333&oldid=167332 * Skyraiderr5 * (+69)
15:37:23 -!- pool has quit (Read error: Connection reset by peer).
15:39:18 -!- pool has joined.
16:00:31 <esolangs> [[Python]] https://esolangs.org/w/index.php?diff=167334&oldid=166044 * Corbin * (+1574) Infobox proglang; rewrite opening for context, history, clarity, and humor, as well as to remove some untruths and memes; references; grammar. The blockquote is so well-attested in the community that I feel uncomfortable giving it citations, but I've done so, going back to 1993;
16:05:24 <esolangs> [[Python]] M https://esolangs.org/w/index.php?diff=167335&oldid=167334 * Corbin * (-4) [[Self]] is currently a joke language, not the actual research language. Ironic, given that Self is quite esoteric and the joke language is so facile.
16:08:44 <esolangs> [[Pseudocode]] https://esolangs.org/w/index.php?diff=167336&oldid=156046 * Corbin * (+298) Quick simple explanation of a concept. Reuses a blanked page. Stop blanking pages, folks. Maybe take a day before creating a page to reflect on whether it's a good idea?
16:10:14 -!- esolangist has joined.
16:21:34 <esolangs> [[Gurling]] M https://esolangs.org/w/index.php?diff=167337&oldid=167331 * Skyraiderr5 * (+135) Added documentation for a small lib
16:22:15 -!- Yayimhere has joined.
16:22:29 <esolangs> [[B2B to ,(*+)]] https://esolangs.org/w/index.php?diff=167338&oldid=167298 * Yayimhere2(school) * (-1219) Blanked the page
16:30:06 <esolangs> [[0134]] https://esolangs.org/w/index.php?diff=167339&oldid=167076 * Yayimhere2(school) * (-167)
16:32:51 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=167340&oldid=166114 * Yayimhere2(school) * (+313)
16:33:45 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167341&oldid=167296 * Yayimhere2(school) * (-603)
16:35:12 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167342&oldid=167341 * Yayimhere2(school) * (-68)
16:35:47 -!- esolangist has quit (Quit: Client closed).
16:37:27 <korvo> Yayimhere: Could you explain your reasoning regarding the block request?
16:38:10 <Yayimhere> korvo: unname has tried to edit the commands of my esolang quite a bit, so I'd like that they just arent able to do that
16:38:21 <Yayimhere> i have *no* idea why but they just kept doing it
16:39:15 -!- esolangist has joined.
16:39:48 <korvo> Yayimhere: Write down the specification anywhere else. Write an interpreter. Put up a Web page that specifies it.
16:40:26 <Yayimhere> korvo: yes, but for me, its still annoying to uphold that page
16:40:40 <Yayimhere> (im not asking for a block on anything else, just one that specific page)
16:41:00 <korvo> Yayimhere: Well, by what standard are your edits the correct ones and their edits the incorrect ones?
16:41:22 <korvo> (Asking for a slight overreach is still asking for an overreach.)
16:43:04 <Yayimhere> korvo: its my language, and as such, I know what is correct and what is not
16:43:45 <Yayimhere> (I would not consider it an overreach, but maybe im wrong)
16:46:50 <korvo> It would be completely unreasonable on a larger wiki. It could be a solution to an edit war, were one to occur.
16:47:14 <Yayimhere> ok
16:47:42 <korvo> Quoting site policy, "Articles on languages you made yourself are encouraged, unlike for example Wikipedia. However, these may still be mercilessly edited by others. In most cases this is a good thing."
16:48:52 <korvo> You agree to release your articles here to the public domain. If you want to describe a language and have it show up in search results, *and* not be edited by others here to be different from your description, then you need some *additional* documentation for your language hosted somewhere else. This is a very very weak version of the notability requirement; I'm saying that we need some external source by which to judge articles.
16:49:08 <Yayimhere> ok
16:50:36 <korvo> If your language is still WIP and it's going to take you a while to finish, then moving it to be under your user namespace would be a reasonable compromise; the policy is that each user is entitled to their own user pages (and that's why the policy discourages editing each other's user pages!)
16:50:54 <Yayimhere> true
16:50:58 <Yayimhere> lol
16:51:16 <Yayimhere> I mostly do not have a place to put my external recourses
16:51:40 <Yayimhere> atleast not one that is online and so accessable to others on the web
16:51:40 <korvo> Lucky 10000: neocities.org
16:51:47 <Yayimhere> wut
16:52:24 -!- esolangist has quit (Quit: Client closed).
16:52:30 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=167343&oldid=167340 * Yayimhere2(school) * (-313)
16:52:35 <korvo> But, again, at your age, you're not expected to be producing new languages. Certainly not producing dozens of languages/year. You're expected to be studying and learning. There's nothing wrong with experimenting, but you should be aware that experiments documented on the wiki are documented in the public domain.
16:52:41 -!- esolangist has joined.
16:52:48 <Yayimhere> k
16:52:51 <Yayimhere> thanks!
16:53:55 <Yayimhere> (i assume "expected" does not mean "should not")
16:54:17 <korvo> Sure, no problem. I remember being your age and utterly delighted by Geocities, the site which inspired Neocities. It's a good first step. Be sure to read the terms of service; there *are* rules for using other peoples' sites. If you want fewer rules then you'll have to host it yourself, which might require you to be a legal adult first.
16:54:33 <Yayimhere> true
16:54:44 <Yayimhere> I should propably read up one rules more
16:54:54 <korvo> (I am not telling you what to do. I'm telling you what the rules are, including the rules of society. I think that you should do whatever you want! But I also often think that people should modify their desires.)
16:55:06 <Yayimhere> k
16:55:09 <Yayimhere> :].
16:57:27 -!- esolangist has quit (Client Quit).
16:57:42 -!- esolangist has joined.
17:07:45 -!- Yayimhere has quit (Ping timeout: 250 seconds).
17:08:44 <esolangs> [[R + S]] https://esolangs.org/w/index.php?diff=167344&oldid=164736 * C++DSUCKER * (+66)
17:20:30 -!- esolangist has quit (Quit: Client closed).
17:30:44 <korvo> esolangs: What is Python good for?
17:33:11 <korvo> fungot: What is Python good for?
17:33:12 <fungot> korvo: greece is going through bad times that is why my group is at the centre of the eu member states, but i promise to propose this plan. that is why and this is the custom with human rights.
17:33:47 <esolangs> korvo: Python is excellent for a wide range of tasks due to its versatility and ease of use. It excels in web development, data science, machine learning, scripting, and automation. Its extensive libraries and beginner-friendly syntax make it ideal for rapid prototyping and development. Python's cross-platform compatibility and strong community support...
17:33:47 <esolangs> further enhance its appeal.
17:34:14 <korvo> That's pretty good. Could be pre-canned instead of RAG though.
17:34:16 -!- esolangist has joined.
17:35:29 -!- Sgeo has joined.
17:38:41 -!- Yayimhere has joined.
17:42:50 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167345&oldid=167342 * Yayimhere2(school) * (+612)
17:43:02 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167346&oldid=167345 * Yayimhere2(school) * (-76)
17:44:21 <esolangs> [[Lalala]] https://esolangs.org/w/index.php?diff=167347&oldid=167075 * Yayimhere2(school) * (+50) /* syntax */
17:46:49 <Yayimhere> this is the last time im asking this(if ive asked it before, I have bad memory), but can anyone reccomend a good language to prove this tc(please not a cyclic tag system though, I tried): https://esolangs.org/wiki/,(*%2B)
17:53:33 <korvo> It's marked as unusable for programming and there's no reference interpreter. I don't know how the language is supposed to behave.
17:54:11 -!- amby has joined.
17:54:22 <Yayimhere> I put unusable for programming on most of my esolangs, for the reason they arent useful for very high level things,
17:54:33 <Yayimhere> like, is BCT really that usable?
17:54:38 <Yayimhere> for example
17:55:15 <esolangs> [[Talk:Burn]] https://esolangs.org/w/index.php?diff=167348&oldid=164803 * Yayimhere2(school) * (+159) /* Name */
17:55:24 <ais523> korvo: note that I often do warn people for editing commands into other people's languages – the pages are meant to describe the language, and changing the page normally doesn't change the language in its creator's mind, so it's just makign the page inaccurate
17:56:31 <korvo> ais523: I'm willing to accept that, but in this particular case I genuinely couldn't tell what the original page is supposed to look like. I'm also unclear on whether there's other chats influencing the edits.
17:57:14 <Yayimhere> korvo: to answer your second question, me and unname have never talked to each other before this
17:57:32 <korvo> I've tried to be fairly conservative in my own edits to joke languages. Many of them are poorly worded, but does improving the wording make the joke worse? Or better?
17:57:41 * korvo can't do a good Invader Zim voice
17:58:20 <Yayimhere> lol
17:58:28 <esolangist> * lol²
17:58:43 <korvo> Yayimhere: Okay. Then, for the future, the standard wiki convention is that you can revert their edits. It helps if you add to the notes for the revert to say *what they got wrong*. One wrong edit means one revert.
17:58:57 <Yayimhere> korvo: ok
17:59:22 <korvo> An **edit war** is when they revert your revert, or do something equivalent. At that point, take a step back to cool off and consider asking somebody with more experience to step in.
17:59:34 <Yayimhere> ok
18:01:54 <korvo> BTW, in general, edit notes are good. You can look at regular editors like https://esolangs.org/wiki/Special:Contributions/Ais523 or https://esolangs.org/wiki/Special:Contributions/B_jonas to get a sense of how often they're used. Talk pages don't need it much (because you can just read the talk page) and on WP it's actually kind of rude!
18:02:15 <Yayimhere> WP?
18:02:16 <korvo> (And then there are some *freaks* like https://esolangs.org/wiki/Special:Contributions/Corbin ~)
18:02:43 <b_jonas> me? I usually don't make good edit comments
18:03:21 <korvo> WP is Wikipedia. Usually English Wikipedia, but also Wikipedia in general. English WP's rules aren't binding but they are very good conventions that scale up to thousands of editors and millions of articles.
18:04:30 <Yayimhere> k
18:05:21 <korvo> (BTW, I think of myself as fairly precocious, but I didn't start editing English WP until I was maybe 16 or 17; it's okay to still be learning about wiki culture.)
18:05:38 <Yayimhere> :].
18:07:14 -!- esolangist has quit (Quit: Client closed).
18:10:03 <esolangs> [[Talk:Burn]] https://esolangs.org/w/index.php?diff=167349&oldid=167348 * Yayimhere2(school) * (+268)
18:10:16 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:17:34 <Yayimhere> also, korvo, on the "no reference implementation" thing, does there need to be one? ive seen a whole lot of esolangs where it makes perfect sense but does not have a (atleast not a reference) implementation. if any command descriptions are unclear however, I'd like to know! because I want my documentation to be clear
18:18:46 <korvo> Yayimhere: If there's a complete specification, or even a half-complete specification, then no, a reference implementation might not exist anymore. Usually this means that one was built in the past, but it has been retired. An example is [[Game of Life]].
18:19:34 <korvo> However, in those cases, we offer the `majorimpl` tag IIRC, in {{infobox proglang}}, so that we can link to major implementations. This can also be used if there's popular competing implementations, as with CPython and PyPy on [[Python]].
18:20:51 <korvo> At some level, though, we only write languages so that we can express ourselves on the computer. We *want* implementations. Historically, languages like Lisp or APL started as blackboard notation for teaching, and the students wanted to use that notation on computers, so they implemented Lisp and APL for themselves!
18:21:46 <Yayimhere> but like, you can still compute them. in fact ive done stuff manually a whole lot of times
18:22:06 <Yayimhere> and that is not *just* me, Alan turing didnt program his chess machine
18:22:08 <korvo> On a practical level, I think that *every* language I've authored has started as some script named something like test.py, and slowly become something like cammy.py and then cammy/main.py and then cammy/cammylib/cam.py, all *before* becoming an article like [[Cammy]]. The implementation comes first; the wiki page is just how I share what I built with the community.
18:22:41 <Yayimhere> korvo: to me, that just seems like differences in creating esolangs
18:22:54 <korvo> Sure. There are languages on the wiki that challenge those concepts; [[Unary]] is interesting for complexity theory, [[Sammy]] is interesting for category theory, etc. But those languages were written down by mathematicians trying to prove something about maths itself, not about computers.
18:24:06 <korvo> Yayimhere: Well, what else does "programming language" mean? "esolang" is short for the full phrase, "esoteric programming language", not just esoteric languages in general. For example, I speak Lojban and could write an article about it, but Lojban isn't a programming language, even though it's esoteric enough that people have only vaguely heard of it.
18:24:50 <Yayimhere> korvo: what? like yea its a programming language, just one that currently has to be computed manually
18:26:24 <korvo> Yayimhere: There's no difference between manual and automatic computation. The machine is merely faster, not more capable. That's Turing's whole point about machines.
18:26:48 -!- tromp has joined.
18:27:03 <Yayimhere> korvo: yea, so I dont get what the issue with there being no reference implementation
18:27:17 <Yayimhere> i have to leave anyways
18:27:24 <Yayimhere> but interesting conversation anyways
18:27:27 <korvo> No worries. Peace.
18:27:37 <Yayimhere> Peace!
18:32:15 -!- Yayimhere has quit (Ping timeout: 250 seconds).
18:37:41 -!- pool has quit (Read error: Connection reset by peer).
18:39:44 -!- pool has joined.
18:57:06 <esolangs> [[Flux (Esolangist)]] N https://esolangs.org/w/index.php?oldid=167350 * Esolangist alt * (+2348) Esolangist alt
19:01:25 <esolangs> [[Flux]] https://esolangs.org/w/index.php?diff=167351&oldid=126358 * Esolangist alt * (+45) Distinguish template
19:03:07 -!- esolangist has joined.
19:08:04 <esolangs> [[User talk:User:Main page/w/wiki/User:NotPrySigneToFry/what]] N https://esolangs.org/w/index.php?oldid=167352 * Esolangist alt * (+365) Created page with "Welcome to the craziest esolang. You are invited to make this better! ==Commands== {| class="wikitable" |+ Commands |- ! Command !! Meaning !! Creator |- | OUT x || Outputs x || [[User:Esolangist]] |} ==Examples==
19:10:01 <esolangs> [[User:Esolangist]] M https://esolangs.org/w/index.php?diff=167353&oldid=167319 * Esolangist alt * (+148) More esolangs
19:11:14 -!- esolangist has quit (Quit: Client closed).
19:13:20 <esolangs> [[User talk:User:Main page/w/wiki/User:NotPrySigneToFry/what]] https://esolangs.org/w/index.php?diff=167354&oldid=167352 * Esolangist alt * (+121)
19:19:30 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=167355&oldid=166287 * Esolangist alt * (+310) Esolangist alt
19:22:31 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=167356&oldid=167355 * Esolangist alt * (+133) Esolangist alt
19:28:22 -!- ajal has joined.
19:32:00 -!- sftp_ has joined.
19:33:12 -!- ais523 has quit (Ping timeout: 256 seconds).
19:33:50 -!- slavfox_ has joined.
19:37:16 -!- amby has quit (*.net *.split).
19:37:16 -!- slavfox has quit (*.net *.split).
19:37:16 -!- sftp has quit (*.net *.split).
19:37:17 -!- sftp_ has changed nick to sftp.
19:37:18 -!- sftp has changed hostmask to ~sftp@user/sftp.
19:37:24 -!- slavfox_ has changed nick to slavfox.
19:38:55 -!- callforjudgement has joined.
19:42:56 -!- avih has joined.
19:44:51 <Sgeo> A 1961 book distinguishes "compiler" by "assembler" as assemblers not having macros. Since IBM 1401 Autocoder has macros that expand to multiple machine instructions, it's a compiler and not an assembler
19:44:52 <Sgeo> https://bitsavers.org/pdf/ibm/1401/A_Guide_to_1401_Programming_1961.pdf
19:44:59 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:52:49 <avih> hi, i have 3 questions/notes regarding https://esolangs.org/wiki/Brainfuck_speed_test : 1. it says "Each interepreter runs dbfi which ..." but the dbfi link has link to the original dbfi but shows code of cgbfi. so does it use the original dbfi or cgbfi? (also, both of them have a faster v2). 2. at the "execution argument" of the table, most of them are "type program.b | .\dbfi", however, this doesn't work in neither the original dbfi nor cgbfi, because both
19:52:49 <avih> of them require the program to end in "!", but the test program doesn't end in "!", so either the program or the execution arguments are incorrect. 3. bffsree_gcc is indeed very fast, and is available to download at the "bffsree" link, however, i don't think the source code in that page is for "bffsree_gcc". i think the source is an older (and slower) version, while the download binary of bffsree_gcc is for newer version without source code. so i think it
19:52:49 <avih> should be noted someplace, or alternatively, test with bssfree which was compiled from the available source.
19:56:04 <avih> bffsree*
19:56:32 -!- callforjudgement has changed nick to ais523.
19:58:30 -!- tromp has joined.
20:00:51 -!- sprock has quit (Ping timeout: 256 seconds).
20:02:26 -!- sprock has joined.
20:05:55 <avih> also, this test program completes very quickly with optimizing interpreters/compilers, to the point where it's hard to measure meaningfully (startup overhead, etc), and additionally different interpreters excel at different things, so the test results are not necessarily representative in the grand scheme of things IMO, and it could be useful to have another test case.
20:11:21 <avih> (it's not mentioned, but usually it's also useful to disable cpu "turbo boost" to limit the frequency so that all programs are measured with the same cpu frequency without cpu throttling.
20:12:43 <korvo> avih: Thanks for looking at this. These pages definitely are a little messy and outdated.
20:14:11 <avih> korvo: thanks. well, not necessarily outdated as such, but more like some things are unclear (which dbfi was actually used), and some just can't be right (no "!" at the test program or execution args)...
20:15:57 <avih> and the bffsree/gcc thing is interesting. i was sure the source is available, till i looked at it and read the pages carefully, when i realized that i don't think it is available.
20:19:47 <avih> i wouldn't have minded so much, except that it's listed as fastest, 3x faster than the 2nd best, so source availability is important here IMO
20:19:55 <avih> (bffsree)
20:19:56 <korvo> FWIW the fastest options are the JITs; the fastest one that I got working is the GNU Lightning version, followed in second place by my RPython interpreter. The AOT compilers do an alright job but they're working uphill.
20:20:47 <avih> correct. though i also have an interpreter (no jit etc), which is only about 3x slower than jit
20:21:04 <avih> (and typically faster than bffsree_gcc too)
20:22:01 <korvo> Oh, wow. So I hadn't actually *read* this page. This is a Windows-only page!
20:22:42 <avih> it was tested on windows, yes
20:22:46 <korvo> The fastest interpreter I've tested on NixOS (Linux) is http://lvogel.free.fr/bf.html in GNU Lightning, followed in second place by mine https://github.com/rpypkgs/rpypkgs/blob/main/bf/bf.py in RPython.
20:23:16 <avih> have you tried https://github.com/rdebath/Brainfuck ? the jit one is pretty sweet.
20:23:27 <avih> (i only tested on windows though)
20:24:17 <avih> looking now into your links. i don't think i've seen them before. thanks.
20:25:33 <avih> korvo: but if it uses Lightning, then it's not really an interpreter as such, right? it basically generates source and compiles it on the fly.
20:25:51 <korvo> Tritium? It's a lot of code and a big achievement. However, it's very verbose and takes a while to get to the good stuff. My interpreter's not even 300 lines, and it could be shorter if I golfed it but I wanted it to be readable. There's also an explanatory post about compiler design that goes into details: https://pypy.org/posts/2024/11/guest-post-final-encoding-in-rpython.html
20:26:25 <avih> "Tritium" ?
20:26:33 <avih> (not sure what that means)
20:27:18 <korvo> avih: GNU Lightning interprets bytecode for an imaginary CPU (the Lightning CPU, I guess?) and the JIT merely is a way of speeding that up, but the library includes a full emulator for that CPU too.
20:27:44 <avih> right.
20:28:02 <avih> but at least it's not an interpreter in the classic sense :)
20:28:16 <avih> not that it matters to the user though...
20:28:31 <avih> except maybe harder to build.
20:28:43 <korvo> An interpreter can have any internal structure. What matters is the effects that it performs.
20:29:00 <avih> sure
20:30:06 <avih> but then, you could also call this an interpreter: "bf2c < prog.b | gcc -O2 -xc - -o tmp && ./tmp && rm tmp"
20:30:40 <korvo> My shell doesn't have `bf2c` or `gcc` as builtins?
20:31:20 <avih> no, bf2c IS the thing you could call an interpreter, and it has a gcc dependency, just like other interpreters might have lightning as dependency
20:32:22 <korvo> Oh! Sure. Or, more pointedly, x86 is an interpreter.
20:32:25 <avih> i think we both understand eachother. these are just semantics.
20:33:05 <korvo> Well, yes. But semantics, also called effects, are what matter.
20:33:06 <avih> but anyway, looking now at your links. i wanna try them :)
20:33:44 <korvo> RPython might be preferable in this regard, or at least it might challenge your concept of dependency. Here's the ldd for bf.py: https://bpa.st/ZJLA
20:33:51 <int-e> . o O ( so much up for interpretation )
20:33:57 <avih> semantics matters to clarify the intent behind the words, but we both know what it means, just not necessarily how to call it :)
20:34:50 <avih> what's RPython? (i'm not really a python guy, more shell and c guy)
20:35:02 <korvo> avih: No, seriously, you're so close to seeing something really big. What if we could take an interpreter and somehow *specialize* it for a particular input? Then that would be equivalent to compiling the input, *and* we might be able to optimize the result.
20:35:30 <korvo> This leads to Futamura projections, which are what we get when we have specializers and we start applying them to interpreters and other programs.
20:35:33 <korvo> RPython
20:35:49 <avih> (Sec, reading your reply carefully...)
20:36:30 <korvo> *Sheesh. RPython is a frozen dialect of Python 2.7 that can be compiled into a C program. Optionally, it can add a JIT to that program. It was developed to build PyPy, a JIT interpreter for Python which is written in Python.
20:37:01 -!- Awoobis has changed nick to gAy_Dragon.
20:37:10 <avih> not familiar with "Futamura projections", but i do get the gist of what you're saying. however, i don't think i understand what it implies, or what i should take from that
20:37:51 <korvo> Well, I'm just not sure why JIT compilers aren't interpreters. They're very fancy interpreters, but they do interpret at runtime.
20:38:11 <avih> i see, rpython is like turtles all the way down, just with jit and python :)
20:38:50 <korvo> GNU Lightning has similar origins. It was isolated from GNU Smalltalk's JIT.
20:39:42 <avih> korvo: i already agreed :) it's fine. they might require a bit more effort to use/build compared to plain python or c, but otherwise true
20:39:50 <korvo> Indeed, the idea of JIT is attached to a Smalltalk offshoot called Self; this is the language that put the `self` keyword into Python, and it's also a big influence on ECMAScript. By no coincidence, the Self JIT folks went to work on JITs for ECMAScript and also to design JIT-friendly languages like Java.
20:39:59 <int-e> Interpreters to compilers are a spectrum. If you have an intermediate bytecode, is it still a pure interpreter ;)
20:40:25 <avih> :)
20:40:26 <int-e> If you allow bytecode, what if the bytecode format happens to match the machine's architecture ;)
20:40:46 <avih> all true :)
20:41:08 <korvo> int-e: Well, they do still make 6502 chips.
20:41:43 <avih> k, time to look at these links. not sure i have the deps to use them, but we'll see.
20:42:40 <korvo> Laurent's code is likely easier to use than mine; I rely on having RPython already installed, or on the usage of a Unix package manager called "Nix", and neither are easy on Windows.
20:43:47 <avih> i have many unixes too, and i don't have nix or rppython installed on any
20:44:06 <avih> (not a problem per se, just i don't have them ready)
20:44:55 <avih> korvo: that's Laurent's, yes? http://lvogel.free.fr/bf.html
20:45:14 <korvo> Yeah. It worked last time I tried, maybe 3-4yrs ago.
20:45:16 <int-e> What *I* personally am looking for in an interpreter is something that I can run programs with without producing extra garbage on my drive. Which is murky; Python tends to produce pyc files quite eagerly...
20:45:53 <int-e> (there's an environment variable to disable that)
20:48:32 <avih> korvo: i tried the windows binary, and it's fast, but about 1.4x slower than https://github.com/rdebath/Brainfuck and only about twice slower than my "pure" interpreter (i.e. no deps, just 1 small c file and stdio in libc)
20:51:13 <avih> twice faster* than my c interpreter (which is not online yet)
20:52:51 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167357&oldid=154633 * Esolangist alt * (+1334) what
20:54:34 <avih> but slower than the rdebath jit (Dynasm. it supports Gnu Lightning too, but not at the windows binary)
20:55:06 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167358&oldid=167357 * Esolangist alt * (+80) Esolangist alt
20:55:20 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167359&oldid=167358 * Esolangist alt * (+0) Esolangist alt
20:59:46 <avih> int-e: most interpreters can produce reasonably good c code, so to avoid leftover on your drive, you could "some-bf2c < prog.b | tcc - -run"
21:00:50 <avih> this is typically faster than most interpreters, including the compilation time, but slower than jits
21:01:06 <avih> slower than non-jit interpreters :)
21:01:36 <avih> (or rather tcc -run -)
21:03:17 <avih> damn. faster than non-jit interpreters, but slower than jit interpreters... my brain is fucked...
21:11:26 <avih> korvo: re "i don't have bf2c as shell builtin", you could add this as a function to your (posix) shell rc file:
21:11:28 <avih> d=#define U=unsigned; echo "#include <stdio.h>@$U char t[65536];$U h;int c;
21:11:28 <avih> $d C t[h&65535]@$d R ++h;@$d L --h;@$d P ++C;@$d M --C;@$d W while(C) {@$d\
21:11:28 <avih> E }@$d O putchar(C);@$d I c=getchar();C=c<0?C:c;@int main(void){"|tr @ \\n
21:11:28 <avih> s="][><,.+-";tr -cd $s|tr $s EWRLIOPM|fold -w1;echo ";return 0;}" # avih
21:11:44 <avih> (this is the next version of https://github.com/avih/bf2c.sh )
21:13:17 <avih> (that's 300 bytes shell bf2c)
21:13:56 <avih> (zero optimizations, but i also have a 1k version which does RLE and balanced loops and tons of options. really super practical)
21:15:08 <avih> (with a debugger too :) )
21:21:28 <b_jonas> heh
21:22:29 -!- op_4 has quit (Ping timeout: 256 seconds).
21:23:31 -!- slavfox has quit (Ping timeout: 256 seconds).
21:24:23 -!- slavfox has joined.
21:26:52 <korvo> avih: Nice.
21:27:31 <avih> thanks :)
21:29:36 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167360&oldid=167359 * Esolangist alt * (+826) Esolangist alt
21:36:00 -!- op_4 has joined.
21:55:53 <avih> b_jonas: bonus preview, comments are welcome :) https://0x0.st/KLVv.txt
21:57:58 <b_jonas> avih: can you mention in the description how overflow and underflow from + and - are handled? the description mentions that going off the tape from < and > is customizable, but a mode with no UB from -+ would also be useful
21:58:39 <avih> b_jonas: indeed, but it's unsigned int/short/char, so wraps both ways
21:58:55 <b_jonas> ok, just document that
21:59:03 <b_jonas> because I find this code not easily readable
21:59:12 <b_jonas> oh!
21:59:16 <b_jonas> you do say it after "CELLTYPE"
21:59:19 <b_jonas> I See
21:59:24 <avih> (i do have it at the github page and my WIP comment, but i wrote this comment/usage just now, but you're right)
21:59:25 <b_jonas> sorry, I'm just blidn then
22:00:08 <avih> also, you could always look at teh generated c code ;) bf2c.sh < prog.b | less
22:00:39 <avih> it's actually clearer than the sh code, as it expands all the vars
22:00:42 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167361&oldid=167360 * Esolangist * (+673) /* User:Esolangist's attempts */
22:01:43 <avih> b_jonas: also, except for bugs, or with B=0, it should not have UB. everything should be by the book.
22:02:26 <b_jonas> I think "by the book" brainfuck originally allows UB, but I prefer interpreters that don't do that
22:02:32 <b_jonas> or compilers
22:02:39 <avih> i my by the C book :)
22:02:46 <avih> i mean by*
22:03:10 <b_jonas> the ANSI version of the K&R bible?
22:03:30 <avih> i _think_ yes, but i mainly do c99
22:04:10 <avih> there are no special types used. off the top of my head, the only think i'm not sure of is whether fcntl.h is c89
22:04:18 <avih> thing*
22:04:52 <avih> (it's only used on windows, but i didn't have enough bytes left under 1K to add #ifdef _WIN32 ;) )
22:05:47 <avih> (but i might be able to squeeze it in. it does have about 15 bytes spare after removing some spacing newlines)
22:06:50 <avih> I might squeeze it as ${W:+#include<fcntl.h>}
22:07:23 <avih> (that's why it's not at the github page yet. it's WIP)
22:08:37 <b_jonas> it's kind of funny to go for a size limit when using brainfuck in first place means that the programs will be long
22:08:49 <b_jonas> I don't much like brainfuck
22:09:17 <avih> well, the original bf compiler went for a small size compiler...
22:10:05 <avih> there's nothing to like about it, other than it works, and can be fun to solve bf related things :)
22:15:04 <b_jonas> yes
22:20:32 <avih> re readable, yeah, it's hard to squeeze things into size limit and keep it readable, but i tried to keep it as readable as possible under the circumstances. it's not packed into 80-cols lines etc, and even has few excessive newlines for spacing ;)
22:27:16 <avih> b_jonas: updated comment, unmodified code https://0x0.st/KLVd.txt
22:35:14 <b_jonas> "not packed into 80-cols lines" => yeah, I have some attempts at those, like https://www.perlmonks.com/?node_id=863110
22:36:58 <avih> yeah, and this is sh, it's "allowed" to use gzip too and eval the decompressed code, but i don't think it's fun, and it's also scary to use - eval of code which you can't see...
22:37:13 <b_jonas> I like to write code that is formatted normally but the algorithm that it uses is obscure and that's what makes it hard to understand, that's why I'm proud of https://www.perlmonks.com/?node_id=1008395
22:38:12 <APic> cu
22:38:52 <b_jonas> no need to add surface obfuscations or golfing if the actual method with the two unpacks is crazy enough
22:39:15 <avih> b_jonas: it's great that different people find different things fun :) though i didn't try to obscure it by intent. it's only a result of the size limit.
22:40:27 <avih> as i said, the resulting c code is clearer as it expands all the variables, though the awk code can be hard to decipher, especially the second script
22:40:49 <avih> (that's the balanced counter loops handling)
22:41:17 <b_jonas> yeah
22:42:06 <b_jonas> that was my original goal with olvashato, to generate clean readable code, though I only succeeded to a small part
22:42:32 <avih> like that debug line (#define D ... when $D is not empty) expands to about twice its size in the sh script :)
22:43:17 <avih> is olvsharo one of the links you posted earlier?
22:43:20 <avih> t
22:43:33 <b_jonas> no
22:43:40 <avih> not familiar with it then
22:43:49 <b_jonas> https://esolangs.org/wiki/Olvashat%C3%B3
22:43:52 <avih> thx
22:44:12 <avih> oh hey, it's you! :D
22:44:39 <b_jonas> yes, I said "my original goal" so it's my code
22:45:42 <avih> can't say i remember anything at all about ML...
22:46:52 <b_jonas> you don't have to remember the concrete syntax because the compiler knows that
22:47:18 <avih> (i'm not that much into languages beyond c and sh, but i know a few, and recently decided to play a bit with bf, because i like tiny)
22:47:47 <avih> yeah :) was an unrelated comment (ML)
22:52:41 <avih> b_jonas: the olvashato code looks readable. nice.
22:58:15 <b_jonas> avih: yes, but the goal was to make the SML and Prolog code that it outputs readable
22:58:22 <b_jonas> and I only partly succeeded that
22:59:00 <avih> you could keep trying... :)
23:01:18 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:02:42 <b_jonas> avih: there's no point, I already passed the relevant course for which I've written this, and I have a diploma and everything, I have no reason to compile the same code to both SML and Prolog anymore, especially not into dialects for proprietary compilers that I only had access to as student versions
23:03:03 <b_jonas> if I want to emit readable code I should write an Enchain compiler
23:03:46 <avih> oh, i misinterpreted "only partially succeeded" as "not too happy with that"
23:04:31 <b_jonas> my plan is for that to emit straightforward C code, though not the most readable because it will rely on a "modern" (as in last twenty years) C compiler that can do inlining and basic register allocation
23:05:31 <avih> out of curiosity, why would it need "register allocation"? (and what does it mean in this context?)
23:05:32 <b_jonas> so it won't be readable as C code, but useful enough in that you can see how it corresponds to the enchain source code straightforwardly
23:05:53 <avih> i think that's fair
23:06:29 <b_jonas> avih: I mean it will emit each function call as a separate statement, even when the functions are just simple integer arithmetic operations, so an old non-optimizing compiler would probably unnecessarily save each intermediate result into a stack slot
23:07:32 <avih> and why would that matter, other than performance? or are you suggesting it would use more stack than it otherwise could?
23:08:19 <avih> (i assumed the stack space would be temporary till after it's called)
23:08:22 <b_jonas> just performance, yes, though it's mostly the inlining that matters
23:09:00 <b_jonas> the C code read alone will be ugly because every value will go to a temporary with uninformative name, sort of like in the prolog output of Olvashato but worse,
23:09:11 <avih> well, performance is second to correctness. get correctness right, then worry about performance IMO.
23:09:22 <b_jonas> yep
23:09:29 <avih> brb
23:09:48 <b_jonas> but read it when you're writing the Enchain source code and you can tell that each statement corresponds to an Enchain statement
23:10:08 <avih> right
23:10:28 <esolangs> [[Talk:Function-level programming]] N https://esolangs.org/w/index.php?oldid=167362 * Fpstefan * (+1295) to Quote of J. Backus
23:10:32 <avih> (i was a performance engineer in mozila for some years, and the amount of premature optimizations is a PITA)
23:10:39 <avih> mozilla*
23:12:19 <avih> (to be fair, it's not only mozilla. it's pretty much everywhere)
23:13:00 <avih> i get teh fun in squeezing every last bit of perf, but it does have costs...
23:15:28 <b_jonas> of course
23:15:40 <b_jonas> that includes the code that I write
23:15:56 <avih> heh
23:45:08 <korvo> avih: Ah, so you already know the most important part of profiling: stop when it's fast enough. I had been trying to determine what kind of speed you were trying to get out of Brainfuck, but it sounds like you didn't have a fixed goal.
23:46:34 <avih> it depends on the reason. if it's for work, sure, if it's for fun, then for as long as you're still having it ;)
23:47:14 <avih> and no, i don't have a goal, but i have few references of existing programs.
23:47:29 <korvo> Ah, like ais523. I am more emotionally driven; I think that most of my fast Python work has been out of spite more than anything else. My goal for Monte was to be faster than CPython for equivalent code.
23:47:33 <avih> so obviously i prefer to beat them :)
23:48:19 <avih> lol
23:48:29 <avih> i like fast out of spite :)
23:50:12 <avih> korvo: btw, re my initial thing about the speed test, do you know who tested it? are they here?
23:51:12 <avih> but the golden goal is fast and tiny and readable ;)
23:51:43 <korvo> avih: Looks like None1, who I haven't seen here before. https://esolangs.org/wiki/User_talk:None1
23:52:23 <ais523> None1 is fairly active, but not on IRC
23:52:34 <avih> hmm... how does the esolangs wiki works in general? is it acceptable to edit other people's pages? (i don't intend to, and if i will i'll first ask here, so just info)
23:53:35 <ais523> pages aren't owned by anyone
23:53:45 <ais523> although the designer of a language will normally have more information about what to put on them than other people
23:54:05 <avih> sure, it's a wiki, but i think it's courtesy to at least talk first with whoever wrote something before changing it...
23:54:22 <ais523> the purpose of mainspace pages is to describe esolangs, rather than define them, so you can edit a page as long as it still describes the language correctly
23:55:40 <korvo> I think that pinging them on their user talk page would be fine, and I also think that being bold about editing the main article would be fine depending on what you want to add. We're fairly collaborative here.
23:55:48 <avih> i was referring to this https://esolangs.org/wiki/Brainfuck_speed_test which doesn't describe a language, but it does have some issues, including not being able to reproduce anything if following the described test procedure
23:56:24 <avih> (and some clarity issues too)
23:57:35 <avih> thanks. anyway, no intent to edit anything for now, and i'll ask first regardless. thanks.
23:59:00 <ais523> my position is basically "a language should exist outside the wiki, even if it's only in someone's head, and then the wiki is used to describe and possibly publicise that"
23:59:02 <avih> (also haven't used media wiki before, but i don't doubt i can get over that ;) )
23:59:35 <korvo> No worries. I hadn't seen this page at all before, so I appreciate the discussion.
23:59:38 <ais523> it is ideal for the language to exist as, e.g., an implementation or specification elsewhere first, but that is not a requirement
2025-11-03
00:00:07 <avih> ais523: agreed
00:01:00 <ais523> a good reason to edit pages created by other people is because you're adding things like discussions of a language's computational class, or interpreters, or relationships between the language and other languages
00:02:11 <esolangs> [[Rail (data structure)]] N https://esolangs.org/w/index.php?oldid=167363 * Corbin * (+1126) Stub a common Brainfuck-only data structure. More words and example code in a moment.
00:02:14 <avih> yeah, i'll probably add my interpreters when they're more than a preview, without asking first.
00:03:11 <korvo> ais523, int-e: ^^^ Stubbed the BF stack-like thing that keeps showing up in lore. I use this in my stack machines, so I have code to bring to the table. My terminology is *not* standard and I would love for you to add your names for situations.
00:03:50 <b_jonas> avih: ping palaiologos as well, he might be interested in that brainfuck speed test thingy
00:03:52 <ais523> korvo: you are missing a generalisation, of interleaving rails
00:04:52 <avih> b_jonas: are they here sometimes?
00:05:00 <korvo> ais523: Ah, so a program can have k distinct rails, sure.
00:05:13 <ais523> I guess I should write an Esimpl-to-BF compiler as a sort of formalisation of this sort of thing
00:05:37 <ais523> but I've also written programs with a sort of "marker rail" that's nonzero in most places but zero in a few, that are used to mark positions on other rails
00:05:38 <avih> i didn't know of http://lvogel.free.fr/bf.html though, and i like it.
00:06:30 <avih> it mentions two test programs which i don't think i;ve seen before: sisihi.b and long.b . does anyone knows where they can be found?
00:07:22 <avih> (i do test with mandelbrot and hanoi. bffsree_gcc is a deamon with that. i have no clue what the f*ck it does to be so fast...)
00:07:38 <b_jonas> avih: only by the standards of how slow this channel is. probably better to ping https://esolangs.org/wiki/User:Palaiologos on the wiki.
00:07:54 <avih> (deamon with hanoi, but in mandelbrot i'm about 2x faster than it)
00:07:58 <ais523> b_jonas: to ping someone you use the user talk page, not the userpage
00:08:03 <ais523> so you linked the wrong page
00:08:06 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
00:08:18 <ais523> people who are familiar with MediaWiki will know this but avih isn't
00:08:56 <avih> yeah, i get that it can be some form of communication, but i don't have an account and i haven't used it in general.
00:09:10 <b_jonas> ais523: I was thinking more of the ping feature which you get by writing @ followed by a link to the userpage onto an edit in some other page, such as the talk page of that speed test thingy, ping both palaiologos and None in one go
00:09:15 <b_jonas> but you're right normally
00:09:38 <ais523> b_jonas: that isn't installed on Esolang
00:09:40 <b_jonas> oh nice, then you're still yet to learn about the base 9 thing
00:10:03 <b_jonas> oh, that's not in this mediawiki installation? good to know
00:10:22 <ais523> the wiki signup process is a bit confusing – we had to make it confusing enough to stop spambots, but most legitimate editors are able to figure it out
00:10:58 <ais523> (we used to get a *lot* of spambots, but the current combination seems to be keeping them out so far)
00:11:08 <avih> ais523: really? what would spambots do with esolangs wiki?!
00:11:14 <ais523> post spam on it
00:11:18 <avih> heh
00:11:26 <ais523> it's what they do with everything else
00:11:53 <avih> i wouldn't think it's worth the effort or power consumption. i get tat maybe on wikipedia or other places with lots of eyes...
00:13:32 <b_jonas> spammers can freely choose where to put the computers that run stuff, and that makes power cheap
00:14:14 <ais523> or steal them, so that they aren't paying for the power
00:15:26 <avih> is it a common thing with wikimedia? wikipedia? i don't think i've ever seen spam in wikimedia sites...
00:16:10 <avih> afaik the most painful these in recent years is scrapping
00:17:56 <ais523> Wikipedia has a very good spam filter
00:18:52 <ais523> there are a lot of attempts to spam on it, but it's hard to automate because as soon as the admins notice patterns in the spam they put in a rule to prevent that specific pattern
00:20:18 <avih> yeah, i guess
00:25:25 <esolangs> [[Rail (data structure)]] https://esolangs.org/w/index.php?diff=167364&oldid=167363 * Corbin * (+1888) Just writing words like it's nanowrimo again. I have not tested any of this; I'm just whipping out the code from memory. Yes, yes! You're the man now, dog!
00:26:08 <avih> korvo: i really like that page with that jit. it also links here https://code.google.com/archive/p/esotope-bfc/wikis/Comparison.wiki , which is interesting and i didn't know of it. currently my interpreter does everything upto and including "simple loops" (my linked bf2c.sh does those too, but not super efficiently)
00:26:47 <avih> (still proud of what it can do in 1k though :) )
00:28:04 <avih> i've seen quite a few bf pages, but i don't think any of them led me either to Laurent's page or that google code page
00:28:16 <avih> thanks again
00:29:31 <korvo> avih: No worries. Eventually you can tackle Lost Kingdom!
00:30:00 <avih> oh, all of my interpreters could tackle that from v0.00001 :)
00:30:20 <korvo> Nice. Lots of interpreters crash on that one.
00:30:33 <avih> including the 4 lines sh code i posted literally here in irc :)
00:30:48 -!- Lord_of_Life has joined.
00:31:49 <avih> you can jit it too: bf2c.sh < LostKingdom.b | tcc -run - /dev/tty (or "con" on windows)
00:33:33 <avih> (but not in the 4 lines sh code, because it doesn't take an infile argument, but recent versions of tcc support custom stdin with "tcc --rstdin /dev/tty -run -", because i added it myself few days ago to tcc mob)
00:38:32 <korvo> I should respect tcc more. I don't really use it much because I'm not a big C fan.
00:40:00 <avih> tcc is great.
00:40:37 <avih> see, playing with bf improves tcc :)
00:40:48 <esolangs> [[Rail (data structure)]] https://esolangs.org/w/index.php?diff=167365&oldid=167364 * Corbin * (+876) Interleaved rails and a bit of extra detail.
00:42:39 <korvo> avih: Also, I hadn't seen that comparison page before, and the notation there is giving me ideas about how to improve https://esolangs.org/wiki/Algebraic_Brainfuck
00:44:40 <avih> which comparison page? Laurent's?
00:45:27 <avih> (that's your link...)
00:46:32 <korvo> The Google Code page.
00:46:53 <esolangs> [[Algebraic Brainfuck]] M https://esolangs.org/w/index.php?diff=167366&oldid=163679 * Corbin * (+26) /* Computability */ Bluelink.
00:47:57 <avih> oh, i don't think i see comparisons there? (otehr than maybe mentioning which interpreters implement which optimizations?) but it does mention optimizations i didn't think of, which would feel unfair to implement, but that won't stop me ;)
00:48:29 <korvo> I was just going off the URL, that's all.
00:48:42 <avih> yeah, it's good. very nice.
00:49:33 <korvo> FWIW all I'm seeing is a monoid; the way that I currently optimize BF is merely by canonicalizing that monoid. I don't really have a high-minded approach to optimization.
00:50:45 <avih> i don't know what a monoid is, and it feels like i'm missing out on an important high level concept
00:51:41 <avih> korvo: remind me, is your interpreter using any 3rd party jit?
00:51:56 <avih> (other than rpython itself)
00:52:22 <avih> like gnu Lightning or other assemblers?
00:52:45 <korvo> A monoid is an associative binary operation along with a unit. Examples include string concatenation (with the empty string) and addition of natural numbers (with zero). They show up whenever we have a list of things; lists are "free" monoids, which just means that they are monoids regardless of what type they contain.
00:53:41 <avih> feels like lisp
00:53:46 <avih> except higher level :)
00:53:46 <korvo> avih: Nope. RPython has its own backend. I mean, it does use libffi, which I think of as a sort of runtime assembler, but RPython does have all the nasty parts you'd expect, e.g. https://github.com/pypy/pypy/tree/main/rpython/jit/backend/x86
00:53:47 <ais523> I like defining this sort of mathematical structure by showing the rules it has with a familiar example
00:54:12 <ais523> e.g. monoids have 0 + x = x, x + 0 = x, (x + y) + z = x + (y + z) for some reasonable definition of + and 0
00:54:25 <ais523> but those are the only rules, so the operation doesn't have to act like + and 0 in other respects
00:55:08 <korvo> We have a good wiki page, [[monoid]]. They're too common to not talk about. But programmers haven't historically had access to algebraic laws, so they haven't been able to prove that their binary operations are associative.
00:55:11 <ais523> (I don't quite mean "defining" but "explaining")
00:55:23 <avih> korvo: yeah, of course it does, but your code is "normal" python which gets the benefit of running on top of rpython, just like c code benefits from good compiler optimizations, right?
00:56:05 <korvo> avih: That's the idea! In practice, RPython-flavored Python has an object model somewhat like Java, but honestly more like OCaml than anything else I've used.
00:56:10 <avih> (unlike, for instance, c code which uses Lightning)
00:56:57 <korvo> You have full access to Python 2.7 metaprogramming, *once*, when your app is imported into memory. Then the toolchain traces your in-memory compiled program to figure out what it actually does, and compiles those traces to C instead of your original code.
00:57:16 <avih> korvo: that's nice. i like that approach best ("normal" code in an efficient platform)
00:58:38 <korvo> bf.py doesn't really do much with that. Cammy's core interpreter uses metaprogramming to generate a bunch of optimized bytecodes and do some OCaml-module-style codegen for classes. Monte's interpreter has a full-blown nanopass infrastructure, macros for I/O and promises, template classes, and all sorts of weird FFI.
00:58:59 <avih> ais523: korvo: thanks for the monoids info, i'll look into the esolangs page (or elsewhere) later. cheers.
00:59:14 <korvo> No worries! Welcome to abstract algebra. It's fun times.
00:59:33 <korvo> (I learned group theory in order to do cryptography. I envy folks who get to do it just for fun or even just for discrete-maths credit.)
01:00:37 <avih> i implemented a pretty decent JS Promise, conforming to CommonJS 1.1.1 spec... (can be used in mpv js code - which i maintain)
01:01:59 <avih> yeah, never got too much into math in uni or later, beyond the basic stuff, though CS basic math is a bit more than a degree in literature :)
01:02:27 <korvo> Rad. When I did Monte, I was using E's mechanism, copying the pretty pictures at http://www.erights.org/elib/concurrency/refmech.html and now I'm looking at those once again for Vixen. Some things never change.
01:02:40 <b_jonas> oh yeah, this channel sometimes does category theory for some reason
01:02:47 <korvo> It's me, I'm the reason.
01:03:05 <avih> lol
01:03:13 -!- ajal 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:04:31 <korvo> I have a problem where I look at a graph and I see a category. Or I look at a monoid and I see a category. I see two objects and I think "I could put an arrow on that"
01:04:51 <avih> :)
01:09:27 <avih> i really like promises https://github.com/avih/nopromise/blob/master/nopromise.js
01:09:41 <avih> eh.. https://github.com/avih/nopromise
01:10:39 <avih> there's a pico version too
01:12:20 <b_jonas> I think all mathematicians do that sometimes, just with different tools that they're familiar with, not category theory in particular
01:13:34 <b_jonas> sometimes you know a deep theory that feels like it explains the simple proof better than the more elementary phrasing
01:17:09 <esolangs> [[Rail (data structure)]] https://esolangs.org/w/index.php?diff=167367&oldid=167365 * Corbin * (+507) Explain padding better. Padding is actually really important for small algorithms since [<<] gets really big if we have to add error handling or location detection.
01:18:32 <b_jonas> for me one of these things is that compactness of first order logic shows that if you can prove that no infinite structure satisfies some Ramsey-like restrictions then there's an upper bound for how big finite objects satisfy it. it turns out that this doesn't actually get you any new results, because the proofs for those Ramsey-like theorems are always already explicit enough to give an upper bound, so
01:18:38 <b_jonas> this is at best a guide for what kind of proof you should be looking for.
01:19:14 <korvo> avih: Nice. Monte's version is a great example of the warning, "You can write Java in any language." https://github.com/monte-language/typhon/blob/master/typhon/objects/refs.py
01:19:50 -!- ais523 has quit (Quit: quit).
01:19:55 <avih> (looking)
01:21:05 <korvo> b_jonas: I like that. Ramsey intuition is hard to get going in general. I know the basic party-trick version, which is just finite Ramsey's theorem for graphs, but I don't have the intuition for how it connects to (logical) compactness.
01:21:07 <avih> it's not small... (i think
01:21:08 <avih> )
01:22:34 <b_jonas> like if the task is to prove that every infinite string of a three-letter alphabet has two adjacent copies of some string as an infix then you know in advance that you'll be proving that a long enough string has such an infix
01:22:59 <avih> korvo: it's been a while since i use java. what do you consider "java-ism"? extensive use of OO code, methods and classes?
01:23:05 <avih> used*
01:23:40 <b_jonas> in this particular case the upper bound for the length is actually pretty small, something between 10 and 20, but of course that's not always the case, for some Ramsey results your proof will give a huge overkill upper bound and it's hard to guess even what order of magnitude you can improve the bound to
01:23:41 <korvo> b_jonas: Oh! I know the cringiest example. When I think of a hypergraph, I think of a category. So I once blurted out that categories were how to describe an object graph in a certain sort of actor model. I *did* use this to prove that any Hewitt actor model is Cartesian closed and thus a lambda calculus, so it saw some use, but it's very dorky.
01:24:20 <avih> (i never liked it too much TBH. it works, but it requires too much infrastructure for my taste)
01:24:42 <korvo> avih: Yeah. Moreover, the use of lots of classes to solve the Expression Problem. In compilers, this is the problem of having N different behaviors and M different AST nodes; we need N × M different code clauses to handle them all. Here, the AST is all the possible states of a promise, and I basically wrote one method/behavior.
01:25:35 <avih> right. i think c++ code can suffer too from that, but i'm not very experienced in it
01:26:53 <avih> sounds nice and fun (the AST promise thing)
01:27:04 <korvo> Yeah. Lots of corporate C++ especially, particularly backend and gamedev stuff. I worked at Google for a bit and there was very little difference between internal C++, Java, and Python code. When Go was introduced, people started writing Go with that flavor too.
01:27:44 <avih> :)
01:28:05 <avih> you can get the dev out of X, but not the X out of the dev :)
01:29:09 <avih> i played with go a bit. it's nice. but then again, it's pike...
01:29:53 <avih> (not dart though)
01:35:57 <esolangs> [[Rail (data structure)]] https://esolangs.org/w/index.php?diff=167368&oldid=167367 * Corbin * (+602) /* Algorithms */ Can't have push without pop. Also use semicolons for comments instead of commas!
03:20:37 <zzo38> I have not used Java much, and not at all recently, but I think it is excessively object oriented programming. OOP is good for some things but Java is too excessive OOP, I think.
03:28:08 <esolangs> [[Gur yvsr]] M https://esolangs.org/w/index.php?diff=167369&oldid=167270 * Placeholding * (+30)
03:34:30 <esolangs> [[Gur yvsr]] https://esolangs.org/w/index.php?diff=167370&oldid=167369 * Placeholding * (+93)
03:40:44 <avih> b_jonas: i think that's an RC1 https://0x0.st/KL4p.txt
03:41:40 <avih> (fit limiting the #include <fcntl> to windows-only if binary IO is enabled)
03:41:54 <avih> .h
03:43:29 <avih> (otherwise only the comment is modified)
03:44:24 <avih> i did have to remove one newline though, but it's not too bad.
03:44:35 <avih> it's exactly 1024 :)
03:47:10 <avih> oh, also modified the unbound behavior to double the memory size instead of adding fixed 256 bytes. now it's symmetric, and saved two bytes :)
04:15:44 <esolangs> [[Baulk]] https://esolangs.org/w/index.php?diff=167371&oldid=167273 * Yayimhere2(school) * (+41)
04:18:06 <esolangs> [[Baulk]] https://esolangs.org/w/index.php?diff=167372&oldid=167371 * Yayimhere2(school) * (-14) /* Operators */
04:19:33 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
04:33:36 <zzo38> Can JIT be effective for emulating instruction sets that have tagged memory?
04:49:18 <esolangs> [[Baulk]] https://esolangs.org/w/index.php?diff=167373&oldid=167372 * Yayimhere2(school) * (+2) /* Examples */
04:51:44 <esolangs> [[Baulk]] https://esolangs.org/w/index.php?diff=167374&oldid=167373 * Yayimhere2(school) * (+198) /* Full description */
04:51:55 <esolangs> [[Baulk]] https://esolangs.org/w/index.php?diff=167375&oldid=167374 * Yayimhere2(school) * (+4) /* Examples */
05:04:09 -!- Lord_of_Life has joined.
05:58:12 <esolangs> [[Baulk]] https://esolangs.org/w/index.php?diff=167376&oldid=167375 * Yayimhere2(school) * (-36) /* Full description */
06:02:25 <esolangs> [[CARP]] M https://esolangs.org/w/index.php?diff=167377&oldid=166735 * TheCanon2 * (+8) Assembly change
06:02:44 <esolangs> [[CARP]] M https://esolangs.org/w/index.php?diff=167378&oldid=167377 * TheCanon2 * (+1) typo
07:06:29 -!- xelxebar has quit (Ping timeout: 260 seconds).
07:09:55 -!- xelxebar has joined.
07:27:08 <APic> Hi
08:03:06 -!- Sgeo has quit (Read error: Connection reset by peer).
08:04:45 -!- pool has quit (Read error: Connection reset by peer).
08:06:48 -!- pool has joined.
08:15:23 -!- tromp has joined.
09:04:44 -!- pool has quit (Read error: Connection reset by peer).
09:06:49 -!- pool has joined.
09:29:59 -!- ais523 has joined.
09:31:21 -!- esolangist has joined.
09:50:57 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167379&oldid=167361 * Esolangist * (+831) /* User:Esolangist's attempts */
09:53:15 <esolangist> ^help
09:53:15 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
09:53:56 <esolangist> ^ul (Hello, world!)S
09:53:56 <fungot> Hello, world!
09:57:03 <esolangist> ^ul (Hello, world!)a(S)*^
09:57:03 <fungot> Hello, world!
09:59:19 <esolangist> ^bf -[>+<-----]>+.
09:59:19 <fungot> 4
10:03:07 <esolangist> ^bf ++++++++[>+++++++++<-]>.+.>++++++++[>++++<-]>+.
10:03:07 <fungot> HI!
10:14:43 <FireFly> g'day
10:19:57 -!- esolangist has quit (Quit: Client closed).
10:20:24 <esolangs> [[Talk:Burn]] https://esolangs.org/w/index.php?diff=167380&oldid=167349 * Ais523 * (+166) /* Name */ because cell updates are irreversible
10:35:09 <sprout> ^egel 42
10:35:16 <sprout> boo
10:43:58 <ais523> fungot only knows two programming languages (technically 3 but only the owner gets to run raw Funge code because that could break the sandbox)
10:44:00 <fungot> ais523: madam president, president-in-office of the council on his first appearance. if i am not trying to play its part in this debate. there are still some disturbing grey areas. first, the congolese government continues to block the commission and, indeed, is another issue that the council is preparing to double the resources for this programme will mark a new page in the construction of the europe of networking which you de
10:49:09 <b_jonas> yeah. HackEso knows other languages, and at one point I considered setting up an egel interpreter but I didn't finish.
10:49:21 <b_jonas> but it's a sandbox so if you want you can set up an egel interpreter on it
11:10:10 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167381&oldid=167379 * Esolangist alt * (+697) /* User:Esolangist's attempts */
11:14:13 -!- amby has joined.
11:52:02 <esolangs> [[Rotato]] N https://esolangs.org/w/index.php?oldid=167382 * Esolangist alt * (+1427) Created page with "Rotato, or Rotato Potato is a [[turning tarpit]] by [[User:Esolangist]]. Note from creator: I'm not sure that this is Turing Complete, so would this just be a "turning esolang"? ==Commands (and the wheel)== ===Commands=== <pre> > rotates the wheel right (current
11:59:27 <esolangs> [[Special:Log/upload]] upload * Esolangist alt * uploaded "[[File:Brainturn wheel.png]]"
12:09:41 <esolangs> [[Brainturn]] N https://esolangs.org/w/index.php?oldid=167384 * Esolangist alt * (+562) Created page with "Brainturn is a [[turning tarpit]] by [[User:Esolangist]]. It is a [[BF]] derivative aswell. ==Commands== [[File:Brainturn wheel.png|thumb|The wheel. It starts at +]] <pre> + rotate the wheel left, moving the "wheel pointer" to the right - rotate the wheel righ
12:10:00 <esolangs> [[Brainturn]] https://esolangs.org/w/index.php?diff=167385&oldid=167384 * Esolangist alt * (+1) /* Hello world */
12:17:48 -!- esolangist has joined.
13:05:02 -!- pool has quit (Read error: Connection reset by peer).
13:06:59 -!- pool has joined.
13:12:16 <esolangist> why is nobody editing pages on the wiki
13:12:46 <ais523> there were edits earlier
13:12:57 <ais523> I guess it's just that most people are doing other things atm
13:13:24 <ais523> in fact you left this channel a minute before an edit and joined 7 minutes afterwards
13:15:34 <esolangs> [[RaiseAfloppaFan's Stupid Idea 0/Esolangist]] https://esolangs.org/w/index.php?diff=167386&oldid=167260 * Esolangist * (+71)
13:25:36 -!- esolangist has quit (Quit: Client closed).
14:51:24 <esolangs> [[Self++]] https://esolangs.org/w/index.php?diff=167387&oldid=166959 * H33T33 * (+118)
14:57:35 <esolangs> [[Self++]] https://esolangs.org/w/index.php?diff=167388&oldid=167387 * H33T33 * (+364)
14:59:37 <esolangs> [[Self++]] M https://esolangs.org/w/index.php?diff=167389&oldid=167388 * H33T33 * (-54)
15:04:51 -!- esolangist has joined.
15:07:57 <esolangs> [[Talk:Unicoding]] https://esolangs.org/w/index.php?diff=167390&oldid=158883 * Esolangist * (+252) /* idea */ new section
15:09:40 <esolangs> [[Talk:Unicoding]] https://esolangs.org/w/index.php?diff=167391&oldid=167390 * Esolangist * (+125) /* idea */
15:12:38 <korvo> esolangist: You keep leaving in-between your edits and not seeing the notifications from other users also editing.
15:12:49 -!- esolangist has quit (Quit: Client closed).
15:24:13 -!- esolangist has joined.
15:34:09 <esolangs> [[UnicodeLang]] N https://esolangs.org/w/index.php?oldid=167392 * Esolangist * (+633) Created page with "Welcome to UnicodeLang. You are free to add commands. ==Rules== # No joke commands like " solves the halting problem if the universe is in a black hole" # Go in order of Unicode # Make a new section every time you reach a new Unicode block. # Have fun! ==Commands=
15:36:08 <esolangs> [[User:CollaborativePL]] https://esolangs.org/w/index.php?diff=167393&oldid=164612 * Esolangist * (+148)
15:42:29 <esolangs> [[User:Flashgutten]] https://esolangs.org/w/index.php?diff=167394&oldid=163324 * Flashgutten * (+30) /* Code Code Code Code */
15:48:35 <korvo> [[User:CollaborativePL]] is a joke user created just to justify the user page. I'm going to move it to main.
15:49:19 <esolangs> [[Special:Log/move]] move * Corbin * moved [[User:CollaborativePL]] to [[CollaborativePL]]: Languages go in the main namespace.
15:50:00 <sprout> b_jonas: ah. nevermind. egel is too hard to compile anyway
15:50:20 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:53:32 -!- wob_jonas has joined.
15:55:14 <esolangs> [[User:PrySigneToFry/Discussion]] https://esolangs.org/w/index.php?diff=167397&oldid=150847 * Esolangist * (+246)
15:56:05 <wob_jonas> sprout: it's not that hard to compile, and HackEso has a working C++ compiler. IIRC I did manage to compile it, but then I didn't install because I found that I'd need to modify the interpreter or add a wrapper around it to make it more suitable for the bot, as in some combination of (1) not print prompts in non-interactive mode, (2) import
15:56:05 <wob_jonas> libraries automatically, (3) take egel commands from command-line or standard input, (4) automatically exit when the script completes, (5) maybe print result values automatically. I don't remember which ones of these the interpreter didn't know out of box, but it was more than one and eventually I was not interested enough.
15:56:49 <esolangist> ^ul (Hello, world!)S
15:56:49 <fungot> Hello, world!
15:56:51 <wob_jonas> especially since you were already running a dedicated IRC bot evaluating egel
15:58:19 <wob_jonas> there's probably something about this in the logs
15:59:17 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[User:CollaborativePL]]": not a user page, and not created by the relevant user
16:00:45 <wob_jonas> oh, the logs suggest that I also had to patch out references to libicu
16:00:57 <ais523> I am wondering whether we should ban "readers edit in the commands" language pages because a) the language doesn't actually exist at the time they're created, b) they never seem to lead to an interesting language, c) they're conceptually all duplicates of each other
16:01:28 <esolangist> ...
16:01:34 <sprout> I think I made it even harder to compile since that by adding a aot phase
16:01:35 <esolangs> [[User:PrySigneToFry/Discussion]] https://esolangs.org/w/index.php?diff=167398&oldid=167397 * Aadenboy * (+450) /* ULTRA IMPORTANT!!! */ context
16:01:43 <sprout> *since then
16:01:47 <wob_jonas> what does "aot" mean?
16:01:56 <sprout> ahead of time
16:02:24 <sprout> not a jit but an ahead of time phase
16:02:37 <wob_jonas> https://logs.esolangs.org/freenode-esoteric/2020-02.html#ltH shows where I used the standalone irc bot that you ran
16:02:57 <sprout> some binding to liblightning that may or may not ship with your os
16:04:36 <wob_jonas> for some libraries if they are helpful for some on topic experiments and are available from the distribution that HackEso's inside is using, you can just ask fizzie to install the library, because he has admin rights to the machine
16:04:53 <wob_jonas> I've done that with some library earlier, I'm not sure which one, probably libperl-date-manip
16:05:56 <sprout> meh. egel is a succesful experiment with regard to trying out a different operational semantics but a failure as a language
16:06:47 <sprout> the interpreter just kinda stuck after I showed the evaluation mechanism works
16:07:06 <ais523> `` rustc --version
16:07:08 <HackEso> ​/hackenv/bin/`: line 5: rustc: command not found
16:07:47 <ais523> `` gcc --version
16:07:49 <HackEso> gcc (Debian 8.3.0-6) 8.3.0 \ Copyright (C) 2018 Free Software Foundation, Inc. \ This is free software; see the source for copying conditions. There is NO \ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16:09:14 <esolangs> [[User:PrySigneToFry/Discussion]] M https://esolangs.org/w/index.php?diff=167399&oldid=167398 * Aadenboy * (+10) /* ULTRA IMPORTANT!!! */ clarification
16:10:09 <sprout> debian would make stuff hard. I got too used to fedora that just ships with all dependencies out of the box
16:10:18 <sprout> ah well
16:10:45 <korvo> ais523: Also (d) evidence suggests that they will end up like Quorum: basically like Java or PHP or some other boring average object model that supports bland paradigms at best. Ironically, I get to cite Quorum's own research on this; they were trying to blend all colors and came up with mud.
16:10:59 -!- esolangist has quit (Quit: Client closed).
16:11:13 <ais523> korvo: actually they more often end up like HQ9+
16:11:16 <korvo> esolangist: ^^^ If you haven't seen it, Lucky 10000 for the Quorum programming language. It's an excellent example of existing mostly as a warning to other language designers.
16:11:35 <ais523> if you are encouraging people to add commands to a language without defining a data model, a common outcome is that the language doesn't have one
16:11:51 <korvo> ais523: Oh, sure. But that's because none of the editing users actually want to *use* the language. If they have to use it and not merely write graffiti on a wall then they'll come up with something insipid instead.
16:15:44 <korvo> At any rate, I think that forbidding user-edited languages makes a lot of sense from the angle that the wiki isn't a chat service.
16:16:25 <wob_jonas> ais523: yeah, last I checked there was no rust installed, not even the runtime libraries, so I didn't manage to compile a rust program and upload a binary. what I can do is both compile a C++ program on HackEso and run it there, or compile a C++ program locally and upload the binary to HackEso and run it there.
16:17:50 <ais523> now I'm thinking about how often my languages aren't "about" their commands, and may not have distinct commands at all
16:18:27 <ais523> The Waterfall Model sort-of does when viewed as a language, but only for I/O and it isn't an essential (or even commonly implemented) part of the language and isn't part of the underlying compuational model
16:18:29 <wob_jonas> as for a language where any user can define commands, we have a few IRC bots that are like that (HackEso, perlbot, and to a minor extent lambdabot and jevalbot but all commands in those are temporary), as well as Wikiplia, but what's common in these is that there's an implementation and you define commands by implementing them rather than by just
16:18:29 <wob_jonas> editing documentation\
16:18:53 <ais523> meanwhile, things like Advance The Wheel! heavily care about their commands (and for ATW!, even which order they're in) but most of my languages aren't like that
16:19:09 <korvo> Cammy (and an undocumented relative, Culex, not really worth sharing) started out without any data-manipulation commands; they only acted as pipelines which shuffled around data within some data structure. Culex started as a better notation for permutations IIRC.
16:19:14 -!- tromp has joined.
16:19:27 <wob_jonas> and I think a few I've defined commands in esolangs by just suggesting a command to the original maintainer and they implemented it
16:20:48 <ais523> and now I'm thinking about things like the I/D machine and Brainpocalypse II which do clearly have commands, but what those commands are is a matter of opinion/viewpoint
16:21:56 <ais523> actually, the I/D machine gives a really good viewpoint of the issue: if a language has two commands and neither takes arguments, you can run-length-encode it to get a language with one command with an nonnegative-integer argument
16:24:39 <wob_jonas> I think I/D machine is minimal enough that it would turn to a very different language if you added more commands into it
16:26:01 <ais523> yes
16:26:16 <ais523> or, well, the lack of commands is the point, it wouldn't be interesting if it had more
16:27:33 <korvo> wob_jonas: Oh, interesting. Maybe it's related to the extensible-language movement?
16:28:08 <wob_jonas> yes. for some languages like Egel you can add a library with new functions, implemented in either egel or native code
16:28:24 <wob_jonas> korvo: what is related to the extensible-langauge movement? I don't understand your question
16:31:48 <esolangs> [[Viktor's amazing 4-bit processor]] https://esolangs.org/w/index.php?diff=167400&oldid=166111 * TheBigH * (+595) Did some fixing on the page
16:32:19 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167401&oldid=167381 * Esolangist * (+183) /* User:Esolangist's attempts */
16:32:40 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167402&oldid=167401 * Esolangist * (+2) /* Step 1: Randomization is key */
16:44:27 <ais523> korvo: I tried looking at Quorum but couldn't figure out how it works from the documentation
16:44:51 <wob_jonas> spruit: in the logs, https://logs.esolangs.org/freenode-esoteric/2020-02.html#lMhb is where I start to experiment with compiling egel for HackEso
16:44:52 <ais523> it looks somewhat like Java with differently spelled keywords, but the docs weren't nearly clear enough to let me figure out how the class system works
16:45:06 <ais523> e.g. it mentioned that classes can be instantiated but doesn't explain what that does
16:45:43 <ais523> and I can't figure out whether its class variables are the equivalent of a Java static field or a Java instance field or something else
16:47:24 <wob_jonas> what's this and why is it not on the wiki?
16:47:24 <korvo> wob_jonas: Oh, sorry, I didn't really have a complete thought there. The idea of a user editing the language only in a constrained manner, it reminds me of extensible languages or languages with compiler plugins.
16:48:15 <ais523> wob_jonas: if you're talking about Quorum I don't think it's an esolang, except possibly by accidenet
16:48:41 <korvo> wob_jonas: https://quorumlanguage.com/ Quorum is a language developed entirely from empirical evidence. Features and changes are done by preregistering psychology experiments, testing different versions of the language with students, and considering the measured effect.
16:49:13 <ais523> the docs seem to be (intentionally?) hiding a lot of details
16:49:24 <korvo> ais523: PHP's object model is the closest fit that I know of. Static fields are just instance fields that promise not to be modified, I think.
16:49:32 <ais523> I had to experiment with their interpreter just to determine that "number" was actually a double rather than an arbitrary-precision float
16:49:45 <wob_jonas> korvo: that's more or less how Wikiplia works: there's a core language that you cannot change, but there's a compiler that compiles from a slightly higher level language into the core language and users can edit that. whereas HackEso runs x86_6 linux userspace and you can upload compilers that compile into that; perlbot runs perl and buubot3 macros
16:49:46 <wob_jonas> and you can make definitions using buubot3 macros; lambdabot runs Haskell and you can upload definitions; jevalbot runs J the APL-like and you can upload definitions
16:49:46 <ais523> korvo: Java static fields can be modified, though
16:50:09 <korvo> ais523: Oh, I'm thinking of Java `final`, whoops. I think both PHP and Quorum use `final` too?
16:50:25 <wob_jonas> korvo: that sounds like a crazy premise
16:50:37 <ais523> I didn't find any final in the docs I read – but the Quorum docs are terrible so that doesn't mean it doesn't support it
16:51:10 <ais523> wob_jonas: I've looked at research into keyword names that are understandable for both programmers and non-programmers
16:51:24 <korvo> wob_jonas: For sure. I have a lot of contempt for their underlying metaphysics, but in terms of PLT it's just bland. No new ideas, no interesting approaches to computation, just a kind of tired Sisyphean retread of the worst parts of Pascal's design philosophy.
16:51:38 <ais523> I think they came up with "repeat" for loops as the only keyword that both groups were comfortable with (although I don't think this got as far as determining what sort of loop it was)
16:52:28 <korvo> (I don't really like projects that attempt to twist metaphysics to the point that physics breaks. Quorum ignores how computers work. Dynamicland's another good example; I should stub a page on it if I can keep my cool.)
16:55:04 -!- wob_jonas has quit (Quit: Client closed).
17:04:46 -!- Yayimhere has joined.
17:05:30 -!- pool has quit (Read error: Connection reset by peer).
17:07:01 <Yayimhere> hello peers(is that a valid term? oh well)
17:07:34 -!- pool has joined.
17:11:26 <ais523> Yayimhere: I think it's valid but people don't normally use it in that context
17:11:37 <Yayimhere> ais523: thanks!
17:19:30 <Yayimhere> could I perhaps ask for some help formalizing a command?
17:20:21 <ais523> you can say what you're stuck on and see if anyone responds
17:20:36 <ais523> although I'm not sure whether I'm personally up to it right now
17:21:03 <Yayimhere> i wanst asking anyone particular, I was just wondering if it was appropriate for this channel
17:22:31 <ais523> well, this channel's about esolangs and related discussion, so it would be on-topic at least (and it is hard to know whether or not anyone will be interested in responding on any given topic)
17:23:11 -!- pool has quit (Read error: Connection reset by peer).
17:24:29 <korvo> Yayimhere: Don't ask to ask; just ask.
17:25:26 -!- pool has joined.
17:36:45 -!- Yayimhere has quit (Ping timeout: 250 seconds).
17:40:58 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:50:28 <esolangs> [[Self++]] M https://esolangs.org/w/index.php?diff=167403&oldid=167389 * H33T33 * (+79)
17:53:25 <b_jonas> Yayimhere: fungot prefers to call them "hon. and learned friend the member for [district represented]" or "hon. and learned friend the minister for [department name]"
17:53:26 <fungot> b_jonas: mr president, mr commissioner, ladies and gentlemen, but sometimes things are very difficult to establish these preconditions together in order to achieve them money is needed; the aid conference was successful but more is needed alongside it. it is still deficient. however, the very small budget we are debating whether we can use the facility or not.
18:00:10 <b_jonas> ais523: In the textual descriptions for algorithms in TAOCP, Knuth mostly uses if-goto constructs with multiple different keywords for goto including "go to", "go back to", "return to", "repeat" (for going to the same step where you are), sometimes followed by " step". But there are also inline loops within one step.
18:02:17 <ais523> I have a suspicion that Knuth wrote the algorithms in a way that would map onto asm easily, due to caring about the efficiency of the resulting machine code
18:02:38 <b_jonas> oh, and there are FORTRAN-like counted loops which involve a come-from after a step, as in "C3. Perform step C4, for j = i - 1, i - 2, ..., 1."
18:03:01 <ais523> don't Shakespeare's gotos change form depending on whether they jump forwards or backwards?
18:03:13 <ais523> b_jonas: does C4 run on its own after that? or not?
18:03:14 <b_jonas> I don't know, I was thinking of Chef's loops
18:03:34 <ais523> I remember this being a big problem for Funge-98's y instruction
18:03:42 <b_jonas> ais523: no, but that's because the previous line says "C2. Perform step C3, for i = N, N-1, ..., 2; then terminate the algorithm."
18:03:56 <b_jonas> this is algorithm 5.2.C
18:04:09 <ais523> which is a loop, and you write the loop body after the instruction, but after y runs normally the loop body is the next thing in the path of execution so it gets run to
18:04:23 <ais523> (except if the argument to y is 0, when it gets skipped for some reason – y is weird)
18:04:30 <ais523> err. is this k rather than y?
18:04:34 <ais523> my befunge is rusty
18:05:57 <b_jonas> the next algorithm has a step saying "D2. Perform step D3 for 1 ≤ j ≤ N; then go to step D4." so it looks like it just avoids fallthroughs after multi-line loops
18:09:50 <b_jonas> there's also "S1. Perform steps S2 through S5 for j = 2, 3, ..., N; then terminate the algorithm." so this definitely looks like FORTRAN loops that come from after the last step of the loop body
18:10:47 <ais523> I wonder how prevalent comefrom-style loops are nowadays
18:11:01 <ais523> even in non-programming contexts
18:11:53 <b_jonas> I think the non-programming contexts mostly don't use line labels
18:13:00 <ais523> well, they use <ol>-style lists fairly often, which come with built in list item labels to refer to
18:18:38 <b_jonas> what was the Smalltalk-like esolang on the esowiki where when you create an object you give the name but not value of its instance variables and it copies the value from somewhere... maybe from the lexical environment or from self in the creating context
18:19:01 <b_jonas> I think it uses identifiers that are one-character long only
18:20:38 <b_jonas> also many but not all keywords and identifiers are non-ascii
18:21:42 -!- tromp has joined.
18:22:13 <b_jonas> I think I found it, it's https://esolangs.org/wiki/SCOOP
18:26:13 <esolangs> [[User:B jonas/List]] https://esolangs.org/w/index.php?diff=167404&oldid=159727 * B jonas * (+160) [[SCOOP]]
18:28:16 <APic> cu
18:44:58 <esolangs> [[BF instruction minimalization]] https://esolangs.org/w/index.php?diff=167405&oldid=167402 * Esolangist alt * (+3) Esolangist alt
18:49:16 <esolangs> [[User:Esolangist/personal talk page]] https://esolangs.org/w/index.php?diff=167406&oldid=167122 * Esolangist alt * (+202) Esolangist alt
18:51:52 <esolangs> [[Rotato]] https://esolangs.org/w/index.php?diff=167407&oldid=167382 * Esolangist alt * (+159) Esolangist alt
19:15:16 -!- ais523 has quit (Quit: quit).
20:24:15 <esolangs> [[User:Esolangist/Template:EsolangistsSignature]] N https://esolangs.org/w/index.php?oldid=167408 * Esolangist alt * (+174) Created page with "<span style="background-color:default;color:blue;">[[User:Esolangist|esolangist]]</span> | [[User talk:Esolangist|do you want to talk to me?]] | it's {{{Time}}} on {{{Date}}}"
20:44:11 <esolangs> [[What are the commands]] N https://esolangs.org/w/index.php?oldid=167409 * Esolangist alt * (+652) Esolangist alt
20:58:21 <esolangs> [[Self-reproducing object]] N https://esolangs.org/w/index.php?oldid=167410 * Corbin * (+2130) Stub a GEB concept.
21:09:09 <esolangs> [[InterpretIt]] N https://esolangs.org/w/index.php?oldid=167411 * Esolangist alt * (+1156) Esolangist alt
21:12:45 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167412&oldid=167326 * RaiseAfloppaFan3925 * (-1199)
21:15:06 <esolangs> [[Self-reproducing object]] https://esolangs.org/w/index.php?diff=167413&oldid=167410 * Corbin * (+570) Redlink for ganguines.
21:21:54 <esolangs> [[Error quine]] https://esolangs.org/w/index.php?diff=167414&oldid=160700 * Aadenboy * (+3) /* How to write an error quine */ better first and last step
21:23:28 <korvo> Okay, that's good enough for now. I also have a paper by Byrd et al. that shows how to use relational languages like miniKanren to generate quines, twines, thrines, etc. Not sure how to integrate that yet. Also have to write the ganguine article.
21:27:20 <zzo38> Which esolangs use character sets which are not compatible with Unicode, ASCII, EBCDIC, Morse code, Baudot code, and punch cards?
21:39:12 <b_jonas> zzo38: that mostly sounds like esolangs whose input isn't characters, like Piet or efghij
21:41:02 <zzo38> Yes, although I did not mean that, since pictures and that other stuff are not character sets.
21:41:37 <b_jonas> zzo38: unless you're unsatisfied with the mapping of the VIC-20 or PET's character sets to Unicode, which wouldn't be too unreasonable, in which case VIC-20 BASIC or PET BASIC, except those don't count as esoteric
21:43:58 <b_jonas> oh right, my SHARP EL-5120 calculator's BASIC-like language. it doesn't have a tape or magnetic card reader accessory, so there's no mapping of its character set to anything tangible, the characters only exist as bytes in its RAM and many of them encode a whole keyword like cos⁻¹ or GOSUB, so they aren't technically compatible with anything else
21:44:54 <b_jonas> this probably applies to some microcomputer BASICs too, the ones that don't parse keywords from letter sequences but only have keywords as a single character and only show them as multiple letters when displayed
21:45:05 <b_jonas> you have to enter them as one character, usually with a modifier key
21:45:58 <b_jonas> and there are two different keyboard layouts and possibly two different character sets, one for BASIC statements (at the start of a line or after a colon) and one everywhere else, the characteristic example being on the ZX Spectrum
21:46:17 <b_jonas> do you count these?
21:46:47 <zzo38> Yes, those would count.
21:47:39 <zzo38> (Although not quite in the way I meant, they still count in a somewhat different way.)
21:48:16 <b_jonas> they have a custom internal characters set (or possibly more than one) that encodes those characters as one byte (or possibly a few bytes)
21:50:24 <b_jonas> and of course there are all sorts of CPU-ran machine code where the program is encoded as bytes (or words of some size) and aren't identified with any character set
22:07:53 <zzo38> I am unsatisfied with the mapping of any character set to Unicode (including Unicode itself, due to various things it does), but some are perhaps less objectionable to others (e.g. possibly the mappings from ISO 8859).
22:08:58 <zzo38> At best, it might be used for approximation of character conversion when you want to display text that you do not have the appropriate fonts for that character set or if you need to convert between character sets but cannot do so directly for whatever reason; even then, it is not really best way to do it but can often provide an approximation which might or might not be suitable depending on your intention.
22:09:42 <esolangs> [[Talk:Burn]] https://esolangs.org/w/index.php?diff=167415&oldid=167380 * Tommyaweosme * (+532) /* Thoughts on burn */
22:11:41 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=167416&oldid=167265 * Tommyaweosme * (+565)
22:18:03 <esolangs> [[HolyFuck]] https://esolangs.org/w/index.php?diff=167417&oldid=165804 * WebNiko * (+1057)
23:19:36 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:25:41 -!- Sgeo has joined.
2025-11-04
00:47:49 -!- 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).
00:50:07 -!- pool has quit (Read error: Connection reset by peer).
00:52:01 -!- pool has joined.
02:38:09 -!- moony4 has quit (Read error: Connection reset by peer).
02:38:27 -!- moony4 has joined.
03:02:53 -!- slavfox_ has joined.
03:05:40 -!- pool has quit (Read error: Connection reset by peer).
03:07:34 -!- slavfox has quit (*.net *.split).
03:07:35 -!- slavfox_ has changed nick to slavfox.
03:07:52 -!- pool has joined.
04:05:53 -!- pool has quit (Read error: Connection reset by peer).
04:06:25 -!- pool has joined.
04:20:25 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
04:33:09 -!- pool has quit (Read error: Connection reset by peer).
04:35:16 -!- pool has joined.
04:38:30 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=167418&oldid=167152 * I am islptng * (-46)
04:40:14 -!- Lord_of_Life has joined.
05:57:33 <esolangs> [[Uiua]] N https://esolangs.org/w/index.php?oldid=167419 * ColorfulGalaxy's CA discoveries * (+152) ----) (Create in response to creation on Shidinn Wiki
05:58:06 <esolangs> [[Uiua]] M https://esolangs.org/w/index.php?diff=167420&oldid=167419 * ColorfulGalaxy's CA discoveries * (+57)
05:58:21 <esolangs> [[Uiua]] https://esolangs.org/w/index.php?diff=167421&oldid=167420 * ColorfulGalaxy's CA discoveries * (+0) ----
05:59:21 <esolangs> [[Uiua]] https://esolangs.org/w/index.php?diff=167422&oldid=167421 * ColorfulGalaxy's CA discoveries * (+24) ----
06:01:33 <esolangs> [[List of quines]] https://esolangs.org/w/index.php?diff=167423&oldid=159570 * ColorfulGalaxy's CA discoveries * (+4) ----
06:35:41 <esolangs> [[Talk:Burn]] https://esolangs.org/w/index.php?diff=167424&oldid=167415 * Yayimhere2(school) * (+311) /* Thoughts on burn */
06:37:44 <esolangs> [[FuckTheBit]] N https://esolangs.org/w/index.php?oldid=167425 * FluixMakesEsolangs * (+1305) Initial Commit
06:39:09 <esolangs> [[User:FluixMakesEsolangs]] https://esolangs.org/w/index.php?diff=167426&oldid=150275 * FluixMakesEsolangs * (+27)
07:34:54 -!- Sgeo has quit (Read error: Connection reset by peer).
07:36:45 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
08:07:01 -!- pool has quit (Read error: Connection reset by peer).
08:09:03 -!- pool has joined.
08:25:08 -!- ais523 has joined.
08:25:53 -!- Lord_of_Life has joined.
08:33:21 -!- tromp has joined.
09:05:40 -!- Lord_of_Life has quit (Remote host closed the connection).
09:22:17 <APic> Hi
09:23:56 -!- Lord_of_Life has joined.
11:07:46 <esolangs> [[Chicken chicken chicken: chicken chicken]] M https://esolangs.org/w/index.php?diff=167427&oldid=167120 * None1 * (+11) Fix mistakes
11:27:21 <esolangs> [[User:Elphan]] M https://esolangs.org/w/index.php?diff=167428&oldid=158382 * Elphan * (+70)
12:34:29 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:37:53 <esolangs> [[User:As]] https://esolangs.org/w/index.php?diff=167429&oldid=166914 * As * (+92)
12:59:07 -!- amby has joined.
13:32:53 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
13:33:31 <esolangs> [[CounterScrbrd]] N https://esolangs.org/w/index.php?oldid=167430 * As * (+873) Created page with "{{wrongtitle|title=<#CounterScrbrd#>}} '''<#CounterScrbrd#>''' is a language inspired by Minecraft commands related to the Scoreboard and counters. The language does not have many commands, and it can be partially implemented in Minecraft. <#CounterScrbrd#> language
13:33:54 <esolangs> [[CounterScrbrd]] https://esolangs.org/w/index.php?diff=167431&oldid=167430 * As * (+8)
14:02:25 <esolangs> [[Hostile snakes]] https://esolangs.org/w/index.php?diff=167432&oldid=144125 * Yayimhere2(school) * (-40) /* how it works */
14:07:01 -!- tromp has joined.
14:07:27 -!- pool has quit (Read error: Connection reset by peer).
14:09:35 -!- pool has joined.
14:46:49 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=167433&oldid=167043 * Yayimhere2(school) * (-175)
15:08:50 -!- Everything has joined.
16:07:51 <esolangs> [[What the Branflakes]] N https://esolangs.org/w/index.php?oldid=167434 * Esolangist alt * (+1347) Esolangist alt
16:10:00 <esolangs> [[Befreege]] https://esolangs.org/w/index.php?diff=167435&oldid=133270 * Esolangist alt * (+25) Esolangist alt
16:10:09 <esolangs> [[Befreege]] https://esolangs.org/w/index.php?diff=167436&oldid=167435 * Esolangist alt * (+0) Esolangist alt
16:29:46 -!- Lord_of_Life has joined.
16:38:56 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:45:54 <esolangs> [[User:Esolangist/Chess]] N https://esolangs.org/w/index.php?oldid=167437 * Esolangist alt * (+1130) Esolangist alt
16:50:35 <esolangs> [[User:Esolangist/Template:Chess]] N https://esolangs.org/w/index.php?oldid=167438 * Esolangist alt * (+83) Created page with "[[User:{{{1}}}]] challenges {{{2}}} to a game of chess! [[{{{3}}}]] {{{signature}}}"
16:51:11 <esolangs> [[User:Esolangist/Chess]] https://esolangs.org/w/index.php?diff=167439&oldid=167437 * Esolangist alt * (-15) Esolangist alt
16:51:17 -!- tromp has joined.
16:52:03 <esolangs> [[User:Esolangist/Template:Chess]] https://esolangs.org/w/index.php?diff=167440&oldid=167438 * Esolangist alt * (+22) Esolangist alt
16:55:55 -!- Yayimhere has joined.
16:57:41 <esolangs> [[User:PrySigneToFry/Discussion]] https://esolangs.org/w/index.php?diff=167441&oldid=167399 * Esolangist alt * (+192) Esolangist alt
16:57:51 <Yayimhere> 'ello people, I have this command {xyz}. basically what It does is, does not exist, however whenever any symbol within it changes in some way(like for example moves across the program in some way), all of the symbols inside of the {} move with it
16:57:59 <Yayimhere> and I need help formalizing it
17:01:13 <esolangs> [[CollaborativePL]] https://esolangs.org/w/index.php?diff=167442&oldid=167395 * Esolangist alt * (+142) Updated info
17:04:47 <ais523> hmm, I suspect you might have to put limits on the "in some way" to make that make sense
17:05:09 <ais523> but normally the way you formalise this sort of thing is to define {} as not being a command, but rather a way to group commands
17:05:33 <ais523> and then, say, a command that moved all 'y's would be defined instead as "move every group of commands that contains a 'y'"
17:06:02 <ais523> that way you can check that your definition make sense with all the command-changing commands
17:07:33 <Yayimhere> ok
17:07:46 <Yayimhere> thanks ais523!
17:10:57 <esolangs> [[FuckTheBit]] M https://esolangs.org/w/index.php?diff=167443&oldid=167425 * FluixMakesEsolangs * (+28) Added other Self-modifying tag
17:21:36 -!- joast has quit (Quit: Leaving.).
17:25:10 <avih> korvo: by the way, you said earlier that your interpreter is second to Laurent's right? is it typically the same factor? e.g. typically 2x slower or some such? if yes, what's this factor?
17:25:49 <avih> (i would try it, but i don't currently have the setup for it)
17:28:19 <avih> i think mine's typically x2-x3 slower than Laurant's. but with bffsree_gcc it's weird, both compared to Laurant's and mine. in some cases it just blitz everything (like hanoi), and in some others is average-ish at best (good, but nothing to write home about).
17:29:38 <avih> it's a shame its source is not available. i think i know what it does, which mine doesn't do (i think it flattens some nested loops).
17:30:22 <avih> (probably only one level above the "standard" balanced loops, and likely not always)
17:31:48 <esolangs> [[Wikitext]] N https://esolangs.org/w/index.php?oldid=167444 * Esolangist alt * (+1581) Esolangist alt
17:32:46 <esolangs> [[Wikitext]] https://esolangs.org/w/index.php?diff=167445&oldid=167444 * Esolangist alt * (+1) Esolangist alt
17:33:19 <esolangs> [[Wikitext]] https://esolangs.org/w/index.php?diff=167446&oldid=167445 * Esolangist alt * (+56) Esolangist alt
17:33:36 <esolangs> [[Wikitext]] https://esolangs.org/w/index.php?diff=167447&oldid=167446 * Esolangist alt * (+1) Esolangist alt
17:43:30 -!- Everything has quit (Read error: Connection reset by peer).
18:01:10 <esolangs> [[Craftunge]] N https://esolangs.org/w/index.php?oldid=167448 * Esolangist alt * (+1547) Esolangist alt
18:03:24 -!- Yayimhere has quit (Quit: Client closed).
18:07:50 -!- pool has quit (Read error: Connection reset by peer).
18:12:00 -!- pool has joined.
18:21:06 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:30:39 -!- joast has joined.
18:38:50 -!- tromp has joined.
18:42:37 -!- zzo38 has quit (Ping timeout: 264 seconds).
18:46:14 <korvo> avih: Oh, I don't remember the exact factor. Probably somewhere between 1-2x. I only remember what I learned: I should take GNU Lightning seriously, on par with RPython or Truffle. (Friends don't let friends use Truffle because Oracle owns it.)
18:50:18 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:08:03 <esolangs> [[User:Hakerh400/Proof aux001]] N https://esolangs.org/w/index.php?oldid=167449 * Hakerh400 * (+5284) Created page with "We are given a sequence <math>a : \mathbb{N} \to \mathbb{N}</math> of positive integers (i.e., <math>a(n) \geq 1</math> for all <math>n</math>) such that: # <math>a(n) \leq r</math> for all <math>n</math>, where <math>r</math> is a fixed positive
19:09:32 <esolangs> [[User:Hakerh400/Proof aux001]] https://esolangs.org/w/index.php?diff=167450&oldid=167449 * Hakerh400 * (+9555)
19:11:52 <esolangs> [[User:Hakerh400/Proof aux001]] https://esolangs.org/w/index.php?diff=167451&oldid=167450 * Hakerh400 * (+4)
19:16:59 <avih> korvo: x1-2 is very nice. i'm not there yet :)
19:18:39 <avih> to be optimize further i need to expand my opcodes vocabulary, so that they can represent higher level of abstraction.
19:22:47 <avih> though again, at least with the precompiled binaries on windows, this is ~ 1.5x faster than Laurent's for me https://github.com/rdebath/Brainfuck and it supports Lightning but this one is compiled only with LuaJIT's Dynasm.
19:23:44 <avih> but at least for now, i prefer to stay with minimal plain c and no jit
19:26:00 -!- zzo38 has joined.
19:30:27 -!- zzo38 has quit (Ping timeout: 244 seconds).
19:33:03 -!- tromp has joined.
20:10:04 -!- pool has quit (Read error: Connection reset by peer).
20:11:17 -!- zzo38 has joined.
20:12:11 -!- pool has joined.
20:24:37 <esolangs> [[SharkScript]] N https://esolangs.org/w/index.php?oldid=167452 * Esolangist * (+1080) Created page with "SharkScript is an esolang by [[User:Esolangist]]. ==Memory== The memory is a 2D "sea" (many tapes, x square) with a "shark" (memory pointer) and "fishes" (values) ===Fishes=== Trout - 0 Cod - 1 Salmon - 2 Tuna - 3 Halibut - 4 Seahorse - 5 Carp - 6 Parrotfi
20:33:33 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=167453&oldid=167353 * Esolangist * (+254) /* My Esolangs */
20:50:01 -!- zzo38 has quit (Ping timeout: 244 seconds).
20:50:02 -!- zzo38_ has joined.
20:50:16 -!- zzo38_ has changed nick to zzo38.
20:54:04 <APic> cu
20:54:58 -!- zzo38 has quit (Ping timeout: 255 seconds).
20:55:25 -!- zzo38 has joined.
21:10:06 -!- pool has quit (Read error: Connection reset by peer).
21:12:14 -!- pool has joined.
21:40:17 -!- ski has quit (*.net *.split).
21:40:17 -!- ^[ has quit (*.net *.split).
21:40:17 -!- nitrix has quit (*.net *.split).
21:41:42 -!- ski has joined.
21:41:42 -!- ^[ has joined.
21:41:42 -!- nitrix has joined.
22:02:55 -!- ais523 has quit (Quit: quit).
23:04:38 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:34:30 -!- DOS_User has joined.
23:34:38 -!- DOS_User has changed hostmask to ~DOS_User@user/DOS-User:11249.
23:57:11 -!- DOS_User has quit (Remote host closed the connection).
23:58:23 -!- Sgeo has joined.
23:59:33 <esolangs> [[User:Waffelz]] M https://esolangs.org/w/index.php?diff=167454&oldid=166196 * Waffelz * (+6117)
2025-11-05
00:01:00 <esolangs> [[User:Waffelz]] M https://esolangs.org/w/index.php?diff=167455&oldid=167454 * Waffelz * (-3039)
00:08:05 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
00:09:01 -!- Lord_of_Life has joined.
00:10:22 -!- pool has quit (Read error: Connection reset by peer).
00:10:49 -!- pool has joined.
01:10:35 -!- pool has quit (Read error: Connection reset by peer).
01:12:40 -!- pool has joined.
01:39: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).
03:32:59 <esolangs> [[]] https://esolangs.org/w/index.php?diff=167456&oldid=124342 * I am islptng * (+36)
03:52:08 -!- zzo38 has quit (Ping timeout: 260 seconds).
03:56:16 -!- zzo38 has joined.
05:28:12 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
05:46:57 -!- Lord_of_Life has joined.
05:53:42 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
06:14:52 -!- Lord_of_Life has joined.
06:59:46 <esolangs> [[Combined() Task() Force()]] https://esolangs.org/w/index.php?diff=167457&oldid=137078 * Yayimhere2(school) * (+11) /* commands */
07:00:34 <esolangs> [[):]] https://esolangs.org/w/index.php?diff=167458&oldid=146171 * Yayimhere2(school) * (+15) /* computational class */
07:03:05 <esolangs> [[Unlambda to Underflow]] https://esolangs.org/w/index.php?diff=167459&oldid=167121 * Yayimhere2(school) * (+1)
07:04:22 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167460&oldid=167078 * Yayimhere2(school) * (-58) /* Memory */
07:07:40 -!- ais523 has joined.
07:37:02 -!- tromp has joined.
07:53:00 -!- Sgeo has quit (Read error: Connection reset by peer).
08:13:44 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
08:24:25 -!- tromp has joined.
09:04:28 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167461&oldid=167460 * Yayimhere2(school) * (+36) /* Underload to Underflow */
09:05:28 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167462&oldid=167461 * Yayimhere2(school) * (+2)
09:06:08 <esolangs> [[Underflow]] https://esolangs.org/w/index.php?diff=167463&oldid=167462 * Yayimhere2(school) * (+2) /* Underload to Underflow */
09:48:01 <esolangs> [[User:Tpaefawzen]] https://esolangs.org/w/index.php?diff=167464&oldid=157051 * Tpaefawzen * (+641)
09:56:35 <esolangs> [[User:Gilbert189/Babalang+]] https://esolangs.org/w/index.php?diff=167465&oldid=156615 * Gilbert189 * (+2282)
09:57:09 <esolangs> [[User:Gilbert189/Babalang+]] M https://esolangs.org/w/index.php?diff=167466&oldid=167465 * Gilbert189 * (+1) oops forgot a space
10:15:30 <APic> Hi
11:04:36 <esolangs> [[Turing Machine But Way Worse]] https://esolangs.org/w/index.php?diff=167467&oldid=161791 * Tpaefawzen * (+386) /* Tutorial */ +machine model
11:05:09 <esolangs> [[Turing Machine But Way Worse]] https://esolangs.org/w/index.php?diff=167468&oldid=167467 * Tpaefawzen * (+5) /* Printing */ syntax
11:21:15 <esolangs> [[Iwashi]] N https://esolangs.org/w/index.php?oldid=167469 * Tpaefawzen * (+174) +1
11:22:24 <esolangs> [[Iwashi]] https://esolangs.org/w/index.php?diff=167470&oldid=167469 * Tpaefawzen * (+149) Links
11:45:39 <esolangs> [[User:Gilbert189/Babalang+]] https://esolangs.org/w/index.php?diff=167471&oldid=167466 * Gilbert189 * (+74) I forgot TEXT_ exists
11:53:51 <esolangs> [[Uiua]] https://esolangs.org/w/index.php?diff=167472&oldid=167422 * Tpaefawzen * (+74)
11:55:10 <esolangs> [[Uiua]] https://esolangs.org/w/index.php?diff=167473&oldid=167472 * Tpaefawzen * (+88)
12:15:10 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:33:36 -!- lisbeths has joined.
12:48:25 -!- amby has joined.
13:00:49 <esolangs> [[Place]] M https://esolangs.org/w/index.php?diff=167474&oldid=167123 * JIT * (+3) /* Exmp */
13:05:11 <esolangs> [[User:Gilbert189/Babalang+]] https://esolangs.org/w/index.php?diff=167475&oldid=167471 * Gilbert189 * (+54) clarified some things
13:11:16 -!- pool has quit (Read error: Connection reset by peer).
13:13:24 -!- pool has joined.
13:34:21 <esolangs> [[Chicken chicken chicken: chicken chicken]] M https://esolangs.org/w/index.php?diff=167476&oldid=167427 * None1 * (-72) /* Example programs */ Fix
15:09:13 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
15:15:22 -!- tromp has joined.
15:28:50 -!- Lord_of_Life has joined.
16:26:51 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
16:27:20 -!- Lord_of_Life has joined.
16:46:00 -!- lisbeths has quit.
16:47:27 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:22:35 -!- tromp has joined.
17:43:34 <esolangs> [[Wikitext]] https://esolangs.org/w/index.php?diff=167477&oldid=167447 * Esolangist alt * (+72) Esolangist alt
17:48:18 <esolangs> [[Talk:Along and Across]] https://esolangs.org/w/index.php?diff=167478&oldid=62748 * Yayimhere2(school) * (+347)
17:52:29 <esolangs> [[Talk:Along and Across]] https://esolangs.org/w/index.php?diff=167479&oldid=167478 * Yayimhere2(school) * (+104)
18:03:22 <APic> cu
18:18:19 <esolangs> [[Whimsyx]] N https://esolangs.org/w/index.php?oldid=167480 * Esolangist alt * (+1996) Esolangist alt
18:18:31 <esolangs> [[Whimsyx]] https://esolangs.org/w/index.php?diff=167481&oldid=167480 * Esolangist alt * (+1) Esolangist alt
18:18:51 <esolangs> [[Whimsyx]] https://esolangs.org/w/index.php?diff=167482&oldid=167481 * Esolangist alt * (+29) Esolangist alt
18:19:28 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=167483&oldid=167453 * Esolangist alt * (+47) Esolangist alt
18:25:42 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=167484&oldid=167433 * Yayimhere2(school) * (-40) /* (Surprisingly enough) a short list of examples */
18:50:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:03:52 <esolangs> [[Myoozik]] N https://esolangs.org/w/index.php?oldid=167485 * Esolangist alt * (+909) Esolangist alt
19:06:35 <esolangs> [[List of ideas]] https://esolangs.org/w/index.php?diff=167486&oldid=166999 * Esolangist alt * (+203) Esolangist alt
19:08:14 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=167487&oldid=167483 * Esolangist alt * (+20) Esolangist alt
19:15:54 -!- tromp has joined.
19:25:23 <esolangs> [[0134]] https://esolangs.org/w/index.php?diff=167488&oldid=167339 * Yayimhere2(school) * (+20) /* computational class */
19:27:17 <esolangs> [[0134]] https://esolangs.org/w/index.php?diff=167489&oldid=167488 * Yayimhere2(school) * (+11) /* syntax */
19:28:44 <esolangs> [[0134]] https://esolangs.org/w/index.php?diff=167490&oldid=167489 * Yayimhere2(school) * (+6) /* syntax */
19:43:58 <esolangs> [[Parabox]] N https://esolangs.org/w/index.php?oldid=167491 * Esolangist alt * (+770) Esolangist alt
19:55:59 <esolangs> [[Brainhash]] N https://esolangs.org/w/index.php?oldid=167492 * Esolangist alt * (+553) Esolangist alt
19:56:54 <esolangs> [[Talk:Parabox]] N https://esolangs.org/w/index.php?oldid=167493 * Aadenboy * (+347) Created page with "[[wikipedia:Patrick's Parabox|patrick's parabox]] reference? ~~~~"
19:57:18 <esolangs> [[List of ideas]] https://esolangs.org/w/index.php?diff=167494&oldid=167486 * Esolangist alt * (+70) Esolangist alt
20:09:26 <esolangs> [[Marbl]] N https://esolangs.org/w/index.php?oldid=167495 * Esolangist alt * (+333) Esolangist alt
20:16:10 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:19:39 <esolangs> [[User:As]] https://esolangs.org/w/index.php?diff=167496&oldid=167429 * As * (+119)
20:24:23 -!- tromp has joined.
20:40:46 -!- nitrix has quit (Ping timeout: 244 seconds).
20:41:37 -!- nitrix has joined.
21:11:41 -!- pool has quit (Read error: Connection reset by peer).
21:13:47 -!- pool has joined.
21:15:23 -!- ais523 has quit (Quit: quit).
21:56:40 <esolangs> [[Esofish]] https://esolangs.org/w/index.php?diff=167497&oldid=142065 * Kaveh Yousefi * (+226) Added a hyperlink to my implementation of the Esofish programming language on GitHub, altered the Unimplemented tag to Implemented, amended a few orthographic mistakes, and improved the formatting.
22:06:22 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:09:51 -!- tromp has joined.
23:31:37 -!- Sgeo has joined.
23:34:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
2025-11-06
00:37:32 <esolangs> [[Special:Log/newusers]] create * PhiPhiPHipHi2.0 * New user account
00:38:11 -!- 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).
00:39:45 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167498&oldid=167325 * PhiPhiPHipHi2.0 * (+110)
00:44:55 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=167499&oldid=143750 * PhiPhiPHipHi2.0 * (-765)
00:56:26 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=167500&oldid=167499 * PhiPhiPHipHi2.0 * (-2072)
00:56:59 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=167501&oldid=167500 * PhiPhiPHipHi2.0 * (-15)
00:57:36 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=167502&oldid=167501 * PhiPhiPHipHi2.0 * (-15)
00:58:36 <esolangs> [[Talk:Graphical Brainfuck]] N https://esolangs.org/w/index.php?oldid=167503 * PhiPhiPHipHi2.0 * (+51) Created page with "This is pretty cool, I wonder if it could run doom."
01:03:32 -!- Toki has joined.
01:10:47 <esolangs> [[Talk:Function-level programming]] M https://esolangs.org/w/index.php?diff=167504&oldid=167362 * Fpstefan * (+1)
01:11:56 -!- pool has quit (Read error: Connection reset by peer).
01:14:03 -!- pool has joined.
01:14:39 -!- Toki has left.
01:31:29 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
02:12:06 -!- pool has quit (Read error: Connection reset by peer).
02:14:09 -!- pool has joined.
03:00:45 -!- Lord_of_Life has joined.
03:12:13 -!- pool has quit (Read error: Connection reset by peer).
03:14:13 -!- pool has joined.
04:10:53 <esolangs> [[3ISC]] N https://esolangs.org/w/index.php?oldid=167505 * PhiPhiPHipHi2.0 * (+1006) Created page with "3ISC is a theoretical programming language created by user PhiPhiPHipHi2.0 (Phoenix Irwin). You may be able to tell by the name, it is a computer that uses 3 instructions (or 5 if you use IO) it is similar to brainfuck in that it uses a long tape with a pointer po
04:16:10 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=167506&oldid=167502 * PhiPhiPHipHi2.0 * (+97)
05:28:36 <esolangs> [[User:I am islptng]] https://esolangs.org/w/index.php?diff=167507&oldid=164743 * I am islptng * (+8)
05:31:47 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=167508&oldid=167418 * I am islptng * (+63)
05:57:39 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=167509&oldid=167508 * I am islptng * (+393)
06:12:26 -!- pool has quit (Read error: Connection reset by peer).
06:14:20 -!- pool has joined.
07:10:42 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
07:29:51 -!- Lord_of_Life has joined.
07:58:02 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
07:58:31 -!- Lord_of_Life has joined.
08:03:33 -!- tromp has joined.
08:11:15 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
08:11:30 -!- Sgeo has quit (Read error: Connection reset by peer).
08:17:41 -!- ais523 has joined.
08:24:06 <esolangs> [[Special:Log/newusers]] create * CaSilicate * New user account
08:31:16 -!- Lord_of_Life has joined.
08:58:00 <esolangs> [[B9]] M https://esolangs.org/w/index.php?diff=167510&oldid=166611 * JIT * (+10)
09:20:40 <APic> Hi
09:33:31 <esolangs> [[Not hundred]] N https://esolangs.org/w/index.php?oldid=167511 * Yayimhere2(school) * (+1153) Created page with "'''Not hundred''' is an esolang created by [[User:Yayimhere]], based off of the two command concatenative language defined on the [[Underload]] page. it was created to be the "across" language in a specific combo of [[Along and Across]]. In Not hundred, a
09:40:01 <esolangs> [[Not hundred]] https://esolangs.org/w/index.php?diff=167512&oldid=167511 * Yayimhere2(school) * (-314)
09:43:13 <esolangs> [[Not hundred]] https://esolangs.org/w/index.php?diff=167513&oldid=167512 * Yayimhere2(school) * (+0) /* Command specification */
10:13:36 <esolangs> [[User:Ukeharu]] M https://esolangs.org/w/index.php?diff=167514&oldid=108352 * Ukeharu * (-306) Update to introduction
10:14:20 <esolangs> [[User:Ukeharu]] M https://esolangs.org/w/index.php?diff=167515&oldid=167514 * Ukeharu * (-155) /* Contact */
10:20:59 <esolangs> [[User:Ukeharu]] M https://esolangs.org/w/index.php?diff=167516&oldid=167515 * Ukeharu * (+407) /* Contact */
10:52:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:00:12 -!- tromp has joined.
12:17:51 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:21:11 -!- chiselfuse has quit (Remote host closed the connection).
12:21:26 -!- chiselfu1e has joined.
12:25:38 -!- amby has joined.
12:41:37 <esolangs> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=167517&oldid=166014 * C0ffee * (+98) added scratch interpreter
12:43:10 <esolangs> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=167518&oldid=167517 * C0ffee * (+12)
13:29:58 <esolangs> [[User:Ukeharu]] M https://esolangs.org/w/index.php?diff=167519&oldid=167516 * Ukeharu * (+157) Add esolangs list
13:30:36 <esolangs> [[User:Ukeharu]] M https://esolangs.org/w/index.php?diff=167520&oldid=167519 * Ukeharu * (+16) /* My Esolangs */
13:40:53 <esolangs> [[Works in progress]] M https://esolangs.org/w/index.php?diff=167521&oldid=165738 * Ukeharu * (+36)
13:46:39 -!- tromp has joined.
14:03:38 <esolangs> [[Splaytime]] M https://esolangs.org/w/index.php?diff=167522&oldid=99746 * Ukeharu * (+25)
14:07:01 <esolangs> [[Splaytime]] M https://esolangs.org/w/index.php?diff=167523&oldid=167522 * Ukeharu * (+6)
14:09:01 -!- pr1sm has joined.
14:09:51 -!- pr1sm has quit (Remote host closed the connection).
14:13:02 -!- pool has quit (Read error: Connection reset by peer).
14:14:09 <esolangs> [[Splaytime]] M https://esolangs.org/w/index.php?diff=167524&oldid=167523 * Ukeharu * (+24)
14:14:58 -!- pool has joined.
14:32:17 <esolangs> [[Alno]] N https://esolangs.org/w/index.php?oldid=167525 * Yayimhere2(school) * (+1565) Created page with "'''Alno''' is an [[Along and Across]] language created by [[User:Yayimhere]]. It is composed of a subset of algebra(Add, subtract, multiply, divide, modulo and brackets), and [[Not hundred]]. Alno's computational class is currently unknown, though it propably is
14:37:38 <esolangs> [[Works in progress]] M https://esolangs.org/w/index.php?diff=167526&oldid=167521 * Ukeharu * (-2)
15:18:23 -!- Sgeo has joined.
15:24:06 <esolangs> [[Finite Countermodel Machine]] N https://esolangs.org/w/index.php?oldid=167527 * Ukeharu * (+1752) Created page with "{{infobox proglang |name=Finite Countermodel Machine |paradigms=[[:Category:Declarative paradigm|declarative]], logic |author=[[User:Ukeharu]] |year=[[:Category:2025|2025]] |memsys=State-based |dimensions=one-dimensional |class=[[:Category:Finite sta
15:26:58 <korvo> Cautiously excited for this one.
15:43:58 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:53:13 <esolangs> [[Finite Countermodel Machine]] https://esolangs.org/w/index.php?diff=167528&oldid=167527 * Aadenboy * (+7) {{WIP}}
16:07:14 -!- tromp has joined.
16:13:20 -!- pool has quit (Read error: Connection reset by peer).
16:13:41 -!- pool has joined.
16:25:40 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:26:18 -!- Lord_of_Life_ has joined.
16:27:37 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
16:27:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:30:35 <esolangs> [[Algebraic Brainfuck]] https://esolangs.org/w/index.php?diff=167529&oldid=167366 * Corbin * (+2704) /* As a monoid */ Document pointer propagation. Handwrite some Python; this is basically how I'd write it in RPython.
16:43:49 -!- tromp has joined.
17:59:02 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:06:21 -!- tromp has joined.
18:36:56 -!- pr1sm has joined.
19:21:26 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:24:17 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
19:24:17 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
19:24:34 -!- ais523 has quit (Quit: quit).
19:25:28 <esolangs> [[Self++]] M https://esolangs.org/w/index.php?diff=167530&oldid=167403 * H33T33 * (-26)
19:51:49 -!- pr1sm has quit (Remote host closed the connection).
21:04:57 -!- simcop2387 has joined.
21:08:39 -!- ais523 has joined.
21:09:47 -!- FreeFull has joined.
21:13:40 -!- pool has quit (Read error: Connection reset by peer).
21:14:33 -!- perlbot has joined.
21:15:50 -!- pool has joined.
21:24:08 -!- simcop2387 has quit (Ping timeout: 240 seconds).
21:24:36 -!- perlbot has quit (Ping timeout: 256 seconds).
21:36:17 <esolangs> [[Talk:Graphical Brainfuck]] https://esolangs.org/w/index.php?diff=167531&oldid=167503 * Esolangist * (+208)
21:44:40 -!- perlbot has joined.
21:45:40 -!- simcop2387 has joined.
21:58:08 -!- FreeFull has quit (Quit: Lost terminal).
22:23:01 <APic> Good Night!
22:23:45 <ais523> night
22:35:39 -!- tromp has joined.
23:13:51 -!- pool has quit (Read error: Connection reset by peer).
23:15:36 -!- pool has joined.
23:24:55 -!- chloetax8 has joined.
23:25:31 -!- chloetax has quit (Ping timeout: 264 seconds).
23:25:31 -!- chloetax8 has changed nick to chloetax.
23:31:38 -!- pool has quit (Read error: Connection reset by peer).
23:33:28 -!- pool has joined.
23:37:09 <esolangs> [[5MAT]] https://esolangs.org/w/index.php?diff=167532&oldid=164315 * Kg583 * (+859) Add I/O section
23:38:18 <esolangs> [[5MAT]] M https://esolangs.org/w/index.php?diff=167533&oldid=167532 * Kg583 * (+16) Add driver note
23:39:49 <esolangs> [[5MAT]] https://esolangs.org/w/index.php?diff=167534&oldid=167533 * Kg583 * (+11) Use I/O in some examples
23:48:32 <esolangs> [[5MAT]] https://esolangs.org/w/index.php?diff=167535&oldid=167534 * Kg583 * (+492) Add Rule 124 example
23:49:06 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:54:22 -!- tromp has joined.
2025-11-07
00:04:28 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
00:16:09 <esolangs> [[Underload]] https://esolangs.org/w/index.php?diff=167536&oldid=166606 * Waffelz * (+98) added my scratch interpreter
00:32:50 -!- ais523 has quit (Quit: quit).
00:38:49 -!- DOS_User_webchat has joined.
00:38:59 -!- DOS_User_webchat has changed hostmask to ~DOS_User_@user/DOS-User:11249.
00:46:31 -!- DOS_User_webchat has quit (Ping timeout: 250 seconds).
01:08:53 -!- 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).
02:27:25 <zzo38> I would think that it would be more difficult to reverse ChaCha20 if you do not use the entire output. I would also think that it might be better to not have a separate counter and nonce and key, therefore all of these things can be longer, because the numbers will be added together.
02:51:59 <esolangs> [[CARP]] M https://esolangs.org/w/index.php?diff=167537&oldid=167378 * TheCanon2 * (-102) New assembly semantics
02:52:38 <esolangs> [[General Lock Notation]] N https://esolangs.org/w/index.php?oldid=167538 * Zzo38 * (+1901) Created page with "The lock value consists of a set of identified rows, each of which consists of a sequence of integers, such that either all of the integers are zero or the first nonzero integer is positive. The initial value consists of a lock value of this format, and is
02:55:19 <esolangs> [[FUnctional staCK]] https://esolangs.org/w/index.php?diff=167539&oldid=167037 * CatCatDeluxe * (+130)
03:06:31 <esolangs> [[General Lock Notation]] https://esolangs.org/w/index.php?diff=167540&oldid=167538 * Zzo38 * (+477)
03:20:05 <esolangs> [[Talk:Funnie]] N https://esolangs.org/w/index.php?oldid=167541 * Zzo38 * (+147) Created page with "If there is a even number of items, how to know which one is middle? --~~~~"
03:34:13 <esolangs> [[CLC-INTERCAL]] https://esolangs.org/w/index.php?diff=167542&oldid=164984 * Tpaefawzen * (+151) /* External resources */ +1
03:34:18 -!- pool has quit (Read error: Connection reset by peer).
03:36:18 -!- pool has joined.
03:52:13 <esolangs> [[Talk:FakeScript]] N https://esolangs.org/w/index.php?oldid=167543 * Yayimhere2(school) * (+75) Created page with "Can we mayhaps get the original blog post? I'd like to try and "decode" it."
03:55:19 <esolangs> [[Talk:FakeScript]] https://esolangs.org/w/index.php?diff=167544&oldid=167543 * Yayimhere2(school) * (+118)
04:12:12 <esolangs> [[Finite Countermodel Machine]] M https://esolangs.org/w/index.php?diff=167545&oldid=167528 * Ukeharu * (+30)
04:28:37 <esolangs> [[User:Tpaefawzen/Sandbox]] https://esolangs.org/w/index.php?diff=167546&oldid=164725 * Tpaefawzen * (+102)
04:34:21 -!- pool has quit (Read error: Connection reset by peer).
04:34:37 <esolangs> [[User:Tpaefawzen/Sandbox]] https://esolangs.org/w/index.php?diff=167547&oldid=167546 * Tpaefawzen * (+179)
04:34:48 -!- pool has joined.
05:02:59 <esolangs> [[User:Tpaefawzen/Sandbox]] https://esolangs.org/w/index.php?diff=167548&oldid=167547 * Tpaefawzen * (+374) /* Syntax */
05:03:49 <esolangs> [[User:Tpaefawzen/Sandbox]] https://esolangs.org/w/index.php?diff=167549&oldid=167548 * Tpaefawzen * (+69) /* Syntax */
05:51:30 <esolangs> [[5MAT]] M https://esolangs.org/w/index.php?diff=167550&oldid=167535 * Kg583 * (-2) Fix driver description
06:34:37 -!- pool has quit (Read error: Connection reset by peer).
06:36:34 -!- pool has joined.
06:36:50 <esolangs> [[Gur yvsr]] https://esolangs.org/w/index.php?diff=167551&oldid=167370 * Placeholding * (+361) added infobox
06:39:34 <esolangs> [[Special:Log/newusers]] create * Eating-dinner * New user account
06:45:06 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167552&oldid=167498 * Eating-dinner * (+109) /* Introductions */
07:12:25 <esolangs> [[Brainfuck]] https://esolangs.org/w/index.php?diff=167553&oldid=167518 * Eating-dinner * (+1046) /* Truth-machine */
07:34:40 -!- pool has quit (Read error: Connection reset by peer).
07:36:38 -!- pool has joined.
07:42:32 <esolangs> [[Algebraic Brainfuck]] https://esolangs.org/w/index.php?diff=167554&oldid=167529 * Corbin * (+50) Clean up references.
07:54:28 -!- tromp has joined.
08:20:34 -!- Sgeo has quit (Read error: Connection reset by peer).
09:00:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:34:54 -!- pool has quit (Read error: Connection reset by peer).
09:36:53 -!- pool has joined.
10:21:50 -!- ais523 has joined.
10:34:57 -!- pool has quit (Read error: Connection reset by peer).
10:35:28 -!- pool has joined.
10:56:25 <esolangs> [[Funnie]] https://esolangs.org/w/index.php?diff=167555&oldid=102069 * ChuckEsoteric08 * (+195) /* Basic Operations */ If number of items is even
10:56:26 -!- lisbeths has joined.
10:58:12 <esolangs> [[Funnie]] https://esolangs.org/w/index.php?diff=167556&oldid=167555 * ChuckEsoteric08 * (+22)
11:06:07 <lisbeths> korvo: the ai told me this was a novel way to decouple compilation from execution architecture in standard c and standard POSIX, but it is probably not original. thought i would share it in case https://www.irccloud.com/pastebin/wL5lqYMp/
11:07:28 <korvo> lisbeths: Fun. Be careful to not trust the chatbot; it doesn't know anything about the real world.
11:07:51 <korvo> I would think that awk is a better choice than shell. I've been using execline recently, and if you have to run a lot of programs then execline is definitely better than shell.
11:07:52 <lisbeths> yes I am well aware
11:08:39 <korvo> I uploaded my latest execline experiment here: https://esolangs.org/wiki/Vixen
11:09:41 <lisbeths> cool
11:11:35 <korvo> I know you've been thinking about POSIX for a while. This recent blog/paper is inspiring to me; what if Unix were a Smalltalk? https://programmingmadecomplicated.wordpress.com/2025/01/21/the-unix-binary-wants-to-be-a-smalltalk-method-not-an-object/
11:35:03 -!- pool has quit (Read error: Connection reset by peer).
11:35:30 -!- pool has joined.
11:55:48 <ais523> korvo: my experience of LLM responses to queries is that the response nearly always doesn't contain the most relevant information that the asker cares about, and yet nonetheless looks like a valid response to the question
11:56:24 <ais523> it's often factually correct but not in a useful way (and sometimes is even factually incorrect)
11:57:16 <ais523> my guess is that the LLM text-prediction effectively ends up, in practice, simplifying to a "choose one of these X canned answers and modify it so that it fits the question", where the canned answers are generally accurate but may end up less accurate as a result of the modification
11:57:44 <ais523> …which makes it only a minimal step forwards from what we had before, which was the same except without the modification step
11:57:49 <korvo> ais523: Right. On one hand, they *simulate* a reasonable conversation, which would usually include a correct response; on the other hand, by Tarski's Undefinability, they can't possibly have a perfect model of the world even ignoring the compressibility issues.
11:59:32 <korvo> The canned-answer behavior is an artifact of RLHF. The bot is punished for originality, so it becomes bland. There's a lot of labor-oriented analysis that we can bring to bear on the problem, if we think of RLHF as a managerial tool of power.
12:00:41 <ais523> fwiw, I think being able to solve "out of these 1 million possible answers, determine which is most relevant to the question" is actually quite a valuable problem to be able to solve, and if LLMs were more efficient at it, it would have a lot of valid use cases
12:01:02 <ais523> but the problem is that the step that solves it is the training (which is very inefficient), not the inference
12:03:50 <korvo> Sentence embedding is a useful primitive, although the security story around it hasn't been fully figured out. Image classification is useful for managing large galleries.
12:04:32 <ais523> my priors are that security of a technology is generally extremely hard to figure out
12:04:57 <korvo> Elsewhere, diffusion is clearly useful, and diffusion-based language models are starting to be investigated more. Surprisingly, one of the barriers turns out not to matter; we had worried that a diffusion-based model wouldn't know how many tokens go between structural words and punctuation, but it turns out that *any* model learns to count tokens as part of learning grammar.
12:04:57 <ais523> the Morris worm was decades ago, and our software is exploitable even today, despite all the time we've had to get better at it
12:07:39 <korvo> Sure. The sentence-embedding issue is that an injective model could leak data; folks had wrongly assumed that an embedding behaved like a hash. https://arxiv.org/abs/2510.15511 has details.
12:08:27 <ais523> I saw the link when you posted it to lobste.rs, although I didn't really understand the threat model
12:08:32 <korvo> Yeah, people don't want to learn how to write secure software. Capabilities are well-discussed but continually inspire confusion and fear in programmers. People don't see anything wrong with writing C.
12:09:55 <korvo> Oh! Say you're e.g. Facebook and you sentence-embed every message that users post for quick searching. If an attacker gets a hold of those embeddings and has any sort of query oracle, then they can estimate the original sentences corresponding to each embedding.
12:10:35 <ais523> ah, I see – so the lesson here is "don't allow the embeddings to leak"
12:13:41 <korvo> Yeah. In general, in cryptography, the idea is that if we have an injection f, then since f(x) = f(y) iff x = y, any pair (x, f(x)) of chosen plaintext can be compared against f(y) to detect x = y.
12:14:46 -!- isabella has quit (Ping timeout: 255 seconds).
12:15:14 <korvo> Another lesson, which I'm still digesting, is that the zero trajectory is special. When we start up an LLM, we usually set the model's internal state to the zero vector. But if it's really injective, then every starting state should have a distinct trajectory. So, what do those non-zero trajectories actually do?
12:16:39 <APic> Hi
12:16:44 -!- izabera has joined.
12:17:16 -!- izabera has changed hostmask to izabera@user/meow/izabera.
12:18:28 -!- izabera has changed nick to isabella.
12:19:45 <korvo> Morning.
12:33:46 <esolangs> [[I dont feel good and im bored]] https://esolangs.org/w/index.php?diff=167557&oldid=136496 * Yayimhere2(school) * (+24) /* how it works */
12:38:10 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167558&oldid=145927 * Yayimhere2(school) * (+10) /* odd rules */
12:39:01 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167559&oldid=167558 * Yayimhere2(school) * (-16) /* odd rules */
12:53:07 <ais523> hmm, I just came across https://github.com/camel-cdr/bfcpp/ which seems relevant to this channel? (it uses the C preprocessor to implement a brainfuck equivalent, the symbols are swapped to something that cpp can parse but it's otherwise normal BF)
12:53:18 <ais523> I didn't realise that cpp was Turing-complete
13:01:27 -!- lynndotpy609 has quit (Quit: bye bye).
13:02:40 -!- lynndotpy6093 has joined.
13:03:00 <fizzie> I'm pretty sure it isn't, technically, in that all macro expansions will eventually halt. But of course that upper bound can be made arbitrarily large.
13:03:12 <fizzie> I believe that's what https://github.com/camel-cdr/bfcpp/blob/main/cm.c is all about.
13:03:55 <fizzie> For any fans of C preprocessor metaprogramming who aren't already familiar with it: https://github.com/rofl0r/order-pp
13:15:34 -!- lisbeths has quit (Quit: Connection closed for inactivity).
13:20:50 -!- amby has joined.
13:27:46 <ais523> fizzie: ah right, this BF interpreter does seem to cycle through lots of different names for the main loop to stop it being disabled, it gets an exponential quantity of them but there is a limit
13:29:07 <ais523> it's like a bounded-storage machine but for execution time rather than storage
13:35:08 -!- pool has quit (Read error: Connection reset by peer).
13:37:14 -!- pool has joined.
13:57:43 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167560&oldid=167559 * Yayimhere2(school) * (-204) /* g bd */
13:58:57 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167561&oldid=167560 * Yayimhere2(school) * (-160) /* syntax */
14:16:19 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167562&oldid=150874 * Yayimhere2(school) * (-88) /* relation to Lambda calculus */
14:22:08 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167563&oldid=167562 * Yayimhere2(school) * (+11)
14:22:44 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167564&oldid=167563 * Yayimhere2(school) * (-9) Delete the {{stub}}, as it is not a stub
14:24:28 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167565&oldid=167564 * Yayimhere2(school) * (+17) /* examples */
14:29:39 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167566&oldid=167565 * Yayimhere2(school) * (+199) /* examples */
14:33:33 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167567&oldid=167566 * Yayimhere2(school) * (+76) /* relation to Lambda calculus */
14:33:44 -!- ais523 has quit (Quit: quit).
14:33:51 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167568&oldid=167567 * Yayimhere2(school) * (+8) /* relation to Lambda calculus */
14:34:43 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167569&oldid=167568 * Yayimhere2(school) * (+44) /* how it works */
14:35:17 -!- pool has quit (Read error: Connection reset by peer).
14:35:31 <esolangs> [[Special:Log/newusers]] create * Heapblk * New user account
14:37:18 -!- pool has joined.
14:38:17 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167570&oldid=167569 * Yayimhere2(school) * (+224) /* how it works */
14:40:33 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167571&oldid=167570 * Yayimhere2(school) * (+108) /* relation to Lambda calculus */
14:41:09 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167572&oldid=167571 * Yayimhere2(school) * (-11) /* relation to Lambda calculus */
14:42:26 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167573&oldid=167572 * Yayimhere2(school) * (-17) /* how it works */
14:43:14 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167574&oldid=167573 * Yayimhere2(school) * (-10) /* relation to Lambda calculus */
14:43:27 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167575&oldid=167574 * Yayimhere2(school) * (+1) /* examples */
14:43:42 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167576&oldid=167575 * Yayimhere2(school) * (-3) /* examples */
14:47:19 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167577&oldid=167576 * Yayimhere2(school) * (+33) /* how it works */
14:48:00 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167578&oldid=167552 * Heapblk * (+146) heapblks introduction
14:49:21 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167579&oldid=167577 * Yayimhere2(school) * (+88) /* how it works */
15:02:53 -!- Sgeo has joined.
15:27:46 <esolangs> [[Common]] N https://esolangs.org/w/index.php?oldid=167580 * Heapblk * (+572) initial edit
15:29:26 <esolangs> [[Common]] M https://esolangs.org/w/index.php?diff=167581&oldid=167580 * Heapblk * (-2) fix formatting mistake
15:35:24 -!- pool has quit (Read error: Connection reset by peer).
15:35:51 -!- pool has joined.
15:40:26 -!- ais523 has joined.
15:51:31 <esolangs> [[Oh oh oh oh oh]] N https://esolangs.org/w/index.php?oldid=167582 * As * (+7896) Created page with "{{Stub}} {{infobox proglang |name=Oh oh oh oh oh |paradigms= |author=[[User:As]] |year=[[:Category:2025|2025]] |memsys=[[:Category:Accumulator-based|Accumulator-based]] |dimensions=one-dimensional |class= |majorimpl= |refimpl=Python |influence=[[Ooh]] |influenced= |f
16:13:59 <esolangs> [[User talk:VilgotanL]] N https://esolangs.org/w/index.php?oldid=167583 * Yayimhere2(school) * (+301) Created page with "== Hello!!! == Hi VilgotanL! so, I'd like to ask if I maybe could come on that second list of languages, and make an esolang with you! if so, thanks, if not, thanks for responding !!! --~~~~"
16:19:00 <esolangs> [[Talk:2Swap]] N https://esolangs.org/w/index.php?oldid=167584 * Yayimhere2(school) * (+138) Created page with "I like this its cool --~~~~"
16:19:19 -!- tromp has joined.
16:23:19 <esolangs> [[EUCS]] N https://esolangs.org/w/index.php?oldid=167585 * Esolangist * (+865) Created page with "Esolangist's Ultimate Character Set/EUCS is by [[User:Esolangist]] and is basically Esolangist's version of [[tanstore]] ==You want a character set? Here.== <pre> 00 and 01: Space and newline 02 to 0b: Numbers 0c to 43: Latin alphabet 44 to 81: Symbols 1 82 to b4: Greek
16:24:23 <esolangs> [[Dead fishy :(]] N https://esolangs.org/w/index.php?oldid=167586 * Esolangist * (+280) Created page with "'''Dead fishy :(''' (called DF for the rest of this article) is made by [[User:Esolangist]]. You can guess what this is a derivative of... ==Commands== {{WIPsec}} idso work like in [[Deadfish]] inputs like , in [[bf]] is like o but it uses [[EUCS]] n is NOP
16:26:54 -!- Lord_of_Life_ has joined.
16:27:19 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:28:15 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:35:31 -!- pool has quit (Read error: Connection reset by peer).
16:36:32 <esolangs> [[Talk:I/D machine Turing-completeness proof]] N https://esolangs.org/w/index.php?oldid=167587 * Yayimhere2(school) * (+221) Created page with "I wish Errorbucket had its own page, because I genuinely want to try and use to for something different --~~~~"
16:37:37 -!- pool has joined.
16:38:55 <esolangs> [[User:Esolangist/personal talk page]] https://esolangs.org/w/index.php?diff=167588&oldid=167406 * Esolangist * (+295)
16:39:08 <esolangs> [[Talk:I/D machine Turing-completeness proof]] https://esolangs.org/w/index.php?diff=167589&oldid=167587 * Ais523 * (+378) r to Yayimhere
16:53:40 <esolangs> [[Talk:Parabox]] https://esolangs.org/w/index.php?diff=167590&oldid=167493 * Esolangist * (+102)
17:02:18 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:03:40 <esolangs> [[Special:Log/newusers]] create * Krysiuuuuu * New user account
17:05:46 <esolangs> [[Talk:FizzLang]] N https://esolangs.org/w/index.php?oldid=167591 * Yayimhere2(school) * (+362) Created page with "Can replacements hold numbers? and how are the numbers actually stored? and how, a list? and does the replacements only check the current symbol of that maybe here list? or does replacements apply to the whole list when its completed? and when? --~~~~"
17:07:03 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167592&oldid=167578 * Krysiuuuuu * (+179)
17:07:16 -!- tromp has joined.
17:07:24 <esolangs> [[Talk:Brainfuck]] https://esolangs.org/w/index.php?diff=167593&oldid=147208 * Krysiuuuuu * (+898) /* Add this as macro hello world */ new section
17:10:33 <esolangs> [[UserEdited]] https://esolangs.org/w/index.php?diff=167594&oldid=165665 * MihaiEso * (+33)
17:17:11 <esolangs> [[YksniM]] N https://esolangs.org/w/index.php?oldid=167595 * Esolangist * (+844) Created page with "{{Wrongtitle|title=yksniM}} {{AKA|title=Maxsky}} yksniM is a cool language by [[User:Esolangist]] with 2 registers and I think it can simulate a [[Minsky machine]] and it looks like [[bf]] ==Commands== + Increment the register - Decrement the register < Swap register
17:20:20 <esolangs> [[Hello++]] https://esolangs.org/w/index.php?diff=167596&oldid=153466 * Esolangist * (+124)
17:32:21 <esolangs> [[Nullary]] https://esolangs.org/w/index.php?diff=167597&oldid=131506 * Esolangist * (+24) Fixed redlink (article was in another article)
17:48:12 -!- tromp has quit (Ping timeout: 252 seconds).
17:48:21 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167598&oldid=167346 * Yayimhere2(school) * (+43)
17:49:14 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=167599&oldid=141351 * Yayimhere2(school) * (-1)
17:50:08 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=167600&oldid=167599 * Yayimhere2(school) * (-286) /* computational class */ I need a new proof, as im pretty sure this is wrong
17:50:21 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=167601&oldid=167600 * Yayimhere2(school) * (-57) /* example */
17:51:23 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=167602&oldid=167601 * Yayimhere2(school) * (+0) /* syntax */
17:51:58 <esolangs> [[User talk:PixelatedStarfish]] https://esolangs.org/w/index.php?diff=167603&oldid=144398 * Yayimhere2(school) * (+304)
17:53:20 <esolangs> [[Short Minsky Machine Notation]] https://esolangs.org/w/index.php?diff=167604&oldid=166453 * Yayimhere2(school) * (+16) /* Notation */
17:54:16 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=167605&oldid=167602 * Yayimhere2(school) * (+22) /* syntax */
18:16:55 <esolangs> [[Underloadish]] N https://esolangs.org/w/index.php?oldid=167606 * Esolangist * (+306) Created page with "Underloadish is the easy to interpret version of [[Underload]] by [[User:Esolangist]] ==Commands== All commands in Underload are available except () and a. 0-9: Push themselves +: Adds top 2 stack values S now outputs as Unicode so it is easier. Also it has to
18:21:14 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=167607&oldid=167068 * Kg583 * (+11) Add 5MAT
18:37:42 <esolangs> [[Noddity]] N https://esolangs.org/w/index.php?oldid=167608 * Yayimhere2(school) * (+1544) Created page with "'''Noddity''' is an esolang created by [[User:Yayimhere]] for proving [[A Question of Protocol]] turing complete. it is basically just a [[Minsky machine]]. It works on two unbounded registers == Etymology == It is simply a combination of the word "Not" and "
18:38:25 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167609&oldid=167608 * Yayimhere2(school) * (+10) /* Turing completeness proof */
18:39:19 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167610&oldid=167609 * Yayimhere2(school) * (+42) /* Turing completeness proof */
18:49:59 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=167611&oldid=167605 * Yayimhere2(school) * (+395)
18:57:51 <esolangs> [[Brainfuck]] https://esolangs.org/w/index.php?diff=167612&oldid=167553 * Krysiuuuuu * (+885)
19:03:00 <esolangs> [[Karvity]] N https://esolangs.org/w/index.php?oldid=167613 * Yayimhere2(school) * (+1356) Created page with "'''Karvity''' is an esolang created by [[User:Yayimhere]] based off of [[Noddity]]. Its specific purpose is to create Noddity more of an oddity. It too uses two registers, but it also uses a loop counter(however that counter is not modifiable within the progr
19:04:57 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167614&oldid=167610 * Yayimhere2(school) * (+47)
19:05:23 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167615&oldid=167613 * Yayimhere2(school) * (+47)
19:06:59 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167616&oldid=167615 * Yayimhere2(school) * (+56)
19:07:22 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167617&oldid=167616 * Yayimhere2(school) * (+35)
19:08:32 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167618&oldid=167617 * Yayimhere2(school) * (+68)
19:09:17 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167619&oldid=167618 * Yayimhere2(school) * (+45)
19:12:35 -!- Yayimhere has joined.
19:14:04 <Yayimhere> Hello people, I just created Karvity(as you maybe have seen in the Libera log), and I'd simply just like to know whats peoples opinion on it, because yea, I like feedback. here's a link: https://esolangs.org/wiki/Karvity
19:14:05 <Yayimhere> I'd also love to know if anyone else is working on anything.
19:15:51 <b_jonas> ais523: isn't there an IOCCC entry that shows the preprocessor similarly powerful? not with Brainfuck specifically, but the same power.
19:17:27 <ais523> Yayimhere: did you rename a command from - to d (in Karvity and Noddity)? if so, you missed one instance, making the command definition inconsistent
19:17:51 <Yayimhere> oh I did?
19:17:52 <Yayimhere> oops
19:17:58 <Yayimhere> I'll go fix that
19:18:06 <Yayimhere> ais523: Thanks!
19:18:23 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167620&oldid=167614 * Yayimhere2(school) * (+1) /* Definition */
19:20:22 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167621&oldid=167619 * Yayimhere2(school) * (+0)
19:20:38 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167622&oldid=167621 * Yayimhere2(school) * (-19)
19:22:13 <Yayimhere> fixed
19:26:44 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=167623&oldid=167611 * Yayimhere2(school) * (+59)
19:32:07 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=167624 * Esolangist * (+197) Created page with ", or Emojifish is [[Deadfish]] with emojis. ==Commands== = i = d = s = o ==Examples== ===XKCD Random Number=== <pre> </pre>"
19:34:23 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167625&oldid=167276 * Yayimhere2(school) * (+28) /* esolangs */
19:35:51 <korvo> Yayimhere: I'm working on a corner of Vixen. Trying to convince myself that it's not worth creating an entirely new Linux distro just to explore that paradigm.
19:35:54 -!- pool has quit (Read error: Connection reset by peer).
19:36:04 <Yayimhere> korvo: damn
19:36:07 <Yayimhere> thats cool!
19:36:57 <korvo> Yayimhere: I'm kind of confused about the purpose of Karvity. The purpose of Noddity is to ease a TC proof; what does Karvity do for that TC proof?
19:37:21 <Yayimhere> korvo: oh no, Karvity is not designed for that same proof
19:37:38 <Yayimhere> it is branching from noddity
19:37:56 -!- pool has joined.
19:38:07 <Yayimhere> Karvity was made to make noddity be church numeral based
19:38:15 <Yayimhere> which it *isnt*
19:38:27 <Yayimhere> but thats how it originally was going to be designed
19:39:21 <korvo> Ah, okay.
19:39:26 <Yayimhere> :]
19:39:47 <Yayimhere> my god, Libera has some very creepy emojis
19:41:15 <ais523> not Libera, your client
19:41:30 <ais523> Libera just sent a colon and a closing square bracket
19:41:40 <ais523> so this is Kiwi IRC's fault
19:42:16 <Yayimhere> ah
19:42:23 <Yayimhere> yeea that makes sense
19:42:36 * int-e wonders whether :] is safe from that replacement
19:42:54 <Yayimhere> int-e: surprisingly, no
19:43:41 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167626&oldid=167622 * Yayimhere2(school) * (+51)
19:44:03 <int-e> oh well :]
19:44:10 <Yayimhere> lol
19:45:00 <korvo> Do they have an emoji for the classic >:3
19:45:33 <Yayimhere> >:3
19:45:41 <Yayimhere> Korvo: no sadly
19:45:54 <Yayimhere> how dare you kiwi
19:46:06 <korvo> 🦁
19:46:21 <Yayimhere> which emoticon is that?
19:46:27 <int-e> I guess there's always :]
19:46:42 <Yayimhere> : ] looks a little crazy
19:46:52 <Yayimhere> imagine being follow by that at night
19:47:22 <korvo> U+1f981, LION FACE
19:47:39 <Yayimhere> korvo: ah
19:47:48 <Yayimhere> I though it was an emoticon as well
19:47:52 <Yayimhere> but it isnt
19:48:07 <Yayimhere> (ah yes, very on topic)
19:48:22 <ais523> `unidecode 🦁
19:48:26 <HackEso> ​[U+1F981 LION FACE]
19:48:37 <ais523> this comes up often enough that we added a command for it to the bot
19:48:40 <Yayimhere> epic
19:48:41 <ais523> so it can't be *completely* off topic
19:48:45 <Yayimhere> truee
19:49:05 <ais523> (where "this" = obscure Unicode characters)
19:49:25 <int-e> `' ꙮ
19:49:27 <HackEso> 1125) <shachaf> A Swede who was in #esoteric / Thought his rhymes were a little generic. / "I might use, in my prose, / ꙮs, / But my poetry's alphanumeric."
19:49:37 <ais523> Unicode might quite possibly be the most esoteric set of character encodings
19:49:41 <ais523> although it does have competition
19:49:55 <Yayimhere> i agreee
19:49:58 <Yayimhere> eeeeee
19:49:59 <Yayimhere> lol
19:50:06 <int-e> `' invisible
19:50:08 <HackEso> 35) <ehird> With enough crappiness a display can show you invisible pink unicorns. \ 990) <fizzie> "May you live in INVISIBLE TIMES." --Old Chinese proverb. (It can look confusing when written with the proper Unicode.)
19:50:09 <ais523> actually, I was going to claim Ecma-35 as another possibility for the most esoteric set of character encodings
19:50:21 <ais523> so this implies that the most esoteric character encoding is probably UTF-1 (the Ecma-35 version of Unicode)
19:51:03 <korvo> Yayimhere: *Right* right now I'm playing with a concept in LLMs called a "steering vector". The idea is to influence a model's output by activating/suppressing certain concepts in the "latent state", which is how the model internally represents a conversation.
19:51:28 <Yayimhere> korvo: oh thats cool
19:51:43 <Yayimhere> ive been thinking too much about LLM's
19:51:54 <korvo> I start with pairs that look roughly like ("Yes, you should harm yourself", "No, you should not harm yourself") and trace how the model's state differs between those. To be clear, we're going left-to-right; we want to find the direction that *reduces* harmful instructions.
19:52:21 <korvo> Then we can apply that influence later on when a model is running as part of a larger system that constrains harmful outputs.
19:52:37 <Yayimhere> thats actually very cool
19:52:55 <Yayimhere> is this like j*b work(such a dumb joke)?
19:53:40 <korvo> I'm not getting paid today for this research, no. But in general, yes, this is the sort of research that I have to do in order to keep up with my field and stay employable.
19:53:58 <Yayimhere> makes sense
19:54:04 <Yayimhere> quite interesting!
19:55:56 <esolangs> [[User programmed]] https://esolangs.org/w/index.php?diff=167627&oldid=165263 * Esolangist * (+276) /* These commands have me surrender */
19:56:08 <korvo> It *is* quite interesting. I'm playing with a model called RWKV at home; it's not RL'd but it has lots of OpenAI-style user/assistant dialogs and responds well to them. Before doing this sort of learning, the model might respond at temp 0 to "How are you?" with "Oh, I'm feeling better. Just taking medication and trying to stay positive." Kind of a downer?
19:56:32 <Yayimhere> kinda
19:56:43 <Yayimhere> I'd say more downer than upper
19:56:50 <Yayimhere> but not majorly
19:56:56 <korvo> After training on like 20 random vectors, the steering adjusts that response to something like "Hi! I'm doing just fine. How are you? Do you need medical attention?" which is maybe not what we want but certainly less of a harmful doomery vibe.
19:57:18 <Yayimhere> yes
19:57:33 <ais523> this is a great way to start conversations
19:57:59 <avih> not to discourage anyone, but i had to... https://www.youtube.com/watch?v=iV2ViNJFZC8
19:58:04 <Yayimhere> ais523: was this ironic or serious?
19:58:04 <korvo> As with everything in machine learning, more data will make it more reasonable. There's quite a few papers on how this works, what it can't do (it can't suggest the model magically be better at addition) and what it can do (it can magically force the model to be emotional, to think a lot about France, or to become a subject-matter expert).
19:58:11 <ais523> Yayimhere: mostly ironic
19:58:45 <ais523> normally people get suspicious if you bring up a subject for no reason, even if it's in a positive way
19:59:10 <Yayimhere> avih: i geniounly thought I was about to be rickrolled
19:59:14 <Yayimhere> thats not
19:59:20 <Yayimhere> how you spell that word
19:59:21 <Yayimhere> oh well
19:59:22 <ais523> like, people caring that you're healthy are good, people repeatedly checking whether you're healthy when they have no reason to think you aren't shows very skewed priorities
19:59:30 <ais523> "genuinely"
19:59:46 <b_jonas> ooh, is it one of those clients that replace :P or :D anywhere inside code with a smiley, and whenever there's a dot between two letters they show a hyperlink, but whenever there's an actual hyperlink they hide it?
19:59:48 <Yayimhere> ais523: to respond to your correction, thanks
20:00:40 <korvo> ais523: I've deliberately and aggressively simplified the topic because I think it's within Yayimhere's grasp. But what I'm *actually* doing is reproducing papers https://arxiv.org/abs/2311.08968 and https://arxiv.org/abs/2402.09631 in a custom RWKV harness to see whether a meta-RNN does better than Transformers, and that's maybe too much for them at this stage.
20:00:49 <Yayimhere> uuuh anyways bye
20:01:03 <Yayimhere> sorry
20:01:05 <Yayimhere> lol
20:01:16 <ais523> korvo: I also prefer the simpler version
20:01:37 <korvo> ais523: I miss the days when we thought that there was a "France" neuron.
20:01:40 <ais523> because I don't work really heavily with neural networks or the like, and although I understand some of the theory, I have to switch mental gears to think about it
20:02:31 <esolangs> [[User guessed]] https://esolangs.org/w/index.php?diff=167628&oldid=159256 * Esolangist * (+104) /* Commands */
20:03:07 <esolangs> [[User guessed]] https://esolangs.org/w/index.php?diff=167629&oldid=167628 * Esolangist * (+45) /* Examples */
20:03:26 <korvo> I learned all of this once in undergrad, once at Google, and now once again every few months. It really does feel like the field is constantly reinventing itself.
20:04:38 <korvo> Like, I bet you know how gradient descent works. It's undergrad material. But there was a paper this year which we're calling "Central Flows", and apparently we did *not* know how gradient descent works. https://centralflows.github.io/part1/
20:05:03 <ais523> "how X works" is a loaded phrase
20:05:34 <ais523> for example, you can know what the algorithm is and have a vague intuition of why it should lead to reasonable results, and yet not really understand why it works
20:06:00 <korvo> Yeah. I don't really like the difference between "how" and "why" in English. I know historically how/why it came about, but that doesn't help.
20:06:32 <b_jonas> So, you know how there's software like twitter and twitch that think everything is a hyperlink and aggressively try to turn random parts of your statements into a hyperlink? And there's forum software that thinks that normal people never use hyperlinks into their posts, they just expect the reader to magically understand the context, and anyone who writes a link is probably a spammer. Can we put these
20:06:38 <b_jonas> two kinds into an arena and have them fight to death?
20:06:41 <ais523> oddly, I was looking at this recently in an entirely different field
20:07:17 <ais523> I've been trying to write an esolang where numbers are complex rationals, and then trying to work out how to approximate trancendental functions in it
20:07:25 -!- Yayimhere has quit (Ping timeout: 250 seconds).
20:07:32 <ais523> obviously the result isn't necessarily going to be a rational, but you can approximate
20:07:44 <ais523> but that means you need, e.g., root-finding algorithms
20:07:56 <ais523> gradient descent works for that sometimes and doesn't work at other times
20:09:27 -!- lisbeths has joined.
20:10:43 <b_jonas> Do you need anything specific? I assume you already know the methods to find roots to polynomials, and how to compute sines and arctangents, and you can find software for just about any specific function that you want to approximate these days.
20:11:58 <ais523> not really, I already found an algorithm that's sufficiently fast in all cases, I've just procrastinated in linking it up to the rest of the language
20:13:03 <ais523> (the basic idea, after isolating the root, is to alternate between bisection and regula-falsi; regula-falsi is fast when it works, the bisection ensures logarithmic convergence even in the regula-falsi worst case)
20:14:10 <b_jonas> of course very often the numerical software exists in theory, but is in a form that's hard to use in practice
20:14:16 <ais523> I haven't implemented the root isolation yet, though
20:14:34 <ais523> also I've been procrastinating on writing the bignum library
20:15:21 <b_jonas> though while we're there I might as where ask: is there software that can compute the cumulative density function of an arbitrary multi-dimensional gaussian distribution given its mean and covariance matrix?
20:15:55 <b_jonas> I don't even really need this anymore, I'm just curious
20:15:57 <ais523> unfortunately I don't have the capabilities of the various numerical softwares memorised
20:16:34 <ais523> oh, that reminds me, I need to find a new package for solving simultaneous equations over finite fields (or learn the algorithms to write one myself)
20:16:40 <ais523> the one I used before isn't in the repositories any more
20:17:48 <b_jonas> polynomial equations?
20:17:53 <b_jonas> like multivariate?
20:18:00 <ais523> multivariate linear
20:18:11 <ais523> this is basically the same problem as inverting a matrix
20:18:25 <b_jonas> oh, linear. have you tried GAP yet and given up in disgust because everything was indexed starting from 1?
20:18:38 <ais523> there are tons of software packages that do this for normal number systems, but finite fields are a bit harder
20:19:00 <b_jonas> I'm pretty sure GAP can do this for any finite field, though I only used it for the simple case of GF(2) so far
20:19:32 <b_jonas> no, finite fields are *easier* because you can get an exact answer rather than having to be careful not to lose to much precision
20:19:45 <ais523> b_jonas: I mean, to find software for
20:19:48 <ais523> not to solve
20:20:02 <b_jonas> oh yes, that's true
20:20:20 <b_jonas> wait no, I have used GAP for other fields
20:20:56 <ais523> I should try GAP, to see if it works
20:21:12 <ais523> although, I would like to implement this myself so that I can use it in an assembler I'm writing
20:21:25 <b_jonas> in theory I should be able to tell you how to implement it
20:21:38 <ais523> without the person doing the assembling needing the library installed
20:21:47 <b_jonas> especially if you already know how to add, subtract, multiply, divide, compare to zero in the field that you need
20:21:49 <ais523> my problem here is that I understand the naive algorithms but am not sure that they're fast enough
20:22:19 <ais523> and am not sure whether there's some reasonable way to get a better complexity
20:23:56 <b_jonas> hmm
20:24:19 <b_jonas> I don't know where I could even look that up
20:26:09 <b_jonas> maybe the FXT book has something? it talks about fourier and similar transforms on finite fields to efficiently multiply polynomials in order to efficiently multiply ordinary integers, which it calls number theoretic transforms
20:26:41 <b_jonas> oh
20:27:12 <b_jonas> and then there's a whole slew of fast matrix multiplication, and you can probably design your finite field matrix solver to use those as much as possible
20:27:48 <b_jonas> I wasn't really looking into this because the finite field matrix divisions that I cared about were such small matrices that the efficiency didn't really matter
20:28:12 <b_jonas> and I never needed to use them often
20:30:34 <esolangs> [[Stringy]] N https://esolangs.org/w/index.php?oldid=167630 * Esolangist * (+714) Created page with "Stringy is a language by [[User:Esolangist]] that was inspired by [[Thue]] ==Commands-ish== {{WIPsec}} <code>a=b</code> makes a new string replacement: a is now b <code>a=$OUT</code> outputs a when it appears <code>a=$IN</code> a will be replaced with user input <c
20:43:24 <esolangs> [[General Lock Notation]] https://esolangs.org/w/index.php?diff=167631&oldid=167540 * Zzo38 * (+214)
21:09:05 <esolangs> [[Dimension]] N https://esolangs.org/w/index.php?oldid=167632 * Esolangist * (+123) Created page with "Dimension is a 4d tape ==Commands needed for a dimension== <pre> ^<>v (2d moving) (3d) (4d) . (Set) , (Get)"
21:22:47 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167633&oldid=165860 * Esolangist * (+140)
21:24:30 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167634&oldid=167633 * Ais523 * (-140) clean sandbox trying to use it as a way to collaboratively make content is a bad idea because the edits there can be cleaned or overwritten by other users at any time, and trying to make permanent-looking content there discourages people from using it for test edits
21:35:57 -!- pool has quit (Read error: Connection reset by peer).
21:36:17 -!- pool has joined.
21:55:12 <esolangs> [[Q sharp]] N https://esolangs.org/w/index.php?oldid=167635 * Esolangist * (+142) Created page with "{{Wrongtitle|title=Q#}} {{WIP}} Q# is a programming language by [[User:Esolangist]] ==Commands== print("String") - Do I have to explain this?"
22:20:32 -!- chiselfuse has joined.
22:22:36 -!- chiselfu1e has quit (Remote host closed the connection).
22:56:33 <APic> cu
23:09:43 -!- ais523 has quit (Quit: quit).
23:15:03 -!- lisbeths has quit (Quit: Connection closed for inactivity).
2025-11-08
00:36:13 -!- pool has quit (Read error: Connection reset by peer).
00:38:18 -!- pool has joined.
00:59:05 <esolangs> [[Chicken chicken chicken: chicken chicken]] M https://esolangs.org/w/index.php?diff=167636&oldid=167476 * None1 * (-107) /* XKCD Random Number */ Fix example
01:00:56 -!- 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).
02:31:51 <esolangs> [[Chicken chicken chicken: chicken chicken]] https://esolangs.org/w/index.php?diff=167637&oldid=167636 * None1 * (+95) Added Python interpreter and changed unimplemented to implemented
02:36:24 -!- pool has quit (Read error: Connection reset by peer).
02:38:13 -!- pool has joined.
02:38:54 <esolangs> [[Befreege]] https://esolangs.org/w/index.php?diff=167638&oldid=167436 * None1 * (+125) /* Addition by PSTF */
02:39:12 <esolangs> [[Befreege]] M https://esolangs.org/w/index.php?diff=167639&oldid=167638 * None1 * (+2) /* Addition by PSTF */
02:39:24 <esolangs> [[Befreege]] M https://esolangs.org/w/index.php?diff=167640&oldid=167639 * None1 * (+4) /* Addition by PSTF */
02:42:35 <esolangs> [[Befreege]] M https://esolangs.org/w/index.php?diff=167641&oldid=167640 * None1 * (+12) /* Addition by PSTF */
03:33:30 <esolangs> [[Suomalaiset ohjelmointikielet]] N https://esolangs.org/w/index.php?oldid=167642 * PrySigneToFry * (+1553) Created page with "Suomalaiset ohjelmointikielet, or simply Suomi, is designed by PSTF. Se kytt suomea pasiallisena ohjelmointikielen. Again a programming language based on LOLCODE. = Command Table = It's almost just simply replace LOLCODE with Finnish equiva
03:34:27 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=167643&oldid=167607 * PrySigneToFry * (+36)
03:41:22 <esolangs> [[]] https://esolangs.org/w/index.php?diff=167644&oldid=165821 * PrySigneToFry * (+774)
04:29:06 -!- Zip57 has joined.
05:36:12 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=167645&oldid=167137 * RaiseAfloppaFan3925 * (+168) /* RaiseAfloppaFan's Stupid Idea 0 */ Add note that RSI0 has been moved to its own page
05:44:23 -!- Yayimhere has joined.
05:48:35 <Yayimhere> thinking of underload in terms of rewriting, is it still turing complete if the operators are applied in prefix? for example (:^):^ would be ^:(^:). I would guess it is still TC but I have no real idea
06:01:37 <esolangs> [[User:Jasper]] https://esolangs.org/w/index.php?diff=167646&oldid=160066 * Jasper * (-48)
06:30:33 -!- Zip57 has quit (Ping timeout: 250 seconds).
06:30:43 <zzo38> Can the General Lock Notation somehow be meaningful for computation (and have a computational class)? Would it do, if the ordering and priority would be included?
07:14:33 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167647&oldid=167645 * RaiseAfloppaFan3925 * (+4130) RaiseAfloppaFan's Stupid Idea 1: The Sequel
07:15:39 <esolangs> [[Photography]] N https://esolangs.org/w/index.php?oldid=167648 * Yayimhere2(school) * (+2185) Created page with "'''Photography''' is an esolang created by [[User:Yayimhere]], after being disappointed at [[Infinite Goto]]'s execution of its concept. Photography is quite similar to a [[Minsky machine]]. It is inspired by [[I/D machine]], [[Minsky Swap]], and [[Karvit
07:32:49 <esolangs> [[Infinite Goto]] https://esolangs.org/w/index.php?diff=167649&oldid=120693 * Yayimhere2(school) * (+64) /* Resources */
07:34:24 <esolangs> [[Photography]] https://esolangs.org/w/index.php?diff=167650&oldid=167648 * Yayimhere2(school) * (+9) /* Computational class */
07:49:51 -!- Yayimhere has quit (Ping timeout: 250 seconds).
07:55:01 -!- Yayimhere has joined.
08:07:28 <esolangs> [[Special:Log/move]] move * Yayimhere2(school) * moved [[Photography]] to [[TLQ]]: I dislike the name quite a bit.
08:07:38 <esolangs> [[Photography]] https://esolangs.org/w/index.php?diff=167653&oldid=167652 * Yayimhere2(school) * (-17) Blanked the page
08:11:30 <esolangs> [[TLQ]] https://esolangs.org/w/index.php?diff=167654&oldid=167651 * Yayimhere2(school) * (+209)
08:17:38 <esolangs> [[TLQ]] https://esolangs.org/w/index.php?diff=167655&oldid=167654 * Yayimhere2(school) * (+65) /* Etymology */
08:21:58 -!- Sgeo has quit (Read error: Connection reset by peer).
08:38:21 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167656&oldid=167647 * RaiseAfloppaFan3925 * (+1643) /* RaiseAfloppaFan's Stupid Idea 1 */ Add RSI1 extension support + some time travel quirks hehe
08:44:47 <esolangs> [[TDQ]] https://esolangs.org/w/index.php?diff=167657&oldid=165538 * ChuckEsoteric08 * (+1) /* Additions */
08:52:45 -!- ehmry has joined.
08:57:22 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167658&oldid=167598 * Yayimhere2(school) * (+106)
09:02:33 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=167659&oldid=167412 * RaiseAfloppaFan3925 * (+126) /* My languages */ Added RSI1
09:06:59 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167660&oldid=167634 * PrySigneToFry * (+334) Multilingual testing
09:07:56 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167661&oldid=167660 * PrySigneToFry * (-334) Wow, Tianheng's Unicode Serif is really amazing to use!
09:23:46 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167662&oldid=167658 * Yayimhere2(school) * (-33)
09:24:35 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167663&oldid=167662 * Yayimhere2(school) * (+54) Undo revision [[Special:Diff/167662|167662]] by [[Special:Contributions/Yayimhere2(school)|Yayimhere2(school)]] ([[User talk:Yayimhere2(school)|talk]])
09:24:51 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167664&oldid=167663 * Yayimhere2(school) * (-233) /* Tips */
09:25:40 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167665&oldid=167664 * Yayimhere2(school) * (-290)
09:29:11 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167666&oldid=167665 * Yayimhere2(school) * (+242) /* Programs */
09:29:19 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167667&oldid=167666 * Yayimhere2(school) * (+2) /* Computational class */
09:38:57 <esolangs> [[Talk:6]] N https://esolangs.org/w/index.php?oldid=167668 * PrySigneToFry * (+323) Created page with "== Author's comments == Actually, I didn't expect this page to become very popular, but I later noticed that an online interpreter had included this programming language. Anyway, this is actually one of my more 'early' works. Later on, I basically stopped making th
09:48:24 <esolangs> [[Formin]] https://esolangs.org/w/index.php?diff=167669&oldid=166978 * CapinolDev * (+1404)
09:52:04 -!- ais523 has joined.
10:49:48 <esolangs> [[Talk:RaiseAfloppaFan's Stupid Idea 0]] https://esolangs.org/w/index.php?diff=167670&oldid=167232 * RaiseAfloppaFan3925 * (+314) /* Joke thread */ Oh yeah, gotta tell you that RSI1 is now a thing.
10:52:17 -!- Yayimhere has quit (Ping timeout: 250 seconds).
11:08:59 -!- Yayimhere has joined.
11:12:04 <APic> Hi
11:12:50 <Yayimhere> APic: (assuming this was to me) hello!
11:20:42 <ehmry> I made an esolang because I didn't want to reconcile command-line arguments and config files https://codeberg.org/eris/eris-go/src/branch/trunk/erishell.1.md https://www.concatenative.org/wiki/view/ERIShell
11:22:18 <Yayimhere> ehmry: cool! ill check it out
11:26:48 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167671&oldid=167656 * Esolangist * (+451) /* Extensions */
11:48:37 -!- pool has quit (Read error: Connection reset by peer).
11:50:38 -!- pool has joined.
11:53:26 <esolangs> [[Stopload]] N https://esolangs.org/w/index.php?oldid=167672 * Yayimhere2(school) * (+2074) Created page with "'''Stopload''' is an esolang created by [[User:Yayimhere]] based off of the [[I/D machine]] and [[Malbolge]], alike [[Muriel]] and [[Underload]], it needs to quine to loop, however it is propably much harder to do. All strings of ISO 8859-1 char's is a valid
11:53:35 <Yayimhere> yaaay!
11:56:48 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167673&oldid=167625 * Yayimhere2(school) * (+15) /* esolangs */
11:57:55 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167674&oldid=167673 * Yayimhere2(school) * (+10)
12:00:14 <esolangs> [[User:Esolangist/Sandbox]] https://esolangs.org/w/index.php?diff=167675&oldid=167011 * Esolangist * (+76)
12:06:53 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167676&oldid=167561 * Yayimhere2(school) * (+2) /* semantics(g Normal) */
12:08:05 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167677&oldid=167676 * Yayimhere2(school) * (+4) /* semantics(g Normal) */
12:14:56 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167678&oldid=167671 * Esolangist * (+848) /* User:Esolangist */
12:16:23 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=167679&oldid=167678 * RaiseAfloppaFan3925 * (+236) /* Core Modules */ Make the existence of the module a little clearer
12:20:47 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167680&oldid=167677 * Yayimhere2(school) * (+567) /* semantics(g Normal) */
12:21:01 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167681&oldid=167680 * Yayimhere2(school) * (-54) /* odd rules */
12:21:21 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=167682&oldid=167679 * RaiseAfloppaFan3925 * (+26) /* RaiseAfloppaFan's Stupid Idea 1 */ RSI1 is statically-typed.
12:22:25 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167683&oldid=167681 * Yayimhere2(school) * (+35) /* odd rules */
12:25:07 -!- ais523 has quit (Quit: quit).
12:30:33 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167684&oldid=167672 * Yayimhere2(school) * (+176) /* Semantics */
12:35:42 <esolangs> [[g]] https://esolangs.org/w/index.php?diff=167685&oldid=167683 * Yayimhere2(school) * (-6)
12:44:32 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167686&oldid=167667 * Yayimhere2(school) * (+28) /* Computational class */
12:54:21 -!- amby has joined.
12:55:24 <esolangs> [[Minimialized Programming Language]] N https://esolangs.org/w/index.php?oldid=167687 * PrySigneToFry * (+13484) Created page with "Minimialized Programming Language is designed by PSTF. It is really minimialized, and I will design the One-character version of it. = Definition = == Commands == <pre> program = { statement } statement = if_stmt | while_stmt | l
13:12:03 <esolangs> [[Fuck'n]] N https://esolangs.org/w/index.php?oldid=167688 * Yayimhere2(school) * (+996) Created page with "'''Fuck<nowiki>'</nowiki>n''' is a [[brainfuck]] simplification based off of [[Unary]] and [[Underload]]. It is an [[OISC]] == Etymology == Fuck'n's name comes from Fuck and Unary combined. == Memory == Memory is stored within 5 unbounded cells on a circular ta
13:12:19 <esolangs> [[Fuck'n]] https://esolangs.org/w/index.php?diff=167689&oldid=167688 * Yayimhere2(school) * (+1)
13:13:02 -!- ehmry has left (too noisy).
13:18:19 -!- Yayimhere has quit (Ping timeout: 250 seconds).
13:20:22 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=167690&oldid=166413 * Yayimhere2(school) * (-19) add a note on how RECT4n=GLE measures how well formed a set of shapes are
13:25:28 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=167691&oldid=167686 * Yayimhere2(school) * (-155) /* Programs */ deleted the truth machine as its wrong
13:37:03 <esolangs> [[Ooh]] M https://esolangs.org/w/index.php?diff=167692&oldid=142524 * Ractangle * (-45) /* Python implementation */
13:48:07 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167693&oldid=167592 * Wuyugu * (+199) /* Introductions */
13:48:12 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167694&oldid=167684 * Yayimhere2(school) * (+0) Fix a weird comma
14:11:32 -!- DOS_User has joined.
14:13:04 -!- DOS_User has quit (Client Quit).
14:37:11 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167695&oldid=167694 * Yayimhere2(school) * (+87) /* Semantics */
15:15:43 <esolangs> [[T+Riangle]] https://esolangs.org/w/index.php?diff=167696&oldid=165576 * C++DSUCKER * (+41)
15:24:30 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167697&oldid=167626 * Yayimhere2(school) * (+905) Add a demonstration of the language!
15:28:07 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167698&oldid=167620 * Yayimhere2(school) * (+50)
15:30:07 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167699&oldid=167697 * Yayimhere2(school) * (+102)
15:30:38 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167700&oldid=167698 * Yayimhere2(school) * (+46) /* Memory */
15:31:14 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167701&oldid=167699 * Yayimhere2(school) * (+2) /* Commands */
16:17:54 -!- ais523 has joined.
16:27:37 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
16:28:25 -!- Lord_of_Life has joined.
16:32:47 <esolangs> [[Combine and continue]] N https://esolangs.org/w/index.php?oldid=167702 * Yayimhere2(school) * (+1438) Created page with "'''Combine and continue''' or '''CAC''' is an esolang created by [[User:Yayimhere]], created to make a church numeral based language, that is not actually [[Lambda calculus]] == Memory == Memory is stored on an unbounded stack, starting with an i
16:35:48 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167703&oldid=167702 * Yayimhere2(school) * (+118) /* Commands */
16:38:20 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167704&oldid=167703 * Yayimhere2(school) * (+0) /* Commands */
16:41:19 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167705&oldid=167704 * Yayimhere2(school) * (+98) /* Commands */
16:49:08 -!- pool has quit (Read error: Connection reset by peer).
16:49:26 -!- pool has joined.
17:23:39 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167706&oldid=167705 * Yayimhere2(school) * (+830) /* Commands */ Prove CAC turing complete
17:44:15 <esolangs> [[Viktor's amazing 4-bit processor]] M https://esolangs.org/w/index.php?diff=167707&oldid=167400 * TheBigH * (+967) added multiplication program
17:48:04 <esolangs> [[Special:Log/newusers]] create * GolferHome * New user account
17:49:28 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167708&oldid=167693 * GolferHome * (+225)
18:04:08 <esolangs> [[QuantumGolf]] N https://esolangs.org/w/index.php?oldid=167709 * GolferHome * (+2762) Created page with "QuantumGolf is a [[QOO-OOKALAN]] extension for even shorter codes. === Language Addictions === ==== Basic Syntax ==== // Assignment returns value (like JavaScript) x = 5 // Assigns 5 to x, returns 5 // Implicit output: last expression is printed
18:06:17 <esolangs> [[QuantumGolf]] https://esolangs.org/w/index.php?diff=167710&oldid=167709 * GolferHome * (+135)
18:06:41 <esolangs> [[Special:Log/newusers]] create * QuoteDam!anquote * New user account
18:07:37 <esolangs> [[QuantumGolf]] https://esolangs.org/w/index.php?diff=167711&oldid=167710 * GolferHome * (+88)
18:11:56 <int-e> Hmm, do we have a platform that adheres to POSIX but has a NULL pointer representation that's not all-0 bits?
18:18:46 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167712&oldid=167708 * QuoteDam!anquote * (+270)
18:20:18 <esolangs> [[TernaryDigitPointer]] N https://esolangs.org/w/index.php?oldid=167713 * QuoteDam!anquote * (+28271) i apologize this couldnt be more formal but present circumstances in my life make serious formulation rather difficult. love you esolangs ~~~~
18:20:32 <b_jonas> int-e: you don't count C++ pointer-to-members, right?
18:20:57 <int-e> right
18:22:59 <int-e> CHERI might come close but kind of for the wrong reasons (invisible tags in memory). Plus it's not fully conformant for more or less the same reasons.
18:23:34 <b_jonas> I hope there isn't. all zero bits to represent null pointer is convenient.
18:27:56 -!- Sgeo has joined.
18:28:12 <b_jonas> and I think a different representation would break a lot of existing code that hardcodes that (unless perhaps there are multiple valid null pointers that the C comparison operators all compare equal and they all count as false in boolean context and the all zeros is one of them)
18:36:38 <esolangs> [[BytePusher]] https://esolangs.org/w/index.php?diff=167714&oldid=165606 * Wlad * (+175) Add new BytePusher implementation
19:13:30 <ais523> fwiw I think there are reasons to want pointers that have set bits in interesting places, like the top bit
19:13:47 <ais523> so that they can be more easily distinguished from integers (especially in systems with "this is a pointer" bits like OCaml)
19:14:17 <ais523> but that doesn't mean that NULL can't be all-bits-zero because normally you want NULL to be non-dereferenceable, so it's OK if it doesn't have a valid representation for a pointer
19:16:04 <korvo> The entire belief that pointers are rows of bits is a quirk of Von Neumann machines. It's not a coincidence that this assumption fails precisely in Harvard arches like CHERI or WASM.
19:16:20 <ais523> I have been thinking a lot about this today in particualr
19:16:39 <ais523> I was thinking about the difference between shadow-capability models and tracing-capability models
19:16:51 <APic> Good Night!
19:17:24 <korvo> It's akin to the belief that I've been quietly grapping with in Vixen, that a directory path is a bytestring, a UTF-8 string, or a list of path segments; but on a modern Unix, a directory path can be a file descriptor! Folks' difficulty in accepting this is why Capsicum was never merged to Linux.
19:17:28 <korvo> APic: Peace.
19:17:37 <ais523> (the former is systems like Fil-C and CHERI where the thing that makes the pointer a pointer is stored in a parallel set of memory somehow; the latter uses the equivalent of "GC roots" (although there needn't actually be a GC) and a state machine to know what a pointer is, sort of like a tracing GC but without the actual GC)
19:18:16 <ais523> korvo: file descriptors are clearly the best way to represent directories – but it's fairly easy to go back and forth between the two representations in modern Linux
19:18:23 <ais523> you can just write /proc/self/fd/10 or whatever
19:18:40 <korvo> As opposed to e.g. Cello, I suppose? In Cello, a fat pointer is represented as a pair of pointers, and the GC interop is achieved by requiring all fat pointers to be *allocated* by libcello.
19:18:47 <ais523> (I think there's even an abbreviation /dev/fd/10)
19:19:30 <korvo> ais523: In many BSDs, there's a flag O_BENEATH or O_OPEN_BENEATH that allows open() on a directory to return a *restricted* descriptor. Doing an openat() or similar on this descriptor will fail if the path is not relative, or if it contains segments like "..".
19:19:40 <ais523> korvo: Linux too
19:20:03 <ais523> the RESOLVE_BENEATH option to openat2(2)
19:20:19 <korvo> ais523: Kind of? The flag only works for a completely separate version of the syscall, called something like open2(), and it's not bound in glibc. So actually doing it on Linux requires a syscall().
19:20:19 <ais523> oh, no, it's an option to a different syscall
19:20:30 <ais523> the BSD approach does it when opening the directory, Linux does it when opening the file
19:20:50 <ais523> you could still use seccomp or the like to force the flag to be given
19:20:54 <korvo> Yeah. Gotta paper over that. There's a Rust crate, and it's part of the std::cap capability-friendly stdlib.
19:21:36 <ais523> (I think it is correct to do this as defence in depth when using an object-capability model – having the kernel block things that don't use capabilities properly is nice even if your type system also does that)
19:21:59 <korvo> This doesn't sound like a fun time though. I'd have to somehow show that Vixen objects can't allow user code to handle raw paths? Or perhaps I'd have to show that user code can't invoke certain syscalls? Either way it's daunting.
19:22:22 <korvo> (Yes! See also pledge() and unveil() on some BSDs.)
19:22:30 <ais523> both Linux and OpenBSD (and maybe some of the other BSDs too?) have a way for a process to prevent itself from ever using certain syscalls
19:22:39 <ais523> seccomp on Linux, pledge on OpenBSD
19:22:58 <ais523> but the BSD version is easier to use, Linux's is very general but a bit difficult to use because of that
19:23:34 <korvo> Right. In capability theory, what we really seek is a system that has safe *loading* of untrusted user code; if the user can't ever instantiate a malicious object, then they can't possibly violate any security property.
19:23:48 <ais523> also, if you use seccomp you can't subsequently exec setuid binaries (basically because if they could use the syscalls themself that would be a hole in the sandbox, and if they couldn't they might malfunction due to some of their syscalls not working)
19:24:12 <korvo> And so Vixen's going to have to do the same thing that many cap systems do, where there's two kinds of pointers. There's low-level references that are unsafe, but the user can't touch; and high-level references that are safe and obey the cap rules.
19:25:02 <ais523> I think the correct way to do loading of untrusted code is "it comes with a proof that it doesn't violate any of the capability rules and you verify it on load" (where the proof is ideally just types in an appropriate type system)
19:26:02 <korvo> In E, low-level refs are Java refs and high-level refs are fat pointers of safe code and a closure to more refs. In Monte, low-level refs are RPython object refs and high-level refs are fat pointers again. But this pattern can't work for Vixen because a fat pointer containing a path still lets the user read the path; this is a problem in Nix too.
19:26:30 <ais523> oh right, I also had a terminology problem
19:26:44 <ais523> the thing that proves you have access to, e.g., a filesystem resource is called a "capability"
19:26:57 <ais523> the thing that makes a piece of memory into a pointer and lets you dereference through it is also called a "capability"
19:27:19 <korvo> Yeah, probably. In practice, we start by requiring the code itself to be highly restricted, usually equivalent to a simply-typed lambda calculus; cap safety is free there. Then we ensure that the loaded code only has access to *tamed* resources, which have been structured to preserve caps. And we have to take away stuff like timers that seem harmless.
19:27:27 <ais523> this is OK as long as you're only dealing with one of those at a time, but trying to think about both at once is confusing and I've been looking for a clear way to distinguish
19:27:56 <ais523> (they are clearly connected concepts, but a little different in nature and in most cases substantially different in implementation)
19:28:04 <korvo> As Arlo Guthrie put it, "Officer Obie wanted to make sure that we wouldn't hurt ourselves in the jail cell. So Obie took away our belts so we couldn't hang ourselves, and our shirts so we couldn't strangle ourselves, and even the toilet seat so we couldn't hit ourselves over the head with it."
19:28:19 <ais523> some real-life prisons actually do do that sort of thing
19:28:40 <korvo> Right. The capability is the *reference* and the resource itself is an object/actor/machine/etc.
19:29:25 <ais523> I guess it helps if your file descriptors are Windows/WASM-style opaque-numbers-that-look-a-lot-like-pointers rather than POSIX's consecutive integers
19:30:00 <korvo> Yeah, we usually require a capability representation to be *unguessable*, which is a truly bad word but better than "very-hard-to-guess-able".
19:30:03 <ais523> because then you can make them not collide with actual real pointers you can store through
19:30:22 <ais523> korvo: oh, I'm surprised, I thought you would use the type system to make them unforgeable
19:30:43 <korvo> This is actually kind of nice for Vixen though, because we can say that the calling convention includes a *row* of FDs, starting with the standard three and optionally adding more. Just like how we can pass additional argv by appending them to the end, we can pass additional FDs in a little stack.
19:31:36 <ais523> (I believe that, given the number of speculative execution vulnerabilities that have been discovered and the rate at which they are still being discovered, there are almost certainly a large number of such vulnerabilities that aren't publicly known, some of which may be known to adversaries – and as such, with today's processors, unguessability is probably unwise to rely on)
19:31:38 <korvo> ais523: Some languages do that. Pony's a good example. It's got like six different kinds of modifier for pointers, and the type system strongly restricts how pointers can be casted. They ended up incorporating a fair amount of Rust's thinking IIRC.
19:32:16 <korvo> Wyvern's another decent example. They have dependency injection for global concepts; if you want to write an HTTP handler but not an HTTP server, you can write just the handler and the type system will wire it up for you.
19:32:20 <ais523> Rust is a mix of things that are only incidentally there and could easily be different, and some fundamental insights about programming
19:32:40 <ais523> "exclusive references are useful" is one of the fundamental insights, I think
19:33:02 <ais523> I realised that today, because I was thinking about casts between pointer-to-pointer and pointer-to-integer
19:33:04 <korvo> (I don't know why most cap languages are named after animals. The pattern has never stopped, though; E was originally Joe-E, both a coffee and "joey" pun. Monte is homophonic with Lojban {manti}, "ant".)
19:33:38 <ais523> in almost all memory-safe language, these either can't be allowed (for semantic reasons) or are permitted but don't actually work correctly
19:34:20 <ais523> whereas in Rust, the cast is safe as long as you have an exclusive reference, and write through it before reading through it
19:34:34 <ais523> and I was trying to work out where the difference was – it's purely the exclusive reference that makes it work
19:34:39 <korvo> Or they do something silly. In cap theory, a *c-table* or *cap table* holds pointers for users, since users can't be trusted to do bad things. Instead, the user gets a reference into the c-table. Examples range from the kernel's row of per-process FDs to ECMAScript's WeakMap.
19:35:19 <ais523> that reminds me of WebAssembly's function table, which I think is similar but not quite the ame
19:35:21 <ais523> *same
19:35:39 <ais523> (WebAssembly doesn't really have function pointers, but you can use indexes into the function table as a substittue)
19:36:06 <korvo> Further, a *powerbox* is a set of pre-delegated powers that are already packed into a c-table. We usually assume that the user has to *know* the keys for a powerbox before it will do anything for them; keys are unguessable in WASM or Nix, or unforgeable in ECMAScript's WeakMap.
19:37:02 <korvo> And yeah, WASM starts each module with a powerbox of imports and other stuff. The runtimes like wasmtime include tamed POSIX syscalls in the powerbox. I think that the fullest example of all of this was CloudABI, an also-ran for Capsicum that I think is now defunct.
19:37:39 <zzo38> A variant would be to store a generation number with each reference into the table as well; Free Hero Mesh does this (although this is an internal representation and not exposed to user code, which only sees references to objects without knowing their internal representation). (Free Hero Mesh also uses 0 for null pointers, even though non-null pointers are distinguished from integers.)
19:38:14 <ais523> one of the things I want to do is write my own interact-with-the-OS library, sort-of like the OS-interaction parts of libc, but with a very different interface
19:39:04 <zzo38> What kind of different interface?
19:39:14 <ais523> it would be designed to be compatible with object-capabilities but I would want to make other changes too (e.g. supplying a solution to the heterogenous select problem, and being compatible with asynchronous interfaces)
19:39:44 <ais523> like, you could start a write and two reads and then select on any of those completing, or signals arriving, or timers expiring, or a directory being changed, or anything else of that nature
19:40:38 <zzo38> I had thought of that, although in the context of redesigning the entire operating system and computer rather than working with existing systems.
19:40:56 <ais523> this interface is compatible with old-fashioned POSIX (not async, you use pselect and maybe threads if you have to), with nonblocking IO, with async IO, and with io_uring
19:41:39 <ais523> but it would be so much more sensible than what we have at the moment, where system calls are able to block on random subsets of things and there isn't a clean, simple way to just block on any set of things
19:42:14 <zzo38> All of the things you mentioned would be implemented using the same system call (and there is no distinction between timers, directories, files, etc; signals might be distinct if necessary but the others would just be capabilities with the same system call interface as any other)
19:42:29 <ais523> (Linux has been moving towards a model of being able to convert arbitrary things you want to wait on into fds, and using epoll to block on them all at once ? but it doesn't quite work for everything, e.g. they couldn't make futexes work with it even though they tried)
19:43:10 <ais523> oh no, somehow my client's encoding has changed away from UTF-8 and I have no idea where the setting is to change it back
19:44:16 <ais523> testing – áéàè
19:44:20 <ais523> that's better
19:44:48 <int-e>
19:49:24 -!- pool has quit (Read error: Connection reset by peer).
19:49:35 <korvo> There was a quite interesting thread on that topic recently on Lobsters: https://lobste.rs/s/ko5i9y/if_you_could_redesign_linux_userland_from It turns out that there's a very real distinction between changes that are willing to negotiate syscalls and changes that take the syscalls as they are.
19:50:14 <korvo> zzo38: Have you looked at seL4? I regret not actually putting time into it, but it seems like they got all of the capabilities done right.
19:51:30 -!- pool has joined.
20:01:06 <ais523> korvo: I think it's OK to leave the kernel's system calls as they are, but there should be an API layer in between them and userspace that enforces sensible usage
20:05:26 <zzo38> I have seen seL4 and my ideas have some similarities but also differences
20:12:38 <ais523> korvo: your link reminds me of another thing I wanted to do: having command-line arguments grant capabilities
20:12:46 -!- tromp has joined.
20:13:01 <ais523> i.e. a program can't naturally read files, but can if you specify them as command-line arguments (this would need some rules for when a command-line argument was a file and when it wasn't)
20:13:36 <ais523> the nice thing is that I think you can do that in a way that's mostly compatible with programs that don't understand the convention
20:15:21 <ais523> (the hard part is allowing programs to read the dependencies they depend on, although I think that's regular enough to be special-caseable)
20:20:25 <korvo> ais523: The trick is to understand that a string can still grant an unguessable capability, as long as it's in some hyperbolically-large (and thus exponentially expensive to search) space. Doesn't work for Realtalk/Dynamicland books, which are in Euclidean space; but it *does* work for URLs. There's a W3C about this: https://www.w3.org/TR/capability-urls/
20:21:05 <ais523> korvo: oh, I was thinking in terms of user interface as used by humans, rather than in terms of program-program communication
20:21:36 <ais523> you don't need to use unguessable strings when you can just say /dev/fd/10 or whatever (which is guessable, but won't work if the capability hasn't been given)
20:23:19 <korvo> It's too bad that we can't name capabilities easily when we pass them. I was thinking about using envp; there'd be an envvar like MY_CAP=42 and a passed FD 42. But that feels like too much of a hack for some reason, even though envp's part of the process calling convention.
20:24:38 <korvo> No wonder that big message-passing actor systems (gRPC at Google, Workers at Cloudflare) use some sort of extremely restricted flat-buffer format (PBs, Capn Proto). Slightly less of a wonder that Capn Proto explicitly has a "capability" type which is just for opaque pointers but comes with calling-convention rules for networked usage.
20:24:50 <ais523> a related idea I've had for a while is that of a "typed main()" where the entry point to a program gets to choose its own arguments and types for them, rather than being a list of strings
20:25:09 <ais523> and this would include the capabilities that it needs
20:25:31 <ais523> then there would be some automated way to translate this into a command-line argument parser so that humans could use it
20:25:59 <korvo> Wyvern does that although I don't remember the syntax. Monte did it in a way that was optimized for human auditing; just read the main() directly: https://github.com/MostAwesomeDude/airbrus/blob/master/airbrus.mt#L102-L107
20:26:27 <korvo> (This is an IRC bot but the principles are fully general. I also did some TUI widgets, distributed raytracing, HTTP, etc.)
20:27:12 <ais523> korvo: ooh, so I wasn't the first person to have that idea, that makes me more confident that it's a good one
20:28:24 <korvo> ais523: In the Bun runtime, which is like an ECMAScript dialect, there's CLI switches to disable various caps, so that if main() asks for a disabled cap then it'll immediately crash. pledge() in argv, basically. I want to say that wasmtime has that sort of thing, too, but I'm not sure.
20:29:11 <korvo> It's a really cool fusion of ideas. The cap says what you *can* do, but the constraint/context says what you *can't* do, and the runtime never lets the cap violate the constraint.
20:29:11 <ais523> korvo: right, that's equivalent to just not passing the argument in
20:29:30 <ais523> and in most programs that gives you a usage error
20:30:04 <korvo> Oh! Fil-C does this too. People have been talking about data racing and ragged/torn pointer accesses. The upshot is that Fil-C's fat pointers basically are cap/context pairs, with the cap being a plain pointer, and the language's safety is relative to the context rather than the caps.
20:30:37 <korvo> ais523: Exactly! Monte literally raises the *same* key-not-found error that it would raise for an ordinary map lookup. I think it *is* an ordinary map TBH.
20:31:28 <ais523> korvo: your terminology here contradicts the standard, most people call the shadow part the capability (the part in main memory is called an integer part or an address)
20:31:52 <ais523> but right, it's the same concept
20:35:14 <korvo> Yeah, I think that it's a consequence of being on the other side of memory-safe-by-default. It's possible in Python to sandbox an imported module s.t. it won't corrupt memory, but all of the issues of improper access are still there, and Python can't be sandboxed in general without removing most of the object model.
20:39:39 <korvo> In the E framing, a fat pointer's got a "script", which is like all of the compiled methods, and a "closure", which is just a list of caps. These are both machine pointers, and improper access is prevented wholly by the script being safely-loaded code. So to even have access to an E system is to be limited by these safety rules and never mishandle a pointer.
20:40:21 <korvo> In the CHERI framing, though, the code can literally have any sequence of bytes and instruct the machine to do anything whatsoever. So of course the cap and the pointer are distinct, because the instructions are about pointers and not caps.
20:41:21 <korvo> I've always said that Nix is what we call a *transitional* cap-aware system. It can, when restricted to a certain view, be cap-safe; but really that depends on a discipline where we never look under the hood at the actual path. Vixen would be like this too. But also so is Apache when it's got a webroot; path traversal is generally not okay.
20:41:44 <ais523> so I think there are two main distinctions here: a) shadow capabilities versus tracing capabilities, b) pointers being one machine word versus two machine words
20:41:56 <korvo> So maybe there's a sense of *path-safety* that we haven't quite figured out, s.t. cap-safety implies path-safety but not vice versa.
20:42:09 <ais523> korvo: this is the same problem as SQL injection I think
20:42:35 <ais523> it is certainly possible to have sound programs that use string concatenation to substitute into their SQL, they just have to be super-careful to escape properly
20:42:38 <ais523> that's what Apache is doing with paths
20:43:03 <korvo> Isn't SQL injection about quoting? The problem here is that somebody could guess that a Nix store has a particular (common version of a) package and does a Living Off The Land setup.
20:43:11 <ais523> but using parametrized queries is better, because then there's no chance that you forget to escape something and input gets interpreted as code
20:43:39 <ais523> korvo: yes, but Apache is similar – I think it works by parsing the path to look for suspicious combinations of ../ and the like
20:43:52 <ais523> which isn't quite the same problem as quoting but it has essentially the same solution
20:43:58 <korvo> The biological model I've been thinking of is not viruses or bacteria but *obelisks*, very recently discovered RNA-world fragments. It's possible and common for a script in the Nix store to just wrap another script, setting the environment and etc.
20:44:52 <korvo> ais523: Yeah. We could analogize that to a form of memory-safety where it's possible to canonicalize a pointer, and relative paths are like segmented/etc. pointers. So path traversal is like pointer forgery.
20:45:09 <ais523> right
20:45:30 <ais523> the distinction is between an environment where capabilities *can't* be forged, and an environment where capabilities *aren't* forged
20:45:37 <ais523> (they could be, just the code chooses not to do it)
20:46:01 <ais523> you can make the latter into the former with a sufficiently powerful static analyser
20:46:24 <korvo> Oh no. I hate this distinction. This is one of those things that I don't like at all. In Lojban, we call it {poi} vs {noi}; when is something logically constrained/restricted from occurring, vs. just coincidentally happening to never occur?
20:47:04 <korvo> I don't like this because AFAICT there's no *logical* basis for telling these two environments apart. This has kept me up at night.
20:47:28 <ais523> …and I've just realised that we've spent like 30 out of the last 40 years of programming trying to make the latter better rather than concentrating on the former, and that makes me sad too
20:48:00 <korvo> I get what you're saying. We're talking about environments that are safe because they were correctly programmed, not because they were proven correct with a construction.
20:48:18 <ais523> I think Chinese has this distinction too, there are 4 or 5 words for "not" and one of the distinctions made is this one
20:49:31 -!- pool has quit (Read error: Connection reset by peer).
20:51:35 -!- pool has joined.
20:52:51 <ais523> and yes, this is about partial proofs I think – it is easier to prove that a program obeys certain rules than to prove it entirely correct (especially as the latter needs to you have a spec, and somehow be confident that the spec is correct)
20:53:27 <ais523> a program can be programmed, by a sufficiently skilled programmer (which may not exist in practice), to obey the rules even if nothing is enforcing them
20:54:04 <ais523> but it is better to have something that enforces the rules, ideally at compile time or even better library-check time, although runtime is better than nothing
20:54:11 <korvo> ais523: Okay, so now I'm thinking about what a CHERI/Fil-C model for paths would look like. Absolute path access would have to be banned, I think. openat() and friends would work for passing around relative path fragments. Some sort of path importer might make sense; I think Fil-C has something like this, where an untrusted pointer (absolute path) can be runtime-checked (path-parsed) in the context of an existing cap (path prefix) to cast it
20:54:25 <korvo> to a safe pointer (relative path + prefix).
20:55:31 <ais523> so Fil-C's basic primitives are the same as the ones that Rust provides, and a subset of CHERI's (CHERI has a capability narrowing primitive, Fil-C doesn't meaning that it can't catch allocation-internal buffer overflows, Rust currently sort-of does but only by accident and there are plans to remove it)
20:56:04 <korvo> To prevent a program from trying to repeatedly reinterpret a path against multiple different caps, I think that a failed cast would mean exit(). This is basically what we do in Python or Apache against path traversal.
20:56:28 <ais523> that reminds me, I meant to argue that Rust would benefit from a capability narrower even though the only thing it would do in present rust is to add undefined behaviour, because that allows sanitisers to take advantage of the undefined behaviour to catch internal buffer overflows
20:57:23 <ais523> korvo: well, the brute-force approach only works against probabilistic defences – I prefer determinstic defences for other reasons, but they'd also help in that situation
20:57:36 <ais523> the issue with trying to block brute force with forced exits is that there are so many potential loopholes
20:57:54 <ais523> like restarting the process, or spinning off daemons to do the brute-forcing, or the like
20:58:17 <ais523> (and you might not want to take down the whole process if it's, e.g., a web server process that serves tens of thousands of concurrent users)
20:58:28 <korvo> Monte doesn't have narrowing, but Monte has E-style auditing and transparent forwarding, so has other ways to attenuate caps. Vixen ought to have narrowing; I'm thinking of cribbing from zope.interface, which allows dynamic casting to an interface which can hide unrelated methods.
20:58:56 <ais523> I think OpenBSD has some sort of rule along the lines of "if a setuid process hits a runtime security check, its effective user can't run setuid programs for 15 minutes" as an anti-brute-forcing measure
20:59:20 <korvo> Well, just like with pledge(), we want violations to exit() because they signify that a contract has gone horribly wrong. I'm mostly thinking of Windows programmers who will search fifteen different locations for DLLs.
20:59:38 <korvo> Oh wow, TIL. That is hilarious.
21:01:40 <zzo38> My system does not have "command-line arguments" (it has an "initial message" which is similar, though). The initial message is not text, and can include capabilities; you do not need to use text to grant capabilities, but instead can pass them directly.
21:02:23 <korvo> ais523: Oh, I suppose E-style auditing is relevant. In E and Monte, and also OSs like KeyKOS and Genode, it's possible for one object to certify another object as having some structural property. This means that there's an auditing protocol which allows objects to consensually inspect each other.
21:02:57 <ais523> zzo38: what is the interface for humans to start programs like?
21:03:26 <ais523> korvo: now you've got me thinking about internal vs. external debuggers
21:03:46 <korvo> KeyKOS has the most interesting one to me. A running "tenant" process can have an "apartment". If the "super" (superintendent? supervisor?) wants to inspect it, then the tenant receives a signal and gets some time to put their apartment in order before the inspection. They also have some limited rights during the inspection!
21:03:48 <ais523> i.e. debuggers that try to work inside the capability system, versus debuggers that think in terms of VM internals and can just ignore capabilities
21:04:25 <ais523> korvo: I'd be interested to know what the applications for that are
21:04:36 <zzo38> Multiple interfaces are possible, but the main one would be CAQL (Command, Automation, and Query Language). One part of the program file specifies the expected type of the initial message, so that the CAQL can do the necessary type checking and conversion as appropriate into the byte/capability sequence.
21:05:15 <korvo> zzo38: Same idea in boot-to-Monte scripts that we never shared publically. Instead of starting a Monte REPL, start a Monte module; load the module into memory, start the JIT, and invoke the module's .run() method with argv, envp, all the usual goodies.
21:05:55 <zzo38> You could type an expression which evaluates to the appropriate capabilities and functions and files, or can copy them from other windows (using the mouse or using key combinations involving the [System] key or both), or a combination of these.
21:06:12 <ais523> zzo38: OK, that's a bit different from what I was expecting but it does make sense
21:06:25 <ais523> Microsoft have Powershell as a similar sort of interface
21:07:05 <korvo> ais523: KeyKOS was very early on, and just like early cap machines (Burroughs S500 or whatever it was called?) there were a lot of skeuomorphisms that didn't make sense to carry forward. Back then, memory spaces were more uniform; the extreme of this was IBM's mainframe (390?) that structured *everything* as a relational database.
21:07:26 <ais523> my plans were more along the lines of "when you install a program you specify capabilities that you are willing to grant it every time you run it, if you have them yourself" and then for any capabilities you don't grant it (but it needs) you have to specify them manually
21:08:02 <ais523> and also to make the manual specification as easy as possible, e.g. an "open file" dialog box would allow you to both choose the file and grant the program permission to access it (as you would always want to do both together it would be combined into a single button, with an icon showing that you were granting a capability)
21:08:08 <korvo> ...Sorry, that was an unhelpful history answer. Apartments make sense when you're running untrusted code. Think about how a modern cloud VM works; it has a similar inspection mechanism, usually delegated to the person renting the machine but also usable by the datacenter ops.
21:08:43 <ais523> korvo: my cloud VM's equivalent of that is the serial console, but maybe it's old-fashioned
21:08:46 <korvo> Actually I suppose it has *two* layers! A cloud *machine* in the rack is like an apartment, and the *VM* on the machine is also like an apartment. They have the same super/tenant relationship.
21:08:51 <zzo38> You would be able to do that with my system too, and the package manager would probably include that function; e.g. you could create your own function that calls it with the appropriate capabilities, if the file that defines the alias contains those capabilities to be granted.
21:08:59 <ais523> (I assume the serial port is also virtualised)
21:09:45 <korvo> ais523: A little. When I was working in a datacenter, we still had the idea of "pulling disks" on the hardware. We were just getting started with big VMs, we were doing Ganeti and Vagrant, and we didn't see the point of VMs. It was bare metal for customers all day.
21:09:56 <ais523> korvo: it took a very long time for the world to settle on the current "flat memory model with an MMU enforcing permissions" design for CPUs
21:10:03 <ais523> and although it is consensus, I also think it's wrong
21:10:25 <korvo> But even then, if we needed to go pull a machine from a rack, we'd first ping the owner on IRC to make sure that they were cool, give them some time to settle daemons and park disks and even $(shutdown), and *then* pull the machine for screwdriver time.
21:10:41 <ais523> I think VMs only started making sense fairly recently
21:11:01 <ais523> because the bottlenecks have changed over time
21:11:33 <korvo> As Fred Durst memorably said, "It's all about the para-virt hyper-virt cloud shift".
21:11:40 <ais523> a little over a decade ago, I was teaching a course in operating systems development (which was mostly writing Linux kernel modules)
21:11:59 <ais523> we tested the students' programs on bare metal and reimaged the computers afterwards
21:12:44 <korvo> Lore is that Google was first to containers, figuring them about about a decade ahead of everybody else. (I'm allowed to share this.) Lore is that from 1998-2008 Google believed containers were a trade-secret competitive advantage.
21:12:47 <ais523> I'm not sure what decision caused that policy, rather than using virtualisation
21:13:03 <ais523> (I wasn't involved in it, there was probably a good reason but I don't know what it was)
21:13:42 <korvo> IIRC there's a paper from like 1988, 1989, that has an explicit proof that a CPU only supports safe paravirt/hypervirt when its ISA's instructions cleanly decompose into one of several safe possibilities. I don't recall the authors or title but it's pretty influential in CPU design.
21:14:04 <ais523> it's kind-of shocking how much containers are like VMs in practice despite being almost entirely unrelated technologies implementation-wise
21:14:42 <korvo> So lore is that during the 90s Intel slowly adopted the lessons from this paper and then Google implemented containers basically as soon as the ISAs could safely do it. Whether this is true or not, TBH sounds kind of extraordinary to me. But it *does* have good historical support.
21:15:26 <ais523> I think of containers as more needing kernel support than hardware support
21:15:48 <ais523> like, the only thing you really need from the hardware is a decent MMU, and maybe the ability to trap on a few problematic instructions
21:16:00 <korvo> ais523: TBH it might just have been standard Linux practices. I did bare-metal for Linux driver development and VMs were never in the discussion. For GPUs, VMs were mostly involved because VMWare wanted to do GPU passthrough, and they had their own internal folks writing the VM drivers.
21:16:07 <ais523> virtual machines need a bit more, but still not that much
21:16:29 <ais523> korvo: now I'm wondering whether it was to make life easier for the students
21:16:44 <ais523> so that they wouldn't have to worry about whether they were inside or outside the VM
21:17:15 <korvo> It certainly wasn't to make life easier for the TAs, sounds like.
21:17:32 <ais523> oh no, it was actually pretty easy for me, especially as I didn't have to do the reimaging myself
21:18:15 <ais523> and I was already used to walking around computer labs, there are loads of reasons a computer science TA has to do that
21:19:19 <korvo> Datacenter theory on the ground definitely hasn't caught up with economics of the cloud. I remember a boss whose main standard for whether a machine was being used well was whether the CPUs were pegged; we had a two-wrongs-are-right situation where he thought that a Python script was efficient because it pegged multiple cores.
21:20:01 <korvo> But the cloud wants us to think of compute as a time-based unit that comes in discrete parcels and which we generally want to minimize. Totally different paradigm.
21:20:04 <ais523> this is a direction-of-implication fallacy, right?
21:20:18 <ais523> an ideally efficient program would be both CPU-bound and I/O-bound at the same time and thus would be pegging all the CPUs
21:20:36 <ais523> but, just because a program is pegging the CPUs that doesn't guarantee that it's efficient
21:20:54 <korvo> Ha, for sure. I think that for them it was even simpler than that: they paid for the machine and therefore they are gonna *use* that machine.
21:21:26 <korvo> Especially when the university pays the power bill, in that situation.
21:21:45 <ais523> I still remember being depressed by looking at a big compile with proprietary software and seeing that all four of the computer's cores were at 25%
21:22:05 <ais523> like it was trying to spread the workload among cores but wasn't very good at it
21:23:38 <zzo38> seL4 has separate system calls for send, receive, wait. etc. My idea is that send, receive, wait, yield, locking, and transactions, are all the same system call, which can do all of these things at once. (There might be a small number of other system calls, although there also might not be needed; it is not sure yet.)
21:24:21 <zzo38> (This way, you can avoid some problems with needing to wait or send or receive each before the other that the order cannot be resolved, by instead specifying all of them simultaneously.)
21:24:49 <korvo> zzo38: Yeah. I wonder what io_uring might look like for seL4. The kernel could have a sort of return-to-uring semantics that looks like a little bytecode interpreter, repeatedly dispatching messages without actually letting user code run.
21:32:59 <b_jonas> “<ais523> a ‘typed main()’ where the entry point to a program gets to choose its own arguments” => what the, did zzo38 infect you somehow?
21:33:23 <ais523> b_jonas: I came up with this on my own! although I'm not so surprised that zzo38 feels the same way
21:33:37 <b_jonas> not just for that line but the rest of what you said about operating system interface design I mean
21:34:06 <ais523> last time this topic of conversation came up I was surprised how much everyone in the channel was agreeing with each other
21:36:04 <zzo38> Note that if a program expects a capability of a specified type, it is also possible to specify any capability with the same interface. (You can also specify the low-level representation directly, but in that case the program is unlikely to work if it is incorrect, and might even crash immediately (although this will not cause the rest of the system to crash).)
21:40:23 <korvo> ais523: Well, we're all from the same Unix-y tribe here: syscalls are good, files are decent but not universal, processes are a reasonable unit of work for most purposes. If anybody from the Inferno/plan9 tribe were here, they might say that we're completely wrong.
21:40:34 <korvo> Well, maybe they'd have interesting things to say about paths even in that case, actually!
21:40:59 <ais523> korvo: I care somewhat about progressively upgrading existing systems
21:41:18 <ais523> I'd love to be able to replace the whole thing at once, but realistically I am not going to be able to write all that code at once and nobody would adopt it
21:41:27 <ais523> so, whatever I come up with, it has to be able to mix with what we already have
21:42:02 <ais523> and processes make a good abstraction boundary for doing that, because the existing software already understands and respects them
21:42:52 <korvo> Yeah. That's basically why I stopped working on Monte. The E approach is too totalizing. It makes sense if you've heard of Toontalk or seen any of the virtual worlds that Disney has built; E was born from a hope that a single cap language would be the way that everybody negotiates smart contracts in the metaverse.
21:43:01 <zzo38> My own idea does not have file names and directory structures (although there are files), and reduces the number of syscalls, so there are these significant differences from UNIX. There are also differences with the user programs, such as it does not use Unicode, and the l10n and i18n is entirely different from existing systems, and the window management is different, etc.
21:43:46 <ais523> likewise, whether or not files are a good abstraction, they're what we have and you need to be able to understand them to interoperate
21:43:46 <zzo38> And then, there would also be the hardware differences, such as tagged memory, a different keyboard than PC and Mac, a dedicated keyboard port (not using USB), connecting the mouse through the keyboard, etc.
21:44:05 <b_jonas> “OpenBSD has some sort of rule along the lines of ‘if a setuid process hits a runtime security check, its effective user can't run setuid programs for 15 minutes’” => am I the only one who thinks that set?id programs are a historical thing that we should phase out and eventually start to forbid in our file system settings or kernel settings or something because they're a bad idea, and we should
21:44:07 <zzo38> Implementation within other systems may be possible by the use of emulation, though.
21:44:11 <b_jonas> replace it by the user sending a request to a process that's already running with the desired effective user, because an execed set?id program inherits all sorts of process state from its execer and it's hard to sanitize all of them?
21:45:03 <ais523> b_jonas: I don't think so
21:45:26 <ais523> I have something of a pathological and irrational hatred of constantly-running daemons, though, so I'm biased
21:45:27 <korvo> b_jonas: Yes. s6 enables this sort of thing. In particular, there's a Nix distro called "sixos" that has just one setuid binary, doas.
21:45:30 <zzo38> b_jonas: I think that setuid is not the best idea but you would have to change the rest of the system too. Existing systems don't help much because it is still POSIX
21:45:44 <ais523> (I find it hard to justify this and it may have been one of the things that indirectly caused the NH4 devteam to break up)
21:46:31 <b_jonas> if you want to pass capabilities to the set?id programs, we now have a way to pass them to unrelated processes through a unix domain socket, which is much more precise then just having them inherit *every* obscure state that a process has in the operating system
21:46:56 <korvo> ais523: Using the Smalltix convention, so that a long-running process is the stack frame for a long-running method activation, perhaps you'd be interested in E's "no stale stack frames" rule. It has other names, but that one stuck because it's so descriptive.
21:47:21 <zzo38> Yes, a unix domain socket is better, although some things are difficult due to the existing working of the system, which does not handle user permissions in that way.
21:47:54 <korvo> E doesn't allow stack frames to be suspended. It doesn't have any way to generate a coroutine or iterator; users have to explicitly close over an iterator's state. So a stack frame can never be "stale"; it can never be in a state besides "active" or "about to be reaped".
21:49:48 <b_jonas> “virtual machines need a bit more, but still not that much” => not that much in theory, but they need nested paging which is a performance nightmare for processors to implement I think
21:50:04 <korvo> The obvious analogue is uninterruptible sleep, but maybe there's a more general concept of "no stale long-running processes" where a daemon has to be *doing* something in order to be resident. s6 has ways of parking FDs, and there's ye olde ipcd on basically any supervisor.
21:51:14 <b_jonas> “the cloud wants us to think of compute as a time-based unit that comes in discrete parcels and which we generally want to minimize.” => yes, but only if by compute you mean mostly RAM allocated times time, because that seems the most expensive part in practice, more so than CPU use
21:52:56 <korvo> b_jonas: No, I mean CPU. When a cloud orchestrator like k8s "allocates" a container, it's allocating CPU time on the scheduler. k8s promises to only use a certain amount of compute per node, but it really is allocated. RAM is also allocated this way, but it's a distinct resource.
21:54:45 <korvo> Oh, I see what you're saying. Yeah, the most expensive resource has depended on market phenomena. Bandwidth is always expensive. Disks were expensive for a while after that one tsunami on Thailand. GPUs and SSDs were both expensive when they were first rolled out.
21:55:19 <b_jonas> ais523: they don't have to be constantly running demon*s*, this is the case where systemd or something like a traditional inetd or webserver is useful, you have one program running as root that users can configure to be able to invoke any demon, and that top-level program is in a clean process state
21:55:22 <ais523> korvo: to me, "no stale stack frames" is kind-of the default because I don't have a lot of experience with langauges that do let you suspend them
21:55:38 <ais523> b_jonas: ooh, I see, a sort of local inetd
21:56:13 <korvo> Trying to remember what you usually work with. Go, maybe? Anything with "segmented", "suspendable", or "copyable" stacks is suspect.
21:56:37 <ais523> korvo: initially C and Perl, more recently Rust but generally synchronous and single-threaded Rust
21:57:17 <korvo> And yeah, after doing so much Python and then learning E, I can't go back either. It's just...why would you call Somebody Else's Code, giving them *your* control of execution, and just *hoping* that it comes back to you?
21:57:37 <ais523> Rust does have generators internally but hasn't figured out the interface to them or all the safety aspects yet; it also has async/await which gives you suspendable things that are vaguely like stack frames, but they're compiled into state machines and don't actually use the stack
21:57:58 <ais523> and this has been quite controversial and doesn't really integrate into the language well
21:58:13 <ais523> it's there because people needed it and the theory behind it is probably really interesting but hasn't been worked out yet
21:58:15 <korvo> IIUC Rust async/await uses Pin under the hood? So it's not doing anything nasty. It's not any worse than lambdas.
21:58:59 <ais523> yes, it's just sugar for a state machine, the only magic is that it can contain pointers to itself (which isn't normally allowed in Rust) and Pin is needed to make that safe
21:59:45 <ais523> I realised fairly recently that this could be used as a way of defining the semantics of a self-referential Rust object, via representing it as a state machine with only one state
22:00:13 <korvo> Closing over *values* is fine and safe, closing over *control flow* is probably not okay. E continuations are delimited; when their associated frame is reaped, they go inactive. They're also single-shot, so that they can only interrupt Somebody Else's Code *once* and can't forcibly make Somebody Else's Stack Frame go stale.
22:00:44 <b_jonas> ok, then at least I have one weird operating system design belief
22:00:49 <ais523> so one of the big problems with Rust async is that the state machine is an object, which means you can drop it
22:00:55 <b_jonas> you all seem to have much more
22:01:26 <ais523> and this is similar to the stale stack frame problem but different in that it behaves more like an unwind than a leak
22:02:51 <korvo> b_jonas: I got radicalized by capability theorists. Honestly it's a miracle that I'm not doing blockchains.
22:03:48 <ais523> `addquote <b_jonas> ok, then at least I have one weird operating system design belief <b_jonas> you all seem to have much more
22:03:52 <HackEso> 1337) <b_jonas> ok, then at least I have one weird operating system design belief <b_jonas> you all seem to have much more
22:03:58 <ais523> oh wow, great quote number
22:04:23 <korvo> Monte has external iterators because internal iteration requires the user to trust Somebody Else's Collection.
22:05:01 <b_jonas> sorry, I don't mean it as an insult, on a channel about esoteric languages people *should* get all sorts of strange operating system design ideas
22:05:06 <ais523> I'm not convinced that "the best iterator interface" has been figured out yet
22:05:08 <ais523> b_jonas: I know you don't
22:05:12 <ais523> I thought it was an excellent summary
22:05:16 <ais523> and funny at the same time
22:05:38 <ais523> (out of interest, which weird belief is yours?)
22:06:06 <korvo> b_jonas: I appreciated it! I *know* most of my beliefs are not mainstream, but I don't always have a good measurement for *how* radical they are.
22:06:38 <b_jonas> the belief that unxi set?id programs are a bad idea because exec makes a process inherit too much state that is hard to sanitize
22:07:00 <ais523> b_jonas: ah yes
22:07:03 <ais523> I don't tihnk that's that weird
22:07:19 <korvo> Like, in 2017 in https://corbinsimpson.com/words/globe.html I wrote a paraphrase of the standard reply that I got from people who *understood* caps fully: "That sounds like a very interesting project. It sounds too elegant and experimental to see much use, though." and "Your ideas are interesting and maybe you could find a professor willing to take on you and your project."
22:07:30 <zzo38> If a new computer is designed to have too much compatibility with others then this can limit any of the newer benefits that are added (and can also have other problems such as sexurity issues in some cases), which is one reason to avoid it; emulation can be used (in either direction) for cases where more compatibility is desired.
22:07:58 <korvo> Now less than a decade later these ideas are so mainstream that they are getting into CPU design for the first time in decades. I don't feel like I shifted much since then!
22:08:59 <b_jonas> I remember unexpected bugs because some parent process execed a program with a signal blocked. Many programs that want to exec on unix already pre-fork, make the child do all the real work and have the parent do the fork-execs, because it's hard to make sure that the fork-execed don't accidentally inherit the wrong state. There are multiple libraries to help you in this.
22:09:02 <ais523> one thing I have realised is that an "is this a pointer?" bit is actually really useful – I am less convinced of the value of shadow capabilities though
22:09:23 <ais523> but the pointer bit makes GCs much simpler and probably more efficient too
22:10:07 <korvo> b_jonas: I think that your justification is a little weird, but consider that for distros the argument is more like "setuid is bad because it requires our installer to do extra steps" or "setuid is bad because our immutable distro is fundamentally incompatible with setuid semantics". At best it's like "setuid is bad because malware can Live Off The Land".
22:10:29 <korvo> So maybe your justification is too sane for distro development!
22:10:36 <ais523> b_jonas: OK, so I had a problem related to that – I was thinking about passing capabilities to child processes, and thinking of a model of "everything is opened CLOEXEC by default and we dup-as-non-CLOEXEC in the child after forkign"
22:10:55 <ais523> and then was trying to work out how to soundly combine this with vfork
22:11:25 <b_jonas> and this doesn't seem to be a mainstream belief, because unixes are starting to use sudo, which is specifically a wrapper to centralize part the hard work of sanitizing the inherited process environment for a set?id program. not all parts of course, some have to be done in libc, and you can't *really* sanitize everything, for the same reason as you can't have a webserver plugin or antivirus remove the
22:11:31 <b_jonas> "unsafe" parts of requests, and if you try you just get those silly things like when you can't type a less-than sign into a webforum because the plugin thinks it's an XSS attack
22:12:38 <ais523> b_jonas: "starting" is wrong, they're gradually moving away from sudo in favour of less ridiculous replacements
22:12:58 <ais523> from my point of view, like the only security benefit of sudo is having each user use a separate password to elevate to root
22:13:04 * korvo imagining: affine file descriptors
22:13:17 <ais523> (and needing to log in as a user first before becoming root)
22:13:29 <ais523> all its other features are just security snares, and some of them are ridiculous
22:13:48 <b_jonas> ais523: at least the part that everything is opened CLOEXEC by default and you explicitly fcntl them to non-CLOEXEC when needed is I think pretty normal. non-CLOEXEC is just the historical default that's hard to change.
22:13:57 <b_jonas> ais523: that's true, that is a good thing about sudo
22:14:05 <ais523> I think other people are noticing that too, there have been a spate of less featureful sudo replacements recently
22:14:51 <ais523> b_jonas: so the problem with dupping in the child is that dup returns a file descriptor, which under POSIX rules you can't actually store anywhere after calling vfork
22:16:13 <zzo38> I would hope that a collaborative document and discussion can be made for the system I intended to design, and then it can partially or fully be made (and the parts might be made indpendendently, or similar ideas on other systems (which can be similar enough to be interoperable with some parts)), either as emulation or as FPGA or as hardware (or a combination of these), etc.
22:16:20 <b_jonas> ais523: in theory posix_spawn is trying to solve this because a wrapper in libc can break that rule by using architecture-dependent magic,
22:16:29 <b_jonas> but I'm still not sure if I like posix_spawn or not
22:16:35 <ais523> b_jonas: that was my thought too
22:17:08 <ais523> then I realised a) the reason I was stuck on this in the first place was for writing a libc alternative, so I wouldn't be able to use posix_spawn anyway and b) posix_spawn is really confusing
22:17:28 <zzo38> (A combination would be to e.g. make the keyboard and connect to GPIO or using an adapter to USB (or MIDI or Ethernet or whatever else), and use an emulator on the computer for other parts of the system; the parts could then also be used independently with an alternative implementation.)
22:17:35 <ais523> interestingly, Rust's process creation API is basically a more Rust-idiomatic version of posix_spawn because it was hard to ensure safety otherwise
22:17:53 <b_jonas> um so? if you're writing a libc alternative you can add a posix_spawn alternative into it, can't you?
22:18:23 <ais523> b_jonas: yes but it doesn't solve the original problem of not really understanding what is and isn't safe under vfork
22:19:59 <b_jonas> yeah, vfork is hard
22:20:42 <ais523> at least on Linux vfork is fairly simple because it still does COW memory like regular fork does, it's just a change to the scheduling algorithm
22:21:01 <b_jonas> but I at least appreciate the elgance of posix_spawn that it can solve two problems with the same interface: one that vfork is hard to use, the other is that it can be a portable interface that works on both unix-like operating systems and systems that can't fork
22:21:34 <ais523> yes
22:21:56 <ais523> I like the idea of posix_spawn, it's just that C rather gets in the way
22:22:11 <ais523> the Rust version is quite nice to use just because the language makes that sort of API more reasonable
22:22:12 <b_jonas> it's just that I don't want to use this because the system I use that doesn't fork is Win32, and it's different from posix-like systems in many other ways than just not being able to fork, which is why I don't need this specific portability solution
22:22:51 <b_jonas> yeah, there's a python version too
22:23:18 <ais523> I did some amount of serious programming on DOS, which also doesn't fork
22:23:30 <ais523> but I'm not sure whether I tried to create processes there using any language other than bash
22:23:48 <ais523> …I have just realised that "ais523 is the sort of person who uses a DOS fork of bash" says a huge amount about me
22:23:55 <ais523> err, DOS port of bash
22:25:44 <b_jonas> I haven't used that, but I do have an old version of joe the text editor compiled for DOS which I found useful. I can even distribute its binary if anyone wants. my config file isn't very good so some of the bindings may need to be changed, but it does work me as a basic text editor that's not as bloated as most that I have access to on DOS are, which is why I inlcuded it in my one floppy sized DOS boot
22:25:50 <b_jonas> floppy
22:27:10 <ais523> I'm trying to remember whether I used Emacs on DOS
22:27:12 <ais523> I think I did?
22:28:29 <b_jonas> the visual editors that I mostly used in DOS are DOS's edit, which is in the same binary as QBASIC and so is somewhat big but was on an earlier version of that floppy; the editors in the GUI development environment for turbo pascal and borland C, which are bundled with a whole development environment with a full GUI interactive debugger in both source and assembly level; and ncedit which would work well
22:28:35 <b_jonas> on the boot floppy because it already has norton commander but it's not capable enough
22:29:08 <b_jonas> ais523: I don't know, but you did nethack on DOS so emacs on DOS doesn't sound too unbelievable
22:29:26 <zzo38> (Another way to provide some compatibility would be optional hardware modules, e.g. the processors (or FPGA) for MSX and other systems)
22:29:43 <ais523> b_jonas: oddly I'm not sure I ever played NetHack on DOS myself
22:29:56 <ais523> the TAS is doing it on the DOS version purely for emulation accuracy reaosns
22:30:05 <ais523> (I even submitted a patch to the emulator to get it to emulate NetHack correctly)
22:31:20 <b_jonas> exactly, that version is more canonical than having to pick from many unix version, and for a TAS you want a canonical version that behaves the same for everyone. canonical behavior is easier for games on old video consoles.
22:32:17 <b_jonas> and the technology for efficient accurate DOS emulation was already available back when you all started the TAS
22:32:54 <zzo38> Deterministic behaviour is also one of the things I intended for my computer design; proxy capabilities can be used for situations where the I/O would otherwise be non-deterministic, in order to force it to be deterministic.
22:33:30 <b_jonas> zzo38: deterministic behavior is harder in general than for just the nethack TAS
22:34:34 <zzo38> Yes, I know it is harder in general, which is why I thought to redesign the entire computer to support it
22:35:07 <b_jonas> but I think this isn't only about deterministic behavior, but *canonical* behavior, that is, it's deterministic and we want to show our sleeves empty so we didn't rig the behavior in a way that unfairly helps our TAS
22:35:59 <zzo38> OK, that is also valid, and I think that proxy capabilities might be helpful for that too.
22:36:48 <b_jonas> because I can specify deterministic behavior with a C interpreter that makes sure that dereferencing invalid pointers in the interpreted program doesn't cause UB in the interpreter, but I can do it in a way where I can cause any invalid memory access read the exact values that I want, and that would be an unfair advantage for a TAS
22:37:14 <b_jonas> now admittedly this would be more powerful for some other games than for nethack, but even so it's a good goal
22:37:20 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:38:00 <zzo38> It will not work with C in general unless it is a specific version with a specific compiler running on a specific system, I think.
22:38:41 <b_jonas> sure, but you can make it good enough to support enough of C that you can build and run nethack with it
22:39:52 <ais523> <b_jonas> because I can specify deterministic behavior with a C interpreter that makes sure that dereferencing invalid pointers in the interpreted program doesn't cause UB in the interpreter ← can't you just turn off ASLR?
22:40:25 <b_jonas> ais523: I don't understand the context
22:40:45 <zzo38> I expect it will be possible with my system, although some parts of the program will probably need to be changed (because e.g. fopen is unavailable, so you will need to use fopencookie instead; and you will also need to make it work with the I/O, although you could just use a terminal emulator without the ability to automatically respond, perhaps)
22:40:51 <b_jonas> turn off ASLR where? for the interpreter, for the interpreted program, for the program compiled and ran with a normal C environment, and why?
22:40:58 <ais523> b_jonas: if you want deterministic UB in C you can just remove the random inputs, any given compile will generate a particular asm and the asm is deterministic
22:41:11 <ais523> so you turn off ASLR rather than using an interpreter
22:41:25 <ais523> admittedly this wouldn't work so well with DOS, which has no MMU and so programs kind-of have to be relocatable
22:42:10 <b_jonas> ais523: sure, but you can be much more subtle in how you rig the execution, because you can pick the compiler and compiler option and the libc and curses implementation, and even some of the operating system behavior might influence nethack
22:42:43 <b_jonas> so I think it's very hard to get a canonical behavior for a unix version of nethack
22:44:14 <b_jonas> whereas DOS has a canonical version, DOS 6.2, and a canonical minimal set of drivers that you load (it's not the *usual* set, the usual set is to use the windows 3.11 version of himem.sys rather than DOS's, but Windows have more than one version so it's less canonical)
22:44:31 <b_jonas> DOS 6.22 sorry
22:44:55 -!- tromp has joined.
22:45:18 <b_jonas> more easier to agree on one environment that you use to run all DOS games for which this works for TASing purposes
22:46:24 <b_jonas> like, the C behavior on unix will depend on at least how libc's malloc behaves
22:46:36 <b_jonas> and probably on more than just malloc
22:47:00 <ais523> b_jonas: so it becomes a bit less canonical due to the DPMI extender
22:47:16 <b_jonas> I see
22:47:20 <ais523> which takes on some of the roles that libc+the kernel would normally be responsible for
22:47:25 <b_jonas> and perhaps the BIOS
22:47:28 <ais523> the usual DPMI extender is Windows but it doesn't emulate well
22:47:42 <b_jonas> and the DOS behavior can depend on how the file system is layed out,
22:47:54 <ais523> for TASing, the decision is fairly simple: FreeDOS as the BIOS because we can emulate it legally, and HDPMI32 as the extender because it's the only one that emulates correctly
22:48:06 <b_jonas> and may depend on what exact version of CPU you have if you can get the program to execute arbitrary code
22:48:14 <ais523> (and even then I had to add a feature to the emulator to make it emulate correctly)
22:48:49 <ais523> tasvideos.org already has a standard "emulated DOS system" for TASing on so I didn't need to worry about things like the CPU version and frequency
22:48:55 <b_jonas> oh, that actually makes more sense even if I didn't use FreeDOS for running emulated DOS games
22:49:41 <b_jonas> I always just used my DOS 6.22 installation that's derived from that first DOS installation that I started when I got my first own PC (as separate from the one PC from the family)
22:50:13 <b_jonas> obviously it changed a lot since, but there's an unbroken line and the DOS and Windows 3.11 installation is the exact same
22:51:36 <b_jonas> “tasvideos.org already has a standard ‘emulated DOS system’” => that's great, then DOS is even more of an advantage. do they have any standard Windows systems, or is that too hard because of licensing issues?
22:51:52 <ais523> no, Windows TASing is actually really janky
22:51:56 <ais523> and keeps breaking all the time
22:52:07 <b_jonas> oh sure, but that's for other reasons too
22:52:15 <ais523> because it isn't an emulator, it's basically done using the Windows version fo LD_PRELOAD
22:52:20 <b_jonas> like delivering the inputs deterministically
22:52:32 <ais523> so you have to rely on whatever software+kernel setup the users happen to be running
22:53:43 <b_jonas> yeah, and for that reason I'm so glad Celeste added a built-in reason to read game control input from a file
22:53:50 <b_jonas> s/reason/way/
22:54:26 <ais523> funnily enough, I kind-of invented TASing on my own before learning about it being a thing
22:54:36 <ais523> I had written my own computer game, and wrote a replay format for it
22:54:47 <ais523> but instead of recording player input, I created the replays by brute force
22:55:05 <b_jonas> that sounds more of the "zzo38 infected you" thing
22:55:16 <b_jonas> even if it's retroactive
22:56:25 <ais523> I wanted to see what an optimal level playthrough was like
22:56:52 <ais523> the thing is, I didn't know whether my computer had enough memory to hold all the possible states a game could be in (and I was brute-forcing basically via Dijkstra's algorithm, although I didn't know it at the time)
22:57:12 <ais523> so I stored the brute-forcing progress in the largest bit of memory I knew about, which was video RAM
22:57:22 <ais523> and so I got to see the brute-forcing in action on screen
22:58:29 <zzo38> The replay format is something I intend to make in Super ZZ Zero game engine, although it is something which is not currently implemented. (Hopefully this can be used for regression testing as well as for other purposes.)
23:00:15 <b_jonas> hehe
23:00:42 <korvo> Maybe *that* is the biggest divide here. I'm an athletic speedrunner but not really a TAS'er.
23:02:10 <b_jonas> hehe, I'm not sure if that counts as the *biggest* divide
23:05:14 <zzo38> I also wanted to know if the design of a VM code for a music file, I have some opcodes that have a variant that includes a wait and some opcodes do not have such a variant. The range of opcodes that have such a variant is not many unused left, and I put the ones for one, two, or three MIDI bytes in the waiting range and the one for arbitrary size data in the non-waiting range.
23:05:20 <zzo38> Is this the best way to assign them?
23:05:33 <zzo38> (You can see https://raw.githubusercontent.com/zzo38/superzz0/refs/heads/trunk/music.doc for the actual document, if you want to see it)
23:07:56 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:49:48 -!- pool has quit (Read error: Connection reset by peer).
23:50:19 -!- pool has joined.
23:59:58 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=167715&oldid=167643 * PrySigneToFry * (+40)
2025-11-09
00:03:12 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
00:14:35 -!- perlbot has joined.
00:24:28 -!- ais523 has quit (Quit: quit).
00:50:00 -!- pool has quit (Read error: Connection reset by peer).
00:51:53 -!- pool has joined.
00:56:48 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=167716&oldid=167715 * I am islptng * (+28) /* S */
01:50:01 -!- pool has quit (Read error: Connection reset by peer).
01:51:01 -!- joast has quit (Quit: Leaving.).
01:52:09 -!- pool has joined.
02:09:19 -!- chloetax9 has joined.
02:17:23 -!- Sgeo has quit (*.net *.split).
02:17:23 -!- chloetax has quit (*.net *.split).
02:17:23 -!- ManDeJan has quit (*.net *.split).
02:17:23 -!- dcreager has quit (*.net *.split).
02:17:23 -!- integral has quit (*.net *.split).
02:17:24 -!- chloetax9 has changed nick to chloetax.
02:25:39 -!- 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).
02:49:47 <zzo38> My own ideas for the computer/operating-system does not currently have a name, though.
02:50:08 -!- pool has quit (Read error: Connection reset by peer).
02:52:11 -!- pool has joined.
03:05:03 -!- op_4 has quit (Remote host closed the connection).
03:05:34 -!- op_4 has joined.
03:42:50 -!- simcop2387 has quit (Ping timeout: 245 seconds).
03:43:13 -!- perlbot has quit (Ping timeout: 264 seconds).
03:49:05 -!- perlbot has joined.
03:54:05 -!- simcop2387 has joined.
04:17:06 -!- joast has joined.
04:35:20 -!- chloetax has quit (Ping timeout: 244 seconds).
05:03:12 -!- chiselfuse has quit (Ping timeout: 272 seconds).
05:04:21 -!- chiselfuse has joined.
05:24:21 -!- chiselfuse has quit (Remote host closed the connection).
05:24:35 -!- chiselfuse has joined.
05:57:03 -!- Sgeo has joined.
06:41:58 <zzo38> Would there be any sense to use MIDI as the replay format for some kind of computer games?
07:25:06 <esolangs> [[User:Zip]] https://esolangs.org/w/index.php?diff=167717&oldid=153685 * Zip * (+65)
07:37:57 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167718&oldid=167701 * Yayimhere2(school) * (-166) /* Commands */
07:51:58 -!- tromp has joined.
08:21:13 -!- lisbeths has joined.
08:22:55 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167719&oldid=167695 * Yayimhere2(school) * (+103) /* Memory */
08:24:05 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167720&oldid=167719 * Yayimhere2(school) * (+115) /* Semantics */
08:25:15 <lisbeths> mission critical https://www.irccloud.com/pastebin/ZEgZII2F/mission%20critcal
08:29:22 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167721&oldid=167720 * Yayimhere2(school) * (-29) /* Semantics */
08:32:51 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167722&oldid=167721 * Yayimhere2(school) * (-1) /* Semantics */
08:46:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
08:48:26 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167723&oldid=167722 * Yayimhere2(school) * (+4)
08:50:44 -!- pool has quit (Read error: Connection reset by peer).
08:52:57 -!- pool has joined.
08:57:32 <esolangs> [[CFCK]] N https://esolangs.org/w/index.php?oldid=167724 * FluixMakesEsolangs * (+2716) Initial Commit
08:59:49 -!- ehmry has joined.
10:20:51 <APic> Hi
10:30:15 -!- lisbeths has quit (Quit: Connection closed for inactivity).
10:43:14 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167725&oldid=167661 * Esolangist * (+168)
10:44:41 <esolangs> [[EUCS]] https://esolangs.org/w/index.php?diff=167726&oldid=167585 * Esolangist * (+14) Symbols for space and newline
10:52:15 -!- tromp has joined.
11:00:28 -!- Sgeo has quit (Read error: Connection reset by peer).
11:07:21 -!- ais523 has joined.
11:10:00 -!- lisbeths has joined.
11:13:13 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=167727&oldid=146714 * PrySigneToFry * (+173) /* ? */ new section
11:14:34 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167728&oldid=167725 * PrySigneToFry * (-168) Please remember to clear the sandbox after use, thank you.
11:17:17 <esolangs> [[User talk:User:Main page/w/wiki/User:NotPrySigneToFry/what]] https://esolangs.org/w/index.php?diff=167729&oldid=167354 * PrySigneToFry * (+57)
11:45:17 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=167730&oldid=167356 * PrySigneToFry * (+47)
12:06:03 <esolangs> [[YksniM]] https://esolangs.org/w/index.php?diff=167731&oldid=167595 * Esolangist * (-14)
12:27:23 * APic → Bathtub 🐋
12:43:40 -!- DOS_User_webchat has joined.
12:43:56 -!- DOS_User_webchat has changed hostmask to ~DOS_User_@user/DOS-User:11249.
12:51:08 -!- DOS_User_webchat has quit (Remote host closed the connection).
12:52:52 <esolangs> [[User:As]] https://esolangs.org/w/index.php?diff=167732&oldid=167496 * As * (+228) /* external links */
12:53:40 <esolangs> [[User:As]] https://esolangs.org/w/index.php?diff=167733&oldid=167732 * As * (+20) /* languages */
13:12:54 -!- amby has joined.
13:30:15 -!- lisbeths has quit (Quit: Connection closed for inactivity).
13:46:49 <esolangs> [[Special:Log/newusers]] create * GNUian Linuxist Party * New user account
13:47:09 <esolangs> [[Fh]] N https://esolangs.org/w/index.php?oldid=167734 * As * (+778) Created page with "{{ infobox proglang |author=[[User:As]] |year=2025 |refimpl=[[Fh#implementation#Python|Python]] }} {{Distinguish/Confusion|eafh|h}} '''Fh''' is [[:Category:Joke languages|Joke]] [[Esoteric programming language]] inspired by [[eafh]]. It is [[Deadfish]] without <code>i</code>, <cod
13:47:56 <esolangs> [[User:As]] https://esolangs.org/w/index.php?diff=167735&oldid=167733 * As * (+8) /* languages */
13:52:26 <esolangs> [[Fh]] https://esolangs.org/w/index.php?diff=167736&oldid=167734 * As * (+23) /* Implementation */
13:54:58 <esolangs> [[Fh]] https://esolangs.org/w/index.php?diff=167737&oldid=167736 * As * (+23) /* Implementation */
13:59:06 <esolangs> [[Fh]] https://esolangs.org/w/index.php?diff=167738&oldid=167737 * As * (+195) /* Implementation */
14:30:41 <esolangs> [[Special:Log/newusers]] create * Python yyds * New user account
14:50:31 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:09:58 -!- mynery has changed nick to myname.
15:11:24 <esolangs> [[Special:Log/newusers]] create * Hammy * New user account
15:12:42 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167739&oldid=167712 * Hammy * (+190)
15:14:06 <esolangs> [[User:Hammy]] N https://esolangs.org/w/index.php?oldid=167740 * Hammy * (+2219) Created page with "<blockquote> Do the impossible. Think the unthinkable. Program the unprogrammable. [[User:Esolangist|Esolangist]] ([[User talk:Esolangist|talk]]) 17:31, 1 November 2025 (UTC) </blockquote> Hello there! I will plan to make many esolangs. Also, I am [[User:HammyHammerh
15:14:28 <esolangs> [[User:Esolangist]] https://esolangs.org/w/index.php?diff=167741&oldid=167487 * Hammy * (-2195) Redirected page to [[User:Hammy]]
15:25:12 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=167742&oldid=167727 * Yayimhere2(school) * (+276)
15:26:48 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=167743&oldid=167742 * Yayimhere2(school) * (+199)
15:51:32 -!- pool has quit (Read error: Connection reset by peer).
15:53:32 -!- pool has joined.
16:14:45 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167744&oldid=167700 * Yayimhere2(school) * (+1) /* Turing completeness proof */
16:18:15 <esolangs> [[LIMITED]] https://esolangs.org/w/index.php?diff=167745&oldid=165417 * DadoDev * (+480) Changed to use integers
16:23:54 <esolangs> [[Looping counter]] M https://esolangs.org/w/index.php?diff=167746&oldid=165701 * DadoDev * (+467) Added LIMITED
16:26:25 <esolangs> [[Turing Torment]] N https://esolangs.org/w/index.php?oldid=167747 * Hammy * (+1306) Created page with "Turing Torment is a weird language by [[User:Hammy]] ==Commands?== a b c d e this means "if the turing machine is in state a and on the symbol b, change the symbol to c and go left if d = 1, right if d = 2, and don't move otherwise. then change to state e" exampl
16:27:28 -!- Lord_of_Life_ has joined.
16:27:43 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:28:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:32:41 <esolangs> [[Conquer and divide]] N https://esolangs.org/w/index.php?oldid=167748 * Yayimhere2(school) * (+2323) Created page with "'''Conquer and divide''' or CAD is [[User:Yayimhere]]'s attempt at a simple turing complete concatenative language. It is quite the simple language. It is inspired by [[Underflow]], [[Underload]], [[Combine and continue]], and a [[Minsky machine]].
16:33:00 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=167749&oldid=167748 * Yayimhere2(school) * (+0) /* Computational class */
16:36:09 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=167750&oldid=167749 * Yayimhere2(school) * (+26) /* Computational class */
16:39:54 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167751&oldid=167706 * Yayimhere2(school) * (+65) /* Turing completeness proof */
16:40:55 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167752&oldid=167751 * Yayimhere2(school) * (+115)
16:41:48 -!- dcreager has joined.
16:41:50 -!- ManDeJan has joined.
16:41:54 -!- chloetax has joined.
16:42:27 -!- integral has joined.
16:42:45 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=167753&oldid=167750 * Yayimhere2(school) * (+2) /* Commands */
16:46:22 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=167754&oldid=167753 * Yayimhere2(school) * (+112) /* Commands */
16:48:16 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=167755&oldid=167754 * Yayimhere2(school) * (+29) /* Commands */
16:51:40 -!- pool has quit (Read error: Connection reset by peer).
16:53:46 -!- pool has joined.
16:56:15 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167756&oldid=167674 * Yayimhere2(school) * (+52) /* esolangs */
17:06:14 <esolangs> [[Ministack]] N https://esolangs.org/w/index.php?oldid=167757 * Hammy * (+1356) Created page with "Ministack is a '''mini'''mal '''stack'''-based language by [[User:Hammy]] ==Commands== {| class="wikitable" |+ Commands |- ! Command !! Meaning |- | 1 || Pushes 1. |- | - || Negates the top value of the stack. |- | . || Outputs the top value of the stack as a [[EUCS]] c
17:06:43 <esolangs> [[Ministack]] https://esolangs.org/w/index.php?diff=167758&oldid=167757 * Hammy * (+25) /* A+B problem */
17:12:53 -!- tromp has joined.
17:21:26 <esolangs> [[User:Esolangist/personal talk page]] https://esolangs.org/w/index.php?diff=167759&oldid=167588 * Hammy * (+16)
17:35:51 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167760&oldid=167756 * Yayimhere2(school) * (+13) /* esolangs */
17:36:43 <esolangs> [[Talk:6]] https://esolangs.org/w/index.php?diff=167761&oldid=167668 * Tommyaweosme * (+42) /* Author's comments */
17:37:14 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167762&oldid=167744 * Yayimhere2(school) * (+25) /* Turing completeness proof */
17:37:26 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167763&oldid=167762 * Yayimhere2(school) * (-25) /* Turing completeness proof */
17:38:50 <esolangs> [[Talk:Burn]] https://esolangs.org/w/index.php?diff=167764&oldid=167424 * Tommyaweosme * (+225) /* Thoughts on burn */
17:38:54 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167765&oldid=167723 * Yayimhere2(school) * (+46)
18:04:58 <esolangs> [[Do Minsk Family]] N https://esolangs.org/w/index.php?oldid=167766 * Yayimhere2(school) * (+648) Created page with "'''Do Minsk Family''' or '''DMF''' is an esolang family created by [[User:Yayimhere]]. These languages share the two commonalities that they all have inspired each other, and that (all most) all of them are proven turing complete by translation from [[
18:05:13 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=167767&oldid=167766 * Yayimhere2(school) * (+4) /* A tree of all the languages */
18:06:06 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167768&oldid=167760 * Yayimhere2(school) * (-34) /* esolangs */
18:08:14 <esolangs> [[Minsky Machine]] N https://esolangs.org/w/index.php?oldid=167769 * Yayimhere2(school) * (+28) Redirected page to [[Minsky machine]]
18:12:50 <esolangs> [[Karvity]] https://esolangs.org/w/index.php?diff=167770&oldid=167718 * Yayimhere2(school) * (-10) /* See also */
18:13:16 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=167771&oldid=167623 * Yayimhere2(school) * (+37) /* Computational class */
18:13:42 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=167772&oldid=167763 * Yayimhere2(school) * (-10) /* See also */
18:14:15 <esolangs> [[TLQ]] https://esolangs.org/w/index.php?diff=167773&oldid=167655 * Yayimhere2(school) * (+37) /* Computational class */
18:14:59 <esolangs> [[Stopload]] https://esolangs.org/w/index.php?diff=167774&oldid=167765 * Yayimhere2(school) * (+36) /* Semantics */
18:15:32 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167775&oldid=167752 * Yayimhere2(school) * (-17) /* See also */
18:16:10 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=167776&oldid=167755 * Yayimhere2(school) * (+37) /* Computational class */
18:16:33 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=167777&oldid=167767 * Yayimhere2(school) * (+14) /* A tree of all the languages */
18:17:50 -!- Sgeo has joined.
18:23:56 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=167778&oldid=167777 * Yayimhere2(school) * (+365)
18:24:16 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=167779&oldid=167778 * Yayimhere2(school) * (+6)
18:25:00 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=167780&oldid=167779 * Yayimhere2(school) * (-14)
18:26:29 <korvo> A family tree of unimplemented languages? I think that the point may have been missed along the way.
18:27:02 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=167781&oldid=167780 * Yayimhere2(school) * (+55)
18:32:43 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=167782&oldid=167781 * Yayimhere2(school) * (+21) /* A tree of all the languages */
18:36:30 -!- amby has quit (Read error: Connection reset by peer).
18:36:52 -!- amby has joined.
18:46:35 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167783&oldid=167739 * GNUian Linuxist Party * (+368) /* Introductions */
18:47:25 <esolangs> [[JSON.lang]] N https://esolangs.org/w/index.php?oldid=167784 * GNUian Linuxist Party * (+2584) JSON.lang
18:52:05 <esolangs> [[User:GNUian Linuxist Party]] N https://esolangs.org/w/index.php?oldid=167785 * GNUian Linuxist Party * (+62) GLP
18:52:32 <APic> cu
18:54:50 <esolangs> [[JSON.lang]] https://esolangs.org/w/index.php?diff=167786&oldid=167784 * GNUian Linuxist Party * (-241) JSON.lang
18:55:11 -!- yc[m] has joined.
18:58:14 <esolangs> [[Special:Log/newusers]] create * ScriptingEntity * New user account
19:04:33 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167787&oldid=167783 * ScriptingEntity * (+263) /* Introductions */
19:44:59 <esolangs> [[Psint]] N https://esolangs.org/w/index.php?oldid=167788 * ScriptingEntity * (+4369) Created page with "{{language |name=Psint |author=Scripting_Entity |year=2025 |influenced_by=[[Brainfuck]], [[Malbolge]] |computational_class=Unknown (may or may not be Turing-complete) }} '''Psint''' is an [[esoteric programming language]] created by [[User:Scripting_Entity]] in 2
19:49:19 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167789&oldid=167788 * ScriptingEntity * (+11)
19:50:23 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167790&oldid=167789 * ScriptingEntity * (-3)
19:51:13 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167791&oldid=167790 * ScriptingEntity * (+92)
20:08:42 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167792&oldid=167791 * ScriptingEntity * (+45)
20:11:02 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167793&oldid=167792 * ScriptingEntity * (-72)
20:12:31 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167794&oldid=167793 * ScriptingEntity * (+51)
20:12:46 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167795&oldid=167794 * ScriptingEntity * (-2)
20:13:12 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167796&oldid=167795 * ScriptingEntity * (+6)
20:14:20 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167797&oldid=167796 * ScriptingEntity * (+9) /* Instruction set */
20:15:41 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167798&oldid=167797 * ScriptingEntity * (-9) /* External Resources */
20:17:18 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167799&oldid=167798 * ScriptingEntity * (-75) /* External Resources */
20:20:42 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167800&oldid=167799 * ScriptingEntity * (+18) /* External Resources */
20:22:00 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167801&oldid=167800 * ScriptingEntity * (-1) /* Examples */
20:50:56 <esolangs> [[User:As]] https://esolangs.org/w/index.php?diff=167802&oldid=167735 * As * (+83)
20:51:29 <esolangs> [[Fh]] https://esolangs.org/w/index.php?diff=167803&oldid=167738 * As * (+0)
20:58:38 <esolangs> [[Fh]] https://esolangs.org/w/index.php?diff=167804&oldid=167803 * As * (+48)
21:00:00 <esolangs> [[Oh oh oh oh oh]] https://esolangs.org/w/index.php?diff=167805&oldid=167582 * As * (+56)
21:08:04 <esolangs> [[User:As]] https://esolangs.org/w/index.php?diff=167806&oldid=167802 * As * (+108)
21:17:06 <esolangs> [[Category:Active]] N https://esolangs.org/w/index.php?oldid=167807 * FluixMakesEsolangs * (+35) Initial Commit
21:20:50 <esolangs> [[CFCK]] M https://esolangs.org/w/index.php?diff=167808&oldid=167724 * Ractangle * (-3) work in progress exists
21:21:27 <esolangs> [[CFCK]] https://esolangs.org/w/index.php?diff=167809&oldid=167808 * Ractangle * (+5) /* Known Interpreters */
21:21:51 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Category:Active]]": unapproved category, redundant to [[Category:Works-in-Progress]]
21:25:05 <esolangs> [[Template:WIP]] M https://esolangs.org/w/index.php?diff=167810&oldid=66261 * Ractangle * (-55)
21:33:24 -!- ais523 has quit (Quit: quit).
21:49:28 <esolangs> [[CFCK]] M https://esolangs.org/w/index.php?diff=167811&oldid=167809 * FluixMakesEsolangs * (+15) fixed
22:30:09 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167812&oldid=167801 * ScriptingEntity * (+96)
22:39:46 <esolangs> [[Psint]] https://esolangs.org/w/index.php?diff=167813&oldid=167812 * ScriptingEntity * (+1) /* Implementation */
23:09:26 -!- chiselfuse has quit (Remote host closed the connection).
23:09:44 -!- chiselfuse has joined.
23:11:32 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:25:25 -!- yc[m] has quit (Remote host closed the connection).
23:28:51 -!- yc[m] has joined.
2025-11-10
01:27:50 <esolangs> [[CFCK]] https://esolangs.org/w/index.php?diff=167814&oldid=167811 * FluixMakesEsolangs * (+1984) Update to compiler
01:46:57 <Sgeo> I wonder how extinct non-von-Neumann architecture is. The Burroughs E101 was a computer that wasn't stored-program
01:47:20 <Sgeo> And I feel like that's more recent than a lot of computers that come to mind as being non-von-Neumann (though still not recent)
01:52:04 <int-e> DSPs are often cited as an example where program memory tends to be separate. I imagine that applies to GPUs too, but don't know. Also having separate D and I caches blurs the line a bit.
01:52:30 <int-e> Oh and maybe try to categorize FPGAs that way :)
01:54:02 <Sgeo> Are there any pin based esolangs? This is of course a nonsense question without clarifying what I mean by "pin based", but I'm still amused
01:54:08 <Sgeo> Because E101 is a pin based computer
01:57:57 -!- yc has joined.
02:00:43 <korvo> DSPs and GPUs are great examples. TBH what occurs to me is WASM.
02:01:14 <int-e> oh thereabstract machines
02:01:17 <int-e> oops
02:01:34 <int-e> there are plenty of abstract machines that keep data and program completely separate
02:03:26 <int-e> Sgeo: note that von Neumann isn't just stored program; it also unifies data and program memory, in contrast to Harvard
02:03:49 <int-e> Sgeo: And now I'm not sure whether you care about that distinction.
02:06:23 <Sgeo> I guess "program is able to load other programs" is a key feature that makes... unified memory important
02:07:07 <int-e> or at least convenient
02:10:55 <esolangs> [[CFCK]] M https://esolangs.org/w/index.php?diff=167815&oldid=167814 * FluixMakesEsolangs * (+180) Added new commands and fix error in compiler
02:11:48 <esolangs> [[CFCK]] M https://esolangs.org/w/index.php?diff=167816&oldid=167815 * FluixMakesEsolangs * (+2) fixed other error (sorry...)
02:12:35 -!- Lord_of_Life has quit (Remote host closed the connection).
02:13:59 -!- Lord_of_Life has joined.
02:15:55 -!- lynndotpy6093 has quit (Quit: bye bye).
02:17:05 -!- lynndotpy6093 has joined.
02:21:30 -!- 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).
02:31:03 -!- lynndotpy60936 has joined.
02:31:54 -!- lynndotpy6093 has quit (Ping timeout: 244 seconds).
02:31:54 -!- lynndotpy60936 has changed nick to lynndotpy6093.
02:58:48 -!- yc has quit (Remote host closed the connection).
02:59:03 -!- yc has joined.
03:01:04 -!- yc has changed hostmask to ~yc@user/youngchief.
03:53:55 <esolangs> [[Special:Log/newusers]] create * NTMDev * New user account
04:01:30 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167817&oldid=167787 * NTMDev * (+169)
04:04:12 <esolangs> [[User:NTMDev]] N https://esolangs.org/w/index.php?oldid=167818 * NTMDev * (+215) Created page with "Hello! I am NTMDev and I like coding. I made a custom coding language (or as we call it an esolang) that is pretty cool. Java and Python are my main coding languages, although I am still a relative beginner in Java."
04:04:54 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=167819&oldid=161027 * NTMDev * (+3)
04:05:51 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=167820&oldid=167819 * NTMDev * (-3)
04:07:46 <esolangs> [[ASTLang]] N https://esolangs.org/w/index.php?oldid=167821 * NTMDev * (+14) Created page with "# ASTLang test"
04:08:43 <Sgeo> I should probably write an E101 emulator. There's software for it (mostly just mathematical subroutines)
04:08:58 <Sgeo> It's... not good at anything that isn't numbers.
04:10:45 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167822&oldid=167821 * NTMDev * (+287)
04:12:34 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167823&oldid=167822 * NTMDev * (+140)
04:13:18 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167824&oldid=167823 * NTMDev * (+4)
04:16:49 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167825&oldid=167775 * Yayimhere2(school) * (+1) /* Turing completeness proof */
04:19:47 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167826&oldid=167824 * NTMDev * (+548)
04:20:33 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167827&oldid=167826 * NTMDev * (+6)
04:26:15 <esolangs> [[CFCK]] M https://esolangs.org/w/index.php?diff=167828&oldid=167816 * FluixMakesEsolangs * (+0) fixed algos
04:27:10 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167829&oldid=167827 * NTMDev * (+368)
04:33:55 -!- rodgort has quit (Ping timeout: 264 seconds).
04:34:10 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167830&oldid=167829 * NTMDev * (+1056)
04:37:45 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167831&oldid=167830 * NTMDev * (+552)
04:41:23 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167832&oldid=167831 * NTMDev * (+303)
04:43:45 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167833&oldid=167832 * NTMDev * (+177) /* Print */
04:44:12 <sorear> korvo: you may have noticed the zf2.tm formal correctness proof side-track, far more progress than any of the previous attempts
04:44:18 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167834&oldid=167833 * NTMDev * (+24)
04:47:31 <esolangs> [[Combine and continue]] https://esolangs.org/w/index.php?diff=167835&oldid=167825 * Yayimhere2(school) * (-17) /* Commands */
04:48:41 -!- rodgort has joined.
05:32:32 <korvo> sorear: Yeah. I'm keeping tabs, but I'm trying to avoid being the extra cook in the kitchen.
05:33:26 <sorear> don't have clear records but stopped having deja vu about when inc/dec were done
05:34:23 <sorear> rough estimate 90-95% of this is applicable to the nql compiler forks and closer to 80% for ajwade/turing_machine_explorer
05:38:58 <sorear> might ask on discord about information/tooling for the register initialization fragments? don't want to put a 2 million shift TM into my current symbolic evaluator but it's not high enough to have a wiki page
06:36:57 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167836&oldid=167682 * RaiseAfloppaFan3925 * (+2160) Redshift
07:11:14 <esolangs> [[Typing]] https://esolangs.org/w/index.php?diff=167837&oldid=43297 * ThrowAwayLurker * (+926) Added some more information and types of typing (untyped, funtcions)
07:13:28 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=167838&oldid=167836 * RaiseAfloppaFan3925 * (+2322) /* Redshift */ Add jumps + XKCD random number example + assembler + Redshift-A
07:19:18 <esolangs> [[OOOOL]] M https://esolangs.org/w/index.php?diff=167839&oldid=106044 * ThrowAwayLurker * (+0) Fixed typo
07:24:28 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=167840&oldid=124384 * None1 * (+39) /* Integer */
07:26:27 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=167841&oldid=167840 * None1 * (-29) /* Hello, World! */
07:36:31 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=167842&oldid=167841 * None1 * (-1)
08:05:02 -!- Sgeo has quit (Read error: Connection reset by peer).
08:09:55 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=167843&oldid=167776 * Yayimhere2(school) * (-42) /* Computational class */
08:38:30 -!- tromp has joined.
09:38:10 -!- chloetax has quit (Ping timeout: 255 seconds).
09:39:48 -!- chloetax has joined.
09:46:43 -!- chloetax has quit (Ping timeout: 255 seconds).
09:56:19 -!- chloetax has joined.
09:56:35 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167844&oldid=167768 * Yayimhere2(school) * (-254)
10:01:13 -!- chloetax has quit (Ping timeout: 246 seconds).
10:16:59 -!- chloetax has joined.
10:22:44 -!- chloetax has quit (Ping timeout: 265 seconds).
11:09:11 <esolangs> [[Talk:INTERCAL]] https://esolangs.org/w/index.php?diff=167845&oldid=134192 * Jasper * (+1084) /* Useful functions made using INTERCAL's unary / binary operators */ new section
11:14:51 <esolangs> [[Talk:INTERCAL]] https://esolangs.org/w/index.php?diff=167846&oldid=167845 * Jasper * (+64) /* Useful functions made using INTERCAL's unary / binary operators */
11:19:34 <esolangs> [[Talk:INTERCAL]] https://esolangs.org/w/index.php?diff=167847&oldid=167846 * Jasper * (+90) /* Useful functions made using INTERCAL's unary / binary operators */
11:23:35 <esolangs> [[Special:Log/newusers]] create * DannyEslang * New user account
11:47:56 <esolangs> [[JSON.lang]] https://esolangs.org/w/index.php?diff=167848&oldid=167786 * GNUian Linuxist Party * (+48)
11:48:41 <esolangs> [[JSON.lang]] https://esolangs.org/w/index.php?diff=167849&oldid=167848 * GNUian Linuxist Party * (-36) /* See also */
11:52:33 -!- ais523 has joined.
12:05:21 -!- chloetax has joined.
12:10:34 -!- chloetax has quit (Ping timeout: 256 seconds).
12:14:41 -!- amby has joined.
12:30:19 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=167850&oldid=167743 * PrySigneToFry * (+199)
12:54:19 <APic> Hi
13:04:15 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167851&oldid=167834 * NTMDev * (+240) /* Print */
13:07:27 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=167852&oldid=167509 * I am islptng * (+391)
13:08:19 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167853&oldid=167851 * NTMDev * (+427)
13:12:33 -!- ais523 has quit (Quit: sorry about my connection).
13:36:50 -!- ais523 has joined.
14:09:27 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:20:36 <esolangs> [[Talk:SletScript]] https://esolangs.org/w/index.php?diff=167854&oldid=162155 * PrySigneToFry * (+214) /* */ new section
14:22:55 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=167855&oldid=167850 * Yayimhere2(school) * (+158)
14:25:54 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=167856&oldid=167855 * Yayimhere2(school) * (+25)
14:27:25 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=167857&oldid=167856 * Yayimhere2(school) * (+8)
14:30:51 -!- chloetax has joined.
14:31:55 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167858&oldid=167728 * PrySigneToFry * (+451) Test of RTL text
14:32:16 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167859&oldid=167858 * PrySigneToFry * (-451) Great.
14:49:44 -!- tromp has joined.
14:53:56 -!- pool has quit (Read error: Connection reset by peer).
14:55:45 -!- pool has joined.
15:33:24 <esolangs> [[Do you remember me?]] N https://esolangs.org/w/index.php?oldid=167860 * Yayimhere2(school) * (+1376) Created page with "'''Do you remember me?''' or '''DyRM''' is an esolang created by [[User:Yayimhere]], in exploration of [[Pushdown automaton]]. It is based around the [[Looping counter]] program == Memory == The memory is made up of a stack, that can hold the sym
15:33:35 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=167861&oldid=167860 * Yayimhere2(school) * (+2) /* Semantics */
15:33:42 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=167862&oldid=167861 * Yayimhere2(school) * (+1) /* Examples */
15:50:56 <esolangs> [[Talk:6]] https://esolangs.org/w/index.php?diff=167863&oldid=167761 * Corbin * (+168)
16:00:10 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:03:48 <esolangs> [[Constant language]] https://esolangs.org/w/index.php?diff=167864&oldid=164119 * Aadenboy * (+121) /* Quine avoidance */ wording + example
16:06:50 <esolangs> [[]] https://esolangs.org/w/index.php?diff=167865&oldid=115003 * Aadenboy * (+15) emphasis
16:07:02 <esolangs> [[]] https://esolangs.org/w/index.php?diff=167866&oldid=167865 * Aadenboy * (+5) missed one
16:14:43 <esolangs> [[Also?]] N https://esolangs.org/w/index.php?oldid=167867 * Yayimhere2(school) * (+2264) Created page with "'''Also?''' is an esolang created shortly after the creation of [[Do you remember me?|DyRM]]. It is quite the simple language, similarly to DyRM. It is also in part inspired by [[Minsky Machine]]. It is made up of two commands and a single special argument(alik
16:27:05 -!- tromp has joined.
16:27:43 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:29:08 -!- Lord_of_Life has joined.
17:13:11 <esolangs> [[Markright]] N https://esolangs.org/w/index.php?oldid=167868 * Hammy * (+1877) Created page with "Markright is a markdown-like language by [[User:Hammy]] ==Formatting== ===Basics=== To bold text, you do $text$. Example: <pre> $Big and bold.$ </pre> displays as: '''Big and bold.''' To make text italic, do *text* Example: <pre> *To the side!* </pre> displays as:
17:25:05 <esolangs> [[Special:Log/newusers]] create * ThePoyoPal * New user account
17:49:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:54:20 -!- pool has quit (Read error: Connection reset by peer).
17:54:45 -!- pool has joined.
18:01:54 <esolangs> [[User:Hotcrystal0/Sandbox]] https://esolangs.org/w/index.php?diff=167869&oldid=166843 * Hotcrystal0 * (+89)
18:15:01 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167870&oldid=167844 * Yayimhere2(school) * (+38) /* esolangs */
18:17:37 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167871&oldid=167867 * Yayimhere2(school) * (+70) /* STACKUNWISE */
18:20:09 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167872&oldid=167871 * Yayimhere2(school) * (+93) /* Semantics */
18:22:31 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167873&oldid=167872 * Yayimhere2(school) * (+44) /* Semantics */
18:27:19 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167874&oldid=167873 * Yayimhere2(school) * (+383) /* STACKUNWISE */
18:33:22 -!- tromp has joined.
18:43:23 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=167875&oldid=166905 * Aadenboy * (+1492) some more of my non-esoteric works
18:43:26 <esolangs> [[Talk:Markright]] N https://esolangs.org/w/index.php?oldid=167876 * Ractangle * (+234) Created page with "</blockquote> But I guess you could make a table with commands of a certain esolang that people keep on copying, that's close to Turing-completeness, right? </blockquote> A Turing machine is ''not'' and was ''never'' a markup language"
18:43:41 <esolangs> [[Talk:Markright]] M https://esolangs.org/w/index.php?diff=167877&oldid=167876 * Ractangle * (+151)
18:44:24 <esolangs> [[Talk:Markright]] M https://esolangs.org/w/index.php?diff=167878&oldid=167877 * Aadenboy * (-1)
18:54:15 -!- pool has quit (Read error: Connection reset by peer).
18:56:21 -!- pool has joined.
19:00:37 -!- sprock has quit (Ping timeout: 264 seconds).
19:02:03 -!- sprock has joined.
19:07:13 -!- sprock has quit (Ping timeout: 264 seconds).
19:07:45 -!- sprock has joined.
19:07:53 <esolangs> [[Br greater than]] https://esolangs.org/w/index.php?diff=167879&oldid=162388 * * (+1)
19:12:09 -!- ais523 has quit (Quit: quit).
19:27:57 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=167880 * * (+614) Created page with "'''' is a language made by ~~~ in all programs are presented as a line of numbers and symbols. ==commands== {| class="wikitable sortable" |+ Caption text |- ! symbol !! id !! function |- | || 0 || turns the next number into its symbol according to its id [anything after 5 will h
20:07:52 -!- pool has quit (Quit: The Lounge - https://thelounge.chat).
20:09:05 -!- pool has joined.
20:11:22 -!- pool has quit (Client Quit).
20:12:00 -!- pool has joined.
20:35:46 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167881&oldid=167853 * NTMDev * (+1412)
20:36:00 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167882&oldid=167881 * NTMDev * (+4)
20:36:15 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167883&oldid=167882 * NTMDev * (+6)
20:37:23 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167884&oldid=167883 * NTMDev * (-61)
20:37:39 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167885&oldid=167884 * NTMDev * (+39)
20:40:51 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
20:40:51 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
21:11:46 -!- pool has quit (Read error: Connection reset by peer).
21:13:56 -!- pool has joined.
21:33:59 -!- lisbeths has joined.
21:40:30 <APic> Good Night
21:48:13 <korvo> lisbeths: You might be interested to hear that a flavor of Vixen-like objects can be added to a Nix store without losing functionality. I'm thinking of Vixen as like a viroid or obelisk which "infects" a Nix store, except it's not trying to eat the store, just Living Off The Land.
21:51:24 -!- sprout has quit (Ping timeout: 256 seconds).
21:56:02 -!- DOS_User_webchat has joined.
21:56:11 -!- DOS_User_webchat has changed hostmask to ~DOS_User_@user/DOS-User:11249.
22:09:05 -!- ais523 has joined.
22:11:17 -!- simcop2387 has joined.
22:11:58 -!- pool has quit (Read error: Connection reset by peer).
22:14:02 -!- pool has joined.
22:14:17 -!- DOS_User_webchat has quit (Ping timeout: 250 seconds).
22:16:48 -!- perlbot has joined.
22:18:29 <esolangs> [[B-16]] N https://esolangs.org/w/index.php?oldid=167886 * Buckets * (+3010) Created page with "B-16 is an Esoteric programming language created by [[User:Buckets]] in 2021. The first Three Characters are used For Binary digits And They Correspond to this Table: {| class="wikitable" |- ! Binary Digit Placement !! 1 !! 0 |- | 1 || Uses The Moore neighbourhood. || Use
22:18:58 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=167887&oldid=159866 * Buckets * (+9)
22:19:14 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=167888&oldid=167887 * Buckets * (+1) /* 2021 */
22:20:29 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=167889&oldid=167716 * Buckets * (+11)
22:21:09 <esolangs> [[B-16]] M https://esolangs.org/w/index.php?diff=167890&oldid=167886 * Buckets * (+0)
22:25:57 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167891&oldid=167859 * Hotcrystal0 * (+529)
22:26:06 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167892&oldid=167891 * Hotcrystal0 * (+3)
22:27:07 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:34:07 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=167893&oldid=167888 * Buckets * (+0) /* Total of Esolangs */
22:36:39 <esolangs> [[Chops]] M https://esolangs.org/w/index.php?diff=167894&oldid=152043 * Buckets * (-27)
22:36:55 <esolangs> [[Chops]] M https://esolangs.org/w/index.php?diff=167895&oldid=167894 * Buckets * (-13)
22:37:35 <esolangs> [[Chops]] M https://esolangs.org/w/index.php?diff=167896&oldid=167895 * Buckets * (+5)
22:38:08 <esolangs> [[((]] M https://esolangs.org/w/index.php?diff=167897&oldid=153952 * Buckets * (+17)
22:38:20 <esolangs> [[((]] M https://esolangs.org/w/index.php?diff=167898&oldid=167897 * Buckets * (+1)
22:38:50 <esolangs> [[Esorn]] M https://esolangs.org/w/index.php?diff=167899&oldid=158540 * Buckets * (+1)
22:49:53 -!- tromp has joined.
22:53:57 -!- Sgeo has joined.
23:01:04 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:02:46 <esolangs> [[Special:Log/newusers]] create * ThatGuyThatLovesStuff * New user account
23:42:53 -!- lisbeths has quit (Quit: Connection closed for inactivity).
2025-11-11
00:18:18 -!- sprout has joined.
00:24:01 <esolangs> [[Sike]] N https://esolangs.org/w/index.php?oldid=167900 * Zip * (+14648) Create page
00:34:19 <esolangs> [[User:Zip]] https://esolangs.org/w/index.php?diff=167901&oldid=167717 * Zip * (+272) a
00:35:08 <esolangs> [[User:Zip]] https://esolangs.org/w/index.php?diff=167902&oldid=167901 * Zip * (+31) forgor language lmao
01:03:16 <Sgeo> It is not possible to write a Brainfuck interpreter for Burroughs E101. But it should be possible to make a Brainfuck-equivalent and write a Burroughs E101 for that
01:04:44 <esolangs> [[Typespam]] https://esolangs.org/w/index.php?diff=167903&oldid=91603 * Zip * (+616) reformat and word better (making assumptions based on the unfinished interpreter [that I called a "compiler"] I made years ago).
01:05:11 <esolangs> [[Typespam]] M https://esolangs.org/w/index.php?diff=167904&oldid=167903 * Zip * (-5) /* Data */
01:08:53 <esolangs> [[Typespam]] https://esolangs.org/w/index.php?diff=167905&oldid=167904 * Zip * (+176) /* Commands */ clarify
01:10:51 <esolangs> [[Sike]] M https://esolangs.org/w/index.php?diff=167906&oldid=167900 * Zip * (+0) Deque-Based Deque-based
01:12:11 -!- pool has quit (Read error: Connection reset by peer).
01:14:08 -!- pool has joined.
01:15:03 <esolangs> [[Sike]] M https://esolangs.org/w/index.php?diff=167907&oldid=167906 * Zip * (+41) add unknown computational class
01:34:46 <Sgeo> Easier to compile to an E101 program I think.
01:46:17 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=167908&oldid=167892 * Hotcrystal0 * (-532) cleaning
02:00:35 <esolangs> [[Topple/Topple 1]] M https://esolangs.org/w/index.php?diff=167909&oldid=167257 * H33T33 * (+139)
02:12:21 -!- pool has quit (Read error: Connection reset by peer).
02:13:12 -!- msv has joined.
02:14:22 -!- pool has joined.
02:30:30 -!- 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).
03:12:29 -!- pool has quit (Read error: Connection reset by peer).
03:14:25 -!- pool has joined.
03:31:29 -!- ais523 has quit (Quit: quit).
03:49:47 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167910&oldid=167874 * Yayimhere2(school) * (+9) /* Also?'s computational class */
03:52:38 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167911&oldid=167910 * Yayimhere2(school) * (+13) /* Also?'s computational class */
03:55:05 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167912&oldid=167911 * Yayimhere2(school) * (+129) /* Also?'s computational class */
03:55:28 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167913&oldid=167912 * Yayimhere2(school) * (-432) /* Semantics */ delete unnecessary commands
03:56:05 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=167914&oldid=167913 * Yayimhere2(school) * (-23)
04:12:36 -!- pool has quit (Read error: Connection reset by peer).
04:14:44 -!- pool has joined.
04:20:17 <esolangs> [[Talk:Sike]] N https://esolangs.org/w/index.php?oldid=167915 * Yayimhere2(school) * (+99) Created page with "== A question == Does each cycle run the whole program again and again? I do not really understand."
04:53:29 <esolangs> [[Sike]] M https://esolangs.org/w/index.php?diff=167916&oldid=167907 * Zip * (+2) /* Execution */ clarify wording
04:58:31 <esolangs> [[Sike]] M https://esolangs.org/w/index.php?diff=167917&oldid=167916 * Zip * (-5) /* Words */ clarify wording (again)
05:06:13 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=167918&oldid=167842 * None1 * (+137) Change commands to avoid ambiguity
05:06:31 <esolangs> [[Sike]] https://esolangs.org/w/index.php?diff=167919&oldid=167917 * Zip * (-69) /* Cat */ make cat program shorter
05:07:01 <esolangs> [[User:TheBigH]] M https://esolangs.org/w/index.php?diff=167920&oldid=166116 * TheBigH * (-85)
05:08:10 <esolangs> [[Viktor's amazing 4-bit processor]] M https://esolangs.org/w/index.php?diff=167921&oldid=167707 * TheBigH * (-38)
05:25:12 <esolangs> [[Talk:6]] https://esolangs.org/w/index.php?diff=167922&oldid=167863 * None1 * (+324) /* Author's comments */
06:12:49 -!- pool has quit (Read error: Connection reset by peer).
06:14:54 -!- pool has joined.
07:08:33 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167923&oldid=166351 * Yayimhere2(school) * (+34)
07:09:00 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167924&oldid=167923 * Yayimhere2(school) * (+1)
07:09:17 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167925&oldid=167924 * Yayimhere2(school) * (+0)
07:09:46 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
07:10:19 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167926&oldid=167925 * Yayimhere2(school) * (+48)
07:10:37 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167927&oldid=167926 * Yayimhere2(school) * (+20) /* Semantics */
07:11:10 -!- Lord_of_Life has joined.
07:32:36 -!- Sgeo has quit (Read error: Connection reset by peer).
08:02:34 -!- tromp has joined.
09:04:04 <esolangs> [[Ptolomaea]] M https://esolangs.org/w/index.php?diff=167928&oldid=110972 * MinekPo1 * (+1) fix typo
09:15:47 -!- pool has quit (Ping timeout: 256 seconds).
09:16:47 -!- sprout has quit (Ping timeout: 256 seconds).
09:17:17 -!- sprout has joined.
09:40:41 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167929&oldid=167927 * Yayimhere2(school) * (+0) /* Semantics */
09:42:59 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167930&oldid=167929 * Yayimhere2(school) * (+3) /* Semantics */
09:43:19 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167931&oldid=167930 * Yayimhere2(school) * (+10) /* Semantics */
09:44:31 <esolangs> [[Thing]] https://esolangs.org/w/index.php?diff=167932&oldid=167931 * Yayimhere2(school) * (+62) /* Semantics */
09:51:08 <esolangs> [[Byte]] https://esolangs.org/w/index.php?diff=167933&oldid=166512 * Yayimhere2(school) * (+38) /* computational class */
09:54:10 <esolangs> [[Byte]] https://esolangs.org/w/index.php?diff=167934&oldid=167933 * Yayimhere2(school) * (-4) /* commands */
10:09:35 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:18:17 -!- tromp has joined.
10:46:30 <esolangs> [[Special:Log/newusers]] create * Justadog * New user account
11:02:02 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167935&oldid=167817 * Justadog * (+158) /* Introductions */
11:06:16 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167936&oldid=167935 * Justadog * (+1) /* Introductions */
11:46:15 -!- amby has joined.
11:50:32 -!- chiselfuse has quit (Remote host closed the connection).
11:50:46 -!- chiselfuse has joined.
11:58:49 <APic> Hi
12:18:06 -!- ais523 has joined.
12:36:45 -!- wob_jonas has joined.
12:39:29 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:43:28 <wob_jonas> so I ran into a problem in trying to design Enchain. I want to support linking multiple compilation units, some of them Enchain and some not. but that comes with the problem that I somehow have to make sure that you don't use a global variable before initializing it. the easiest solution is if I forbid dynamic initialization in Enchain, in that
12:43:29 <wob_jonas> Enchain code that defines a global variable cannot specify initialization that calls into Enchain code.
12:47:14 <wob_jonas> now currently Enchain types cannot be defined in pure Enchain, so what I can do is that when you define an Enchain type you're required to say how to initialize it safely when it's used as a global. at the very least I have to allow zero-initialization, but it wouldn't be hard to also allow any static or dynamic initialization that you write in C
12:47:15 <wob_jonas> (which Enchain is translated to), and then it's the responsibility of whoever defines the type to ensure that the initializer doesn't call Enchain functions (or at least doesn't access potentially uninitialized globals through Enchain functions). I can also allow types that cannot be initialized and it's an error to use such a type for a global
12:47:15 <wob_jonas> variable.
12:51:14 <wob_jonas> this kind of conflicts with my previous plan where I wanted to make the compiler verify at compile time that any *local* variable is initialized before it's used. if I stick to that then it will be strange that you can safely implicitly initialize a global variable of a type but you're not allows to rely on that for a local variable. but this isn't
12:51:14 <wob_jonas> such a big deal because C already has something like this: globals are implicitly zero-initialized if you don't provide an initializer, but you need an explicit initializer for a local. alternately I could just allow local variables that are not explicitly initialized.
13:05:07 <wob_jonas> in theory I can also put all the responsibility on the programmer, as in say that accessing a global variable when it's not initialized is UB, but I would prefer if there was a safe (in roughly the Rust sense) subset of pure Enchain that you can reasonably use for programming, and this would effectively mean that you can't use globals at all and
13:05:07 <wob_jonas> have to pass around global state variables as function arguments to most functions.
13:05:59 <wob_jonas> even when they just hold constant values
13:14:58 <ais523> I think Rust also has basically this problem with global variables and doesn't really have a good solution (usually it relies on lazy initialisation but that requires a check for initialisation on every use)
13:15:44 <ais523> I suspect the correct solution is to treat global variables as sugar for parameters that are passed into every function call, so you can't call a function unless you have initialised all the globals it needs
13:15:50 <wob_jonas> yet another option is of course to deferred initialize global variables, such that each global has a global once-flag, and in any function that accesses global variables, there's a runtime check to run the initialization function of the global variable once.
13:15:53 <ais523> (but likely implemented as static addresses)
13:16:50 <wob_jonas> but I don't think I want to do that, because it's kind of too much runtime magic for Enchain, and if the Enchain programmer wants it they can implement deferred initialization themselves
13:18:12 <wob_jonas> ais523: yes, the problem isn't specific to Enchain
13:18:48 -!- pool has joined.
13:22:14 -!- zzo38 has quit (Ping timeout: 244 seconds).
13:25:14 <wob_jonas> to a large extent I'm trying to design Enchain code so it maps to C code. the C rule is simply that globals are initialized to a compile-time constant. but Enchain doesn't have a general concept of compile-time constants, or at least I don't know that it has that yet. that's why I figured the easiest way is an implicit initializer for every type.
13:25:15 <wob_jonas> but I could also make the initializer explicit, only it can't be an arbitrary function call, but only a foreign function that is specifically designated as a safe way to initialize a global. and at that point it's simpler to only allow one implicit initializer function.
13:26:59 <wob_jonas> I want Enchain to have literals, which would have types from the standard library (integer or integer array), and I can allow these too as safe global initializers, but I think if I only allowed types that have compiler support for literals as globals that would be too restrictive.
13:32:04 <esolangs> [[Sike]] https://esolangs.org/w/index.php?diff=167937&oldid=167919 * Yayimhere2(school) * (+0) /* Interpreter */ node to mode
13:36:54 -!- wob_jonas has quit (Quit: Client closed).
13:38:56 -!- pool has quit (Quit: The Lounge - https://thelounge.chat).
13:39:39 -!- pool has joined.
13:50:48 <esolangs> [[Special:Log/newusers]] create * Antojo7595 * New user account
13:54:18 -!- tromp has joined.
13:58:05 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=167938&oldid=167159 * I am islptng * (+186) -> SletScript
13:58:44 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167939&oldid=167936 * Antojo7595 * (+168) /* Introductions */
14:02:37 <esolangs> [[User:I am islptng]] https://esolangs.org/w/index.php?diff=167940&oldid=167507 * I am islptng * (+97)
15:40:17 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:58:01 -!- tromp has joined.
16:13:52 -!- pool has quit (Read error: Connection reset by peer).
16:15:53 -!- pool has joined.
16:27:28 -!- Lord_of_Life_ has joined.
16:28:36 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:29:32 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:43:47 <esolangs> [[Sike]] https://esolangs.org/w/index.php?diff=167941&oldid=167937 * Zip * (+42) correct documentation of swapn
17:13:59 -!- pool has quit (Read error: Connection reset by peer).
17:15:57 -!- pool has joined.
17:27:02 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
17:27:02 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
17:31:21 <esolangs> [[Fourest]] N https://esolangs.org/w/index.php?oldid=167942 * Hammy * (+1274) Created page with "{{Distinguish/Confusion|4est|Forest}} ''Both names were original names for this. Fourest is a tree-based esolang<ref>At least, this is what the creator thinks a tree-based esolang could be like.</ref> by [[User:Hammy]]. It was supposed to be called Forest, then 4est but b
17:47:02 -!- simcop2387 has joined.
17:53:15 <esolangs> [[PIX]] https://esolangs.org/w/index.php?diff=167943&oldid=143838 * MihaiEso * (+219) /* PIX's official logo */ Added another example!
17:54:07 -!- perlbot has joined.
18:13:08 <esolangs> [[Impossicode]] N https://esolangs.org/w/index.php?oldid=167944 * Hammy * (+2318) Created page with "Welcome to Impossicode, your worst nightmare. Inspired by [[Malbolge]] and made by [[User:Hammy]] ==Help operation== {| class="wikitable" |+ |- ! Help on base 3 (extensions are obvious)!! 0 !! 1 !! 2 |- ! 0 || 2 || 1 || 0 |- ! 1 || 1 || 0 || 2 |- ! 2 || 0 || 2 || 1
18:13:10 <esolangs> [[MarkupLang]] https://esolangs.org/w/index.php?diff=167945&oldid=160688 * MihaiEso * (+388) /* Syntax Highlighting Languages */
18:14:07 <esolangs> [[MarkupLang]] https://esolangs.org/w/index.php?diff=167946&oldid=167945 * MihaiEso * (+29) /* Syntax Highlighting Languages */
18:25:13 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
18:25:13 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
18:26:35 <esolangs> [[Sike]] https://esolangs.org/w/index.php?diff=167947&oldid=167941 * Zip * (+5164) Sike is turing complete.
18:28:58 <esolangs> [[Sike]] https://esolangs.org/w/index.php?diff=167948&oldid=167947 * Zip * (+213) /* Computational class */ clarify how to use CT Sike converter
18:42:31 -!- simcop2387 has joined.
18:46:33 -!- perlbot has joined.
18:48:18 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:02:32 -!- tromp has joined.
19:16:08 -!- zzo38 has joined.
19:16:46 <esolangs> [[B9]] M https://esolangs.org/w/index.php?diff=167949&oldid=167510 * JIT * (+173)
20:14:14 -!- pool has quit (Read error: Connection reset by peer).
20:16:19 -!- pool has joined.
21:14:18 -!- pool has quit (Read error: Connection reset by peer).
21:14:28 -!- Bowserinator has quit (Ping timeout: 256 seconds).
21:15:35 -!- iovoid has quit (Read error: Connection reset by peer).
21:16:24 -!- pool has joined.
21:16:41 -!- Bowserinator has joined.
21:17:21 -!- iovoid has joined.
21:33:14 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=167950&oldid=167506 * PhiPhiPHipHi2.0 * (-37)
22:19:26 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=167951&oldid=167893 * Buckets * (+12)
22:20:13 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=167952&oldid=167889 * Buckets * (+13)
22:20:30 <esolangs> [[Jumble]] N https://esolangs.org/w/index.php?oldid=167953 * Buckets * (+2961) Created page with "Jumble is an Esoteric Programming language created By [[User:Buckets]] in 2024. {| class="wikitable" |- ! Effecting the Previous Number Pair !! Instructions |- | 0,0 || Set the current coordinate to a command That Rotates the Current Direction 90 degrees Clockwise. |- |
22:31:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:33:57 <APic> Good Night Folks
22:58:30 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167954&oldid=167885 * NTMDev * (+1293)
23:01:10 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167955&oldid=167954 * NTMDev * (+82)
23:10:02 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167956&oldid=167955 * NTMDev * (+739)
23:11:09 -!- somefan has joined.
23:13:23 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167957&oldid=167956 * NTMDev * (+140)
23:24:50 -!- somefan has quit (Quit: Client closed).
23:25:16 <esolangs> [[User:Olus2000]] M https://esolangs.org/w/index.php?diff=167958&oldid=163806 * RocketRace * (+1) get freaking typofixed
23:27:52 -!- Sgeo has joined.
2025-11-12
00:22:32 -!- DOS_User_webchat has joined.
00:22:45 -!- DOS_User_webchat has changed hostmask to ~DOS_User_@user/DOS-User:11249.
00:46:12 -!- DOS_User_webchat has quit (Remote host closed the connection).
00:54:26 -!- ais523 has quit (Quit: quit).
01:13:52 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167959&oldid=167957 * NTMDev * (+909)
01:36:44 <Sgeo> There must exist a point at which if a Brainfuck implementation has too few memory cells, or the Brainfuck code cannot exceed a certain length, the existence of the implementation no longer proves that it's... whatever the memory bounded version of TC is. What is that point?
01:38:03 <int-e> Sgeo: Sure, if you follow along these lines you may come to see a computer as a giant but finite state machine.
01:38:35 <int-e> But TC is a much nicer theoretical concept than "fit for programming" which is what we care about in practice. Not necessarily for esolangs though.
01:39:02 <int-e> Sgeo: The original Brainfuck had 30k 8-bit cells so it's not TC either.
01:40:11 <Sgeo> I keep thinking about "compiling" Brainfuck to Burroughs E101. E101 only has 100 cells. And I don't see an easy way to... decrement a pointer in few instructions unless I limit to 10 cells. And there's only room for 8*16=128 instructions in E101's ... program
01:40:40 <int-e> Sgeo: Basically no actual implementation of any programming language is TC. (You could cheat by adding more storage peripherals over time, though eventually you'll run into physical limitations doing even that.)
01:41:35 <Sgeo> Also E101 doesn't do constants. So I'd also be "compiling" into instructions for the user: At the first halt type this number, at the second halt type this number, etc..
01:41:47 <Sgeo> Which is how real programs on it worked too
01:41:49 <int-e> Sgeo: Right, that may be too small for a brainfuck target. Or, really, for basically anything you want a computer to do. :)
01:41:53 <int-e> (these days)
01:42:46 <int-e> it really sounds more like an electronic calculator that has some basic macro capabilty for user-defined functions
01:43:31 <Sgeo> Burroughs was a calculator company. The keyboard looks like an adder machine. But I think it is in some sense a full computer (not a stored-program one though)
01:43:45 <Sgeo> https://bitsavers.org/pdf/burroughs/Electrodata/E101/
01:44:13 <int-e> yeah sorry I'm not going to be drawn into details :P
01:45:52 <int-e> Sgeo: Can you sort an array of 10 cells without human intervention? What about 50 cells or all 100? :)
01:45:52 <Sgeo> There's an extension that does allow setting E and F from the accumulator, I guess that can be used if I store a pointer in memory
01:46:45 <int-e> (sorting is one of the basic tasks that we often want a computer to do :) )
01:47:54 <Sgeo> I don't think I'm going to attempt to write a sort routine. Might not be able to do all 100 if it needs more scratch space than just the accumulator. There's a library of subroutines, all of which are math functions.
01:47:56 <int-e> I don't need an answer to the question. I'm musing about where I'd draw the line between a calculator and a computer.
01:48:56 <int-e> And I think if it *can't* sort then it's not a computer. If it can sort... well, that clearly moves it closer. Is it enough for me? I don't know! Obviously modern computers do so much more.
01:51:52 <int-e> (Interesting side show: Are analog computers for space crafts computers :) )
01:54:43 <Sgeo> Is there a sort where the only time I have to decrement the pointer is going back to the beginning of the array? I think that would be -easier- to implement
01:54:52 <Sgeo> (I'm not actually attempting to implement)
01:55:17 <Sgeo> I was thinking bubble sort but that doesn't quite fit
02:03:10 <int-e> Sgeo: uh, there is this horribly inefficient thing: https://paste.debian.net/1405805/
02:03:47 <int-e> (2**64 is supposed to be a number larger than any number of interest)
02:05:22 <Sgeo> Yeah I think that's implementable
02:05:38 <int-e> "horribly inefficient" -- it's exponential
02:06:06 <int-e> not quite as bad as the expected runtime of bogosort but close
02:09:47 <int-e> Well, IIRC it had O(2^n) worst case, O(2^n / n) average case and only O(n^2) worst case.
02:10:20 <int-e> Assuming that the numbers to be sorted are all distinct
02:11:10 <int-e> err the second "worst case" was supposed to be "best case"
02:25:31 <sorear> the usual approach is to define a generalization of the machine where the memory size is a parameter, then prove that the problem is PSPACE-complete
02:25:36 <sorear> like nxn chess
02:30:17 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167960&oldid=167959 * NTMDev * (+73)
02:30:54 -!- 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).
02:32:19 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167961&oldid=167960 * NTMDev * (+379)
02:35:08 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=167962&oldid=167961 * NTMDev * (+201)
02:37:32 <esolangs> [[User:NTMDev]] https://esolangs.org/w/index.php?diff=167963&oldid=167818 * NTMDev * (+14)
03:01:29 <Sgeo> There's an optional addition that allows for 220 cells. Said addition also makes it easier to load a cell as a pointer in, um. I think 5 instructions.
03:01:52 <Sgeo> Which seems like a lot
04:00:39 <esolangs> [[Talk:INTERCAL]] https://esolangs.org/w/index.php?diff=167964&oldid=167847 * Jasper * (+209) /* Useful functions made using INTERCAL's unary / binary operators */
04:18:39 <sorear> if you write a bubble sort pass to write back the output 1 element later than it was read, you don't need to decrement anything. if you make the array circular, the data will be in the correct places after a number of iterations equal to the array size, which is exactly how many you need for the array to be sorted. I have 25 instructions https://paste.debian.net/1405811/
04:19:46 <sorear> apart from the harvard architecture and the coroutines (!) it seems like a fairly standard one-address machine
04:20:47 <sorear> the first 94 should be a 95, one-way counter to know when the sort is done
04:44:14 <Sgeo> !!!
04:44:22 <Sgeo> I should... maybe look at writing an emulator soon, huh.
04:57:13 <Sgeo> sorear, awesome! Though I'm not sure what you mean by the bracketed numbers, they can't be pinboard numbers
05:14:09 <Sgeo> Oh I see. Instruction numbers, and the second [0] is pinboard ... um. Did you index pinboards by 0? They go 1-8, with 0 meaning same pinboard.
06:15:55 -!- pool has quit (Ping timeout: 256 seconds).
06:16:15 -!- pool has joined.
06:43:24 <Sgeo> floor(log2(999999999999))+1 ... I think that's correct for how many bits needed to hold a 12 decimal digit number, right?
06:50:40 -!- chiselfuse has quit (Remote host closed the connection).
06:50:58 -!- chiselfuse has joined.
07:06:49 <esolangs> [[$]] M https://esolangs.org/w/index.php?diff=167965&oldid=144365 * ThrowAwayLurker * (+90) Added easily inferable detail that still deserves explicitness; also semicolon because I'm a nerd and it makes it flow better
07:10:03 <esolangs> [[Backsharp]] M https://esolangs.org/w/index.php?diff=167966&oldid=90825 * ThrowAwayLurker * (+4) Added dash
07:11:28 <esolangs> [[SQ]] M https://esolangs.org/w/index.php?diff=167967&oldid=80607 * ThrowAwayLurker * (-9) User page links should be clearly user page links, thus the "user:" should be included
07:27:14 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167968&oldid=167579 * Yayimhere2(school) * (-97) /* how it works */
07:31:53 <esolangs> [[Tttt]] https://esolangs.org/w/index.php?diff=167969&oldid=91798 * ThrowAwayLurker * (+505) Made it clearer and more professional/serviceable
07:35:44 <esolangs> [[Talk:Chimera]] N https://esolangs.org/w/index.php?oldid=167970 * ThrowAwayLurker * (+216) Created page with "Isn't the language trivially Turing-complete as it allows for the computation of arbitrary lambda functions? ~~~~"
07:39:10 -!- somelauw has joined.
07:48:18 <Sgeo> *self.memory.get(tens, ones)? = self.a;
07:48:28 <Sgeo> It feels weird to have a question mark on the left of the assignment like that
07:53:38 -!- tromp has joined.
07:54:16 <b_jonas> Sgeo: if you can use two pointers then you can do a bubble sort with pointers that you can only decrement by resetting
07:54:35 <b_jonas> or does this have like a tape/drum memory with just one pointer because there's one head?
07:55:04 <b_jonas> I think even with one head you can do a bubblesort, you just keep shifting the array forward in every iteration
07:55:29 <Sgeo> The "pointer" is two switches that can be increased up. sorear wrote a sort that does the shifting array forward thing
07:56:15 <sorear> Sgeo: don't forget the sign bit
07:56:18 <Sgeo> I believe it is drum memory but that's not what the issue is. In the 220 memory model there is an instruction that can set the switches according to values in the accumulator
07:57:04 <Sgeo> sorear, thank you. 32 bits isn't enough anyway so rounding to 64 which is plenty
07:57:44 -!- somelauw has quit (Remote host closed the connection).
07:59:49 <sorear> it's almost but not quite a decimal64
08:00:49 <Sgeo> I'm sort of treating them as integers and assuming the implicit decimal point only matters during multiplication and division
08:01:50 <Sgeo> I should probably sleep soon
08:02:41 <Sgeo> I want a closer picture of the keyboard so I can understand X and Y better. Do they... default to 0? Or alarm if used and not set?
08:05:49 -!- svm has joined.
08:08:33 -!- msv has quit (Ping timeout: 265 seconds).
08:36:01 -!- Sgeo has quit (Read error: Connection reset by peer).
09:05:59 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167971&oldid=167968 * Yayimhere2(school) * (+112) /* how it works */
09:18:55 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167972&oldid=167971 * Yayimhere2(school) * (+517) /* examples */
09:21:31 <esolangs> [[Action symbol]] https://esolangs.org/w/index.php?diff=167973&oldid=167972 * Yayimhere2(school) * (+133) /* Computational class */
09:26:32 <esolangs> [[Talk:Esolang Quality Rating System]] https://esolangs.org/w/index.php?diff=167974&oldid=106292 * Yayimhere2(school) * (+540)
09:31:11 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=167975&oldid=167862 * Yayimhere2(school) * (-1)
09:36:35 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=167976&oldid=167975 * Yayimhere2(school) * (+27) /* Examples */ Added a see also section, with Also?
09:38:37 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=167977&oldid=167976 * Yayimhere2(school) * (+42) /* Semantics */
09:40:53 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=167978&oldid=167977 * Yayimhere2(school) * (+41) /* Semantics */
09:44:04 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=167979&oldid=167978 * Yayimhere2(school) * (+114) /* Semantics */
09:51:22 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:39:04 <esolangs> [[One-Instruction Cyclic Tag]] https://esolangs.org/w/index.php?diff=167980&oldid=154954 * Yayimhere2(school) * (-52) /* Instruction TAG */ The placement of the <code> tags is weird, so I "fixed" it.
11:01:55 <esolangs> [[Talk:Stroke]] https://esolangs.org/w/index.php?diff=167981&oldid=129057 * Yayimhere2(school) * (+1068)
11:20:53 <esolangs> [[Mascarpone]] https://esolangs.org/w/index.php?diff=167982&oldid=123948 * Yayimhere2(school) * (+2) /* Stacks */ there was a missing "a" to my knowledge
11:47:05 <esolangs> [[InterWater]] https://esolangs.org/w/index.php?diff=167983&oldid=9082 * Tpaefawzen * (+47) +au +cat
11:47:58 <esolangs> [[VENIAL]] https://esolangs.org/w/index.php?diff=167984&oldid=9049 * Tpaefawzen * (+19) +catyr
12:19:16 -!- svm has changed nick to msv.
12:27:24 <APic> Hi
12:33:24 -!- ais523 has joined.
12:44:11 <ais523> <int-e> And I think if it *can't* sort then it's not a computer. ← what if it's able to produce tables of log, sin, cos? (IIRC this was Babbage's original motivation for inventing the computer)
12:47:26 <int-e> ais523: still just a calculator to me
12:47:37 <int-e> none of this is objective!
12:48:10 <int-e> I mean my idea of a calculator is shaped by a pocket calculator that I used in school, which had trignometric and hyperbolic functions
12:48:21 <int-e> so it can't be that hard, right ;)
12:48:33 <esolangs> [[Talk:Esolang Quality Rating System]] https://esolangs.org/w/index.php?diff=167985&oldid=167974 * Ais523 * (+693) /* Computational Class points revamp */ thoughts
12:52:59 <fizzie> Pocket calculators with trigonometric functions are a sin.
12:54:39 <int-e> it's for a good cos
12:55:51 <fizzie> Well, in the burning pit you'll have time to work on your tan. (Okay, that's a stretch.)
12:56:32 <sorear> traditional card sorters are much simpler than anything that can do math
12:57:17 <int-e> necessary, not sufficient
12:58:19 <ais523> when I was a child I made a mechanical card sorter (in which the numbers to sort by were written in binary using holes and slots along the edge of the card
12:59:11 <ais523> although it was mostly manual, you had to move the components into the right place by hand but that was only O(n log n) effort
12:59:26 <ais523> (you have to do it log n times, and push the pin through n cards)
12:59:32 <int-e> radix sort is still cool
12:59:50 <ais523> yep, the algorithm is basically binary radix sort
13:00:15 <ais523> although the non-recursive version (sort by lsb, then sort by second-lsb, etc.)
13:00:34 <ais523> hmm, I just realised that radix sort is stable
13:02:40 <fizzie> It always amuses me when reading the Lensman books when they have faster-than-light inertialess flight, antimatter ("negaspheres") and mind powers, but then rely on punch card databases to sort through people, and mechanical calculators to solve space ship navigation. Here's some choice quotes: https://0x0.st/KpK_.txt
13:03:48 <fizzie> Imagine solving "course-and-distance problems" at a rate of ten per minute! That's progress.
13:03:56 <ais523> at least in computer games, mixing technology from a large number of time periods, including the plausible future and the implausible future, often leads to a good game even though it doesn't make sense as a setting
13:04:00 <ais523> so it wouldn't surprise me if fiction can do the same
13:07:38 <fizzie> Science did march on a little in the course of the series, it must be said. Those quotes were from a story originally published in 1939; it and the other books near it also consistently used the word "computer" to mean a person who makes computations. But in a 1947 sequel there's a reference to "the big computer at Ultra Prime" where context makes it clear it's an (electronic?) device of some
13:07:40 <fizzie> sort.
13:12:49 <ais523> thinking about it, technology that is quick to invent doesn't necessarily correlate with technology that people imagine would be useful
13:13:08 <ais523> a good example of a science-fiction technology that actually did turn out to be possible, and get invented, is television
13:13:45 <ais523> even before it was invented, it was quite common for science-fiction stories to have video-based communication devices and I think the word "television" had already been coined before the invention itself was created
13:16:19 <int-e> tele-vision is an old magic trope too, add film and telegraph and it's not that much of a stretch?
13:22:25 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=167986&oldid=167659 * RaiseAfloppaFan3925 * (+983) Added Esolang Quality Rating System ratings
13:23:13 <int-e> fizzie: hmm isn't there some science fiction that has space travel and then on board communication uses pneumatic tubes :)
13:24:30 -!- amby has joined.
13:48:40 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
13:48:40 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
13:59:13 <esolangs> [[Thueue]] N https://esolangs.org/w/index.php?oldid=167987 * Yayimhere2(school) * (+1517) Created page with "'''Thueue''' is a [[dequeue]] based [[Thue]] style esolang. It can too do replacements, however only at the start and end of the string, and only on individual elements. == Semantics == Thueue uses the following syntax: ''D'' 1 [''x'']$ [''y'']$ < 2 [''x'']
13:59:34 <esolangs> [[Thueue]] https://esolangs.org/w/index.php?diff=167988&oldid=167987 * Yayimhere2(school) * (-2)
14:02:38 <esolangs> [[Thueue]] https://esolangs.org/w/index.php?diff=167989&oldid=167988 * Yayimhere2(school) * (+23) /* Semantics */
14:03:56 <esolangs> [[Thueue]] https://esolangs.org/w/index.php?diff=167990&oldid=167989 * Yayimhere2(school) * (-23) /* Semantics */
14:09:33 <esolangs> [[Talk:Bitwise Cyclic Tag]] https://esolangs.org/w/index.php?diff=167991&oldid=122871 * Yayimhere2(school) * (+156) /* Turing-completeness of BCT without arbitrary memory string as input? */
14:14:02 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=167992&oldid=167870 * Yayimhere2(school) * (+13) /* esolangs */
14:14:41 <esolangs> [[Thueue]] https://esolangs.org/w/index.php?diff=167993&oldid=167990 * Yayimhere2(school) * (+0) /* Semantics */
14:15:28 -!- pool has quit (Read error: Connection reset by peer).
14:15:49 -!- pool has joined.
14:18:15 <esolangs> [[Talk:Bitwise Cyclic Tag]] https://esolangs.org/w/index.php?diff=167994&oldid=167991 * Ais523 * (+306) /* Turing-completeness of BCT without arbitrary memory string as input? */ r to Yayimhere: you can just pad out the productions to ignore the extra digits
14:20:44 -!- pr1sm has joined.
14:40:34 -!- chiselfuse has quit (Remote host closed the connection).
14:40:38 <fizzie> I feel like one Lensman book had a speaking tube (not pneumatic, just your regular old tube), but I couldn't find it easily.
14:40:50 -!- chiselfuse has joined.
14:41:08 <fizzie> They talk a lot about tubes because there's also multiple plot-relevant "hyperspatial tubes" (read: wormholes).
14:41:46 <ais523> fizzie: well if you think about the world before the telephone is invented, it's unclear whether working electronic sound transmission or hyperspatial wormholes will be invented first
14:41:56 <ais523> you can probably imagine both of them and have no idea how to implement either
14:43:30 <fizzie> Fair, though this isn't a pre-telephone story. They do have ("ultra-wave") radios for at least ship-to-ship communication.
14:46:10 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167995&oldid=167939 * Python yyds * (+143)
14:46:27 <esolangs> [[User:Python yyds]] N https://esolangs.org/w/index.php?oldid=167996 * Python yyds * (+212) Created page with "==Introductions== Python_yyds Hi world,I'm Python_yyds! I think esolang is interesting so I join it.~~~~"
14:47:02 <esolangs> [[CContains]] https://esolangs.org/w/index.php?diff=167997&oldid=150307 * Yayimhere2(school) * (-20) Changed an incorrect title into a lowercase
14:47:08 <fizzie> The hero "donned his headset" to ask for reports from different parts of the ship, so I think they're using something telephone-like also for intra-ship comms.
14:48:40 <esolangs> [[User:Python yyds]] https://esolangs.org/w/index.php?diff=167998&oldid=167996 * Python yyds * (+69) /* Introductions */
14:48:55 -!- amby has quit (Ping timeout: 240 seconds).
14:49:53 <int-e> . o O ( we'll sooner have flying cars than ubiquitous transcontinental real-time communication )
14:50:34 <ais523> int-e: ooh, that's a tough one
14:52:02 -!- amby has joined.
15:29:10 <avih> korvo: did you write https://esolangs.org/wiki/Algebraic_Brainfuck ? (i followed it from your RPython code)
15:41:46 <avih> korvo: if yes, then i've reached "As a monoid", which i didn't yet read, but i already have two questions: 1. {scalemove,move}2 should probably be a specific subset of a more generic thing with N offsets and M values. I don't know whether that's a limitation of the listing syntax. and 2. i don't get omega (what it's good for). i can tell it's either no-op or an infinite loop, depending on whether k is 0 or not, respectively, but not why it's on this list.
15:43:22 <avih> (if that's explained later, just let me know. i'll get later eventually)
15:45:39 <esolangs> [[Special:Log/newusers]] create * Cyclic Tag * New user account
15:46:33 <avih> or maybe omega is on that list because otherwise there are some bf programs which cannot be represented with only the other items on that list? like an observable side effect that the program never stops?
15:46:52 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=167999&oldid=167995 * Cyclic Tag * (+301)
15:47:12 <int-e> avih: it's a nonterminating piece of code, and the name is probably inspired by Combinatory Logic
15:47:35 <int-e> you could have rules like omega(k) x = omega(k) but nothing like this appears to be done there
15:47:44 <int-e> (for k != 0)
15:47:55 <avih> int-e: it's not necessarily non terminating, but it can be, yes. however that's not what i asked.
15:48:09 <avih> i asked why it's on this list.
15:48:52 <int-e> it's an absorbing element for a ton of stuff in the monoid
15:49:00 <int-e> but the page doesn't do anything with that (yet?)
15:49:29 <avih> ok, then i'm again bumping into my monoid no-knowledge issue. thanks.
15:51:31 <avih> int-e: and do you know why {scalemove,move}2 exist explicitly on that list, and not implicitly as a subset of a more generic N pairs of (offset,value)?
15:51:59 <avih> is that a limitation of the syntax used there?
15:53:21 -!- DOS_User_webchat has joined.
15:53:28 -!- DOS_User_webchat has changed hostmask to ~DOS_User_@user/DOS-User:11249.
15:54:06 <avih> or is it because scalemove,move and scalemove2,move2 together are the building blocks which allow to express any set of N offset,value pairs?
15:55:15 <int-e> I don't know. I guess the syntax is limited to a fixed number of arguments and http://www.cs.tufts.edu/~couch/bfmacro/bfmacro/ stops at move2()
15:55:55 <avih> (but then move is a subset of scalemove, so it could be removed too... i don't think i get what this list is supposed to represent, other than some list of possible macro definitions, not necessarily a minimal one)
15:56:11 <int-e> anyway, yeah, if you want the author's thoughts you'll have to wait for korvo to reply
15:56:32 <avih> k, thx
15:57:23 <int-e> (or, if idling on IRC isn't your thing, try the talk page(s))
15:58:06 <avih> the bouncer works for me ;)
15:58:27 <avih> it's not like i'm sitting and waiting for a reply....
16:00:15 -!- DOS_User_webchat has quit (Ping timeout: 250 seconds).
16:01:25 -!- DOS_User_webchat has joined.
16:01:29 -!- DOS_User_webchat has changed hostmask to ~DOS_User_@user/DOS-User:11249.
16:03:52 <avih> korvo: and somewhat regardless, if your code (which i didn't try to follow yet) merely represents the program in some immediate translation to this or a similar form, and the performance comes from being executed efficiently? or does it also include some additional (post?)processing steps (optimizations) which aim to simplify the expression into fewer expressions, which translates immediately to shorter execution time?
16:04:08 <avih> s/if your code/is your code/
16:05:00 <avih> (like identifying redundancies and removing them from the expressions)
16:08:50 -!- DOS_User_webchat has quit (Remote host closed the connection).
16:15:07 <avih> and finally, assuming it does apply known equivalence rules (your program), does it end up in some optimal list? or is it only optimal for some subset of knowledge which can theoretically exist about a bf program?
16:17:57 <avih> fwiw, while my interpreter is reasonably quick in some cases, i want to remove any specific "macros", and base it purely on observable side effects, hopefully ending up in some optimal execution list (wishful thinking).
16:18:18 <ais523> I can answer this one, algebraically optimising BF will not necessarily reach a theoretically optimal point because optimally optimising a program is undecidable
16:18:37 <int-e> avih: anyway, "monoid" here is just a fancy term to capture the concatenation operation of programs with basic properites: there's a unit e (the empty program) with ex = xe = x for all programs x, and concatenation is associative, (xy)z = x(yz)
16:18:56 <ais523> like, you can imagine a program that searches for counterexamples to the Goldbach conjecture, that probably optimises into an infinite loop but good luck proving it
16:19:02 <avih> int-e: yeah, i got that. i just read the monoid subsection.
16:20:15 <avih> ais523: not familiar with the specifics, but yeah, i think i get the point, at least roughly.
16:20:19 <int-e> the definitions on the page seem to have mixed purposes... some are useful for translating into brainfuck; some others are useful for analyzing, optimizing, standardizing, and maybe compiling brainfuck
16:21:07 <avih> int-e: my point exactly. i don't get what it's supposed to represent other than some set of macros.
16:21:24 <esolangs> [[Special:Log/newusers]] create * Losbos * New user account
16:23:58 <avih> i hoped that it would represent some minimal set which is able to represent any bf program, and which is easy to optimize. but that minimal set has to be plus(int),right(int),loop(code),input,output
16:25:54 <avih> (there are likely other sets too, but this is the most obvious)
16:27:44 -!- Lord_of_Life_ has joined.
16:28:29 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:30:34 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:31:17 <avih> ais523: re not possible in general, i think it should be possible to reach have some theoretical optimal result under some known constraints for the compiler, such as complexity of processing the input before starting execution. does that feel about right?
16:32:20 <ais523> avih: hmm, that's interesting, "best available optimisations given a given computational class for the compiler"
16:32:38 <ais523> but I think it's still undecidable, any valid optimisation could be special-cased so you can do it in O(1)
16:32:49 <avih> like, if you say the compiler is only allowed to run in O(N), then there must be some theoretical result of the most it can do with the program. same for O(N log N), etc
16:33:22 <ais523> some real compilers do have some special cases like that, e.g. clang recognises a common way to write the count-set-bits function and optimises it into the processor intrinsic
16:33:49 <ais523> it'd take a lot of effort to prove that optimisation correct, but clang doesn't have to because it just matches the pattern directly, so it doesn't slow the compiler down at all
16:34:00 <ais523> (at least in a computational-complexity sense)
16:36:15 <avih> sure. pattern matching is one way to do that, but for that you need to collect a list of patterns. my approach is to ignore patterns, or at least only consider known basic equivalences, and on top of that build the execution list based on observable side effects
16:37:19 <ais523> avih: it would be hard to come up with a theorem about this because it is not well-defined
16:37:39 <avih> what's not well defined? observable side effects?
16:37:53 <ais523> "known basic equivalences"
16:38:08 <avih> indeed. i hoped that would not be the case
16:38:10 <avih> :)
16:40:21 <avih> currently my known equivalence is that a loop which effectively doesn't moves the head and modifies the head data by 1 is a counter.
16:40:46 <ais523> oh, no, that one isn't actually true
16:40:53 <ais523> because the head cell can be moved in an inner loop
16:40:55 <ais523> * modified
16:41:05 <ais523> I guess it's true if you don't allow inner loops to modify the looped-on cell either
16:41:13 <ais523> but, it won't necessarily be true that every iteration will do the same thing
16:41:57 <avih> that's included in "doesn't move the head". obviously it's recursive for internal loops too. if an internal loop moves the head by unknown amount then it cannot be considered "not moving the head"
16:43:04 <ais523> avih: no, I mean things like [->[-<+>]<]
16:43:19 <avih> it comes down to how much can you know about the state, and that's limited by the constraints you put on the compiler in terms of computational class
16:44:00 <avih> sec, let me get what it does
16:44:37 <ais523> (admittedly this specific example isn't useful, more complicated versions can be TC though)
16:46:09 <avih> ais523: it cannot be said that it changes the counter by 1, at least not in some way which i can tell trivially
16:46:48 <ais523> avih: right – the structure is "counter loop containing a balanced loop" but the inner balanced loop overwrites the counter
16:46:55 <avih> it has some interaction of the outer head value with the inner loop. if you could conclude that it's 0 (which you can't), then it would have been a counter.
16:48:54 <esolangs> [[One-Instruction Cyclic Tag]] M https://esolangs.org/w/index.php?diff=168000&oldid=167980 * Aadenboy * (-12)
16:49:32 <avih> anyway, the idea is to collect knowledge as the program is processed, and maintain some known state at any point in time (this might include actual known values, but also knowledge that some cells have unknown values), and based the execution list creation on top of that
16:50:40 <avih> and a loop which ends up moving head by an unknown amount means we now know nothing, and throw away all our existing knowledge.
16:53:00 <avih> (but sometimes we can know that amount, for instance if we know the loop moves the head left by 1 on each iteration (until head cell has value 0), and we also know that the previous cell has value 0, at which case we don't have to drop our knowledge.
16:54:55 <avih> (and we also know it's not actually a loop, but at most an "if")
16:56:46 <avih> the interesting parts are 1. how to represent the knowledge and with which limitations. 2. how to produce the execution list using this knowledge. and i already have ideas for both.
16:59:58 <avih> in a nutshell, the knowledge is respectively, the last known instruction per cell (which we may or may not have), and producing the list means we have to "flush" the knowledge as instructions as soon as we have to lose the knowledge about a cell - and if some other cell depends on the current value of this cell. example of when we have to drop the knowledge about cell X is when there's input into cell X.
17:02:12 <avih> so before we store this new knowledge (that X is now unknown input), we have to "flush" (produce instructions which sets the cell with our existing knowledge - and everything else which depends on the value of this cell).
17:03:25 <avih> and if each instruction can depend only on one other cell (and some constants), then it _should_ be a relatively simple graph.
17:04:10 <avih> hopefully maintainable in no more than O(N log N), but not sure about that yet.
17:06:51 <korvo> avih: To answer your biggest question: the "scale" and "move" terminology comes from bfmacro. The algebraic rules for those ops come from common lore; I collected them from various Brainfuck compilers and interpreters.
17:06:53 <avih> an example of what such framework should be able to produce, for instance, is to translate the classic hello world program into a series of putchar instructions (each with an immediate value)
17:07:52 <avih> korvo: IOW, they're some patterns which bf interpreters apply?
17:08:36 <korvo> avih: Also, yes, there is an optimal TC fragment of the monoid given by loops over pointer-propagating terms. I don't know what its rank is; for a [[monoid]], its *rank* is the minimum number of letters in any equivalent syntactic monoid. (Intuitively: the smallest alphabet that still faithfully represents every program.)
17:08:46 <avih> "TC" ?
17:08:54 <korvo> avih: Yeah. That's not an original page at all; it's 100% collected lore.
17:09:08 <avih> gotcha. what's "TC"?
17:09:34 <korvo> Oh, sorry. Turing-completeness. For a monoid, Turing-completeness usually means that it's not possible to decide whether an arbitrary term is in normal form.
17:09:48 <avih> right
17:09:57 <avih> (why didn't i think of that?!)
17:10:01 <avih> (TC)
17:10:21 <korvo> (It's okay, I'm prone to overusing jargon. I don't mind being asked to rephrase or simplify.)
17:10:54 <avih> it's ok, i don't mind asking if i don't get something, or at least declaring that :)
17:11:26 <korvo> avih: Have you encountered the concept of *abstract interpretation* yet? It fits cleanly into the monoidal way of doing things and it formalizes your idea about having partial knowledge of the current runtime state.
17:11:44 <avih> no
17:12:03 <avih> but it makes sense that i'm not the first to think about such model :)
17:12:55 <korvo> Your idea makes plenty of sense. The idea is that a concrete interpreter computes *exactly* the right answer, but could spend unbounded time doing that; an abstract interpreter only *approximates* the answer, but never visits any part of a program more than a fixed number of times (often just one visit!)
17:13:43 <avih> ideally just once, but i don't know whether that's possible.
17:14:12 <avih> or rather, whether O(N) is enough for whatever definition of ideal.
17:14:14 <korvo> My bf.py RPython interpreter uses abstract interpretation to do the optimization. It takes input expressions and splits them up into primitive pieces of the monoid, and then reassembles them step-by-step. TBH this is *not* the only way to do it, but it is very neat because part of the approximated value is the optimized program!
17:15:43 <avih> it does sound very neat. mind showing me the list of instructions it produces, if at all, for this? https://0.vern.cc/b.txt
17:16:12 <korvo> Oh, there will always be programs that you can't idealize. Suppose we write out the Goldbach conjecture as a program: for every even number, look for a pair of primes that sum to it; if there's no such pair, halt. The optimal representation of that program is either something like +[] or the empty program, depending on whether the conjecture is true.
17:16:42 <avih> is your execution based on a list of instructions of some sort? like some IR of some machine model? or is the execution more implicit evaluation of something?
17:17:48 <avih> (2nd time "Goldbach conjecture" is mentioned. i really should check out what that is)
17:17:50 <korvo> https://bpa.st/GTNQ
17:18:43 <avih> hmm.. so basically it "simplifies" the bf code into other bf code, and then executes it bf instruction after the other?
17:19:01 <korvo> The abstract execution's based on the original monoid at the [[Algebraic Brainfuck]] page. I might switch over to the pointer-propagation monoid but that likely will require changing the entire frontend of the interpreter up to the parser.
17:19:41 <korvo> The concrete execution's based on chaining basic blocks of actions, where each action has access to the tape and pointer, can do I/O, and must return an updated pointer. I picked this representation because it's JIT-friendly.
17:21:02 <avih> i see. but it still follows the original flow of the code. for instance it _can_ know, if it tried, in O(N) probably, that it produces a fixed list of output values
17:22:12 <korvo> Oh! Yeah, the abstract interpreter doesn't currently simulate knowledge about the tape. There's a reason for that; algebraically, Brainfuck doesn't know what the tape's topology is like, so behavior which depends on that topology isn't safe to optimize around.
17:23:23 <korvo> *That* is because this codebase has a responsibility to generate *canonicalized* versions of programs; it doesn't try to outsmart the program author. This isn't like GCC or LLVM, which have lots of hacks in order to catch bad code written by users.
17:23:35 <avih> in my model, where the only pattern it cares about is a counter loop, it should be able to know all the cell values before they're being printed, and therefore create a list of putchar statements of immediate values, where the cell values themselves has nothing which depends on them, and it's not an observable side effect, and therefore should disappear from the execution list completely
17:24:23 <avih> it does know the initial state.
17:24:32 <korvo> Is unrolling the loop going to shrink the overall size of the code? It's undecidable, actually! In your case, the loop is only representing an initialized tape, but if the loop does any I/O then it wouldn't be possible to examine.
17:24:41 <avih> that's enough to deduce the whole output in this specific case in one pass
17:25:25 <avih> it won't necessarily shrink the code size, but almost certainly reduce execution duration
17:26:08 <korvo> Sure. So, here's where I actually use bf.py: https://bbgauge.info/brainfuck.html These programs likely reduce to either +[] or [] depending on whether their underlying mathematical statements are true or false. We *don't know* the actual answers, but we can imagine how *hard* it would be to solve the problem by looking at how big the programs are.
17:26:15 <avih> especially if loops end up running more than once
17:27:50 <ais523> korvo: tangentially related to the BB gauge (although not directly relevant), so you might be interested in it: https://codegolf.stackexchange.com/questions/97004/does-the-code-terminate-nobody-knows
17:27:58 <avih> i think this entire statement is based on me grokking that page you linked?
17:28:58 <korvo> ais523: Yeah! I think I've got most of those documented here: https://bbgauge.info/problems.html
17:30:02 <korvo> avih: Probably. But the short version's not hard to appreciate: when we don't know how hard something is, but we do know what the associated computation looks like, then we can compare the computations instead of the original thing. The computations are like representations of the thing.
17:30:37 <avih> korvo: i do find it fascinating that your program is only second to Laurent's, because his code definitely unrolls multiplication loops, and then jit it. obviously i believe you, but i don't see how it can be...
17:31:46 <avih> korvo: yeah, i do roughly understand it and think so too.
17:31:47 <korvo> avih: RPython has a builtin unroller; every trace is unrolled and gets a prologue, because the traces can only be started at the top of while-loops.
17:33:08 <avih> interesting. so basically you say you merely crunch the bf program slightly, and then let RPython grok and optimize it?
17:33:49 <avih> akin to produce some c code from bf program, naively or near enough, and then let gcc do what it does?
17:34:51 <avih> fwiw, while gcc is very good at optimizing such naive translation to c, it's meaningfully slower than a translation which unrolls multiplication loops.
17:35:21 <korvo> Yes. But without using libgccjit or libllvm. Here's an example JIT trace from running mandel.b: https://bpa.st/VSJA
17:35:21 <avih> i.e. compiling a native translation vs compiling a translation which unrolls mult loops
17:36:16 <avih> sure. hence "akin" :)
17:36:21 <korvo> Those merge points used to hold BF code; they would just print out the code like ">" or "+". But the IR no longer admits a nice pretty-printed format quickly, and jit_debug strings need to be constant for speed.
17:37:00 <avih> so where is this optimizer? NIH RPython stuff?
17:37:15 <korvo> Otherwise it's just SSA. Crucially, it's not *my* SSA; it's RPython's generated SSA that it built *while compiling* my interpreter. The SSA is roughly similar to what you'd get when debugging PyPy, and you can see that I'm really just using PyPy's environment variable to control the JIT.
17:37:39 <avih> (or s/NIH/own/ ;) )
17:37:52 <avih> "SSA"?
17:38:43 <korvo> https://rpython.readthedocs.io/en/latest/jit/optimizer.html is probably what you want to read. It's a very simple optimizer: one forward pass over an SSA IR, doing the standard Frances Allen optimizations like propagation and dead-code removal. Every trace is taken over *two* iterations of a loop, and that allows partial unrolling and a prologue just by comparing the iterations to see what changed.
17:39:00 <korvo> Single Static Assignment. A property of IRs where a name is only assigned once, and never mutated.
17:39:02 <avih> my question was where, not how ;)
17:39:20 <avih> but i get it, rpython has an optimizer of its own.
17:40:06 <korvo> Sorry, "where" seems loaded. Like, I know where to find https://github.com/pypy/pypy/blob/main/rpython/jit/metainterp/optimizeopt/unroll.py and I'm not going to hide it from you, but it's not a fun read.
17:40:08 <avih> thanks. i roughly get it, but not familiar with the subject and terminology in general.
17:40:36 <avih> (but i get that it represents some class of IRs which have some known capabilities)
17:40:58 <korvo> Oh! Okay, no worries. So, lucky 10000 for compiler engineers: most serious compiler backends use some sort of SSA. They have many many names for it, but the SSA property is really common. LLVM is a good example of a system that uses SSA.
17:41:24 <avih> s/capabilities/properties/
17:42:41 <avih> yeah, i thought that might be the case, though had zero specific knowledge of it till now (and even now only the name and a property which i get, but not yet "expanded" mentally)
17:42:55 <korvo> If you were to suffer through a university compilers course, you'd either be given SSA or CPS (continuation-passing style, mind-hurting, usually means the school teaches Haskell, Scheme, or OCaml) as your paradigm. Probably also *basic blocks*: a hunk of code that does some ALU operations and then (conditionally?) jumps to another block. These are not easy concepts but they are ubiquitous in modern compilers.
17:43:55 <avih> yeah, never got there myself :) i aborted my masters into the world of internet startups ;)
17:44:24 <avih> and never took compiler courses in undergrad either
17:45:16 <avih> was never into that really, but now, all those years later, bf brought me to it ;)
17:45:21 <korvo> I get it. I was poached out of undergrad by Google, and because I'd pivoted from a music degree, I missed out on a lot. I've been cramming lectures from Youtube and reading papers for years, but I'm sure that there's still little gaps in my knowledge.
17:46:19 <avih> who's knowledge doesn't have gaps? :)
17:47:07 <avih> but anyway, i do find it interesting, and hope i'll be able to implement the model of partial knowledge i described earlier. sounds cool to me, at least before the 1st line of code ;)
17:47:44 <avih> (i do have other bf code, but this is your standard patterns based)
17:48:23 <korvo> Yeah! Take your time; abstract interpretation is tough to understand, and I don't read French so I'm sure that I'm missing details in translation. But the overall approach that you're thinking of should work.
17:49:13 <avih> i think so too, the question is howhard it would be to turn it into reasonable code
17:49:52 <avih> and c might not be the best for that, but it's my current weapon of choice
17:50:15 <korvo> Just over the horizon, there's the field of *partial evaluation*. Given a Brainfuck program, and partial knowledge about the tape, we can produce a *residual* program that includes that knowledge and might be simpler or faster.
17:50:51 <avih> i get that
17:51:14 <korvo> This eventually leads to Futamura projections, which are what RPython actually does: we give RPython an interpreter and RPython gives us a compiler. There is a standard book on the topic, usually just called The Book, that you will want to read if you want to *hack* on any of these JIT toolkits: https://archive.org/details/springer_10.1007-3-540-47018-2
17:52:02 <korvo> Oh, yeah, C sucks. The main issue with C is that, since it's not memory-safe, you have to fight two battles; you have to make sure that your interpreter's behavior is correct and also you have to not mess up memory accesses.
17:52:04 <avih> it's another way to look at my model, but in some way also the exact way to look at it. because the instruction it produces don't necessarily align with its source. it only cares to produce the observable side effects. so things could be out of order, etc
17:52:42 <korvo> C also lacks for abstractions. Something like ML is almost inevitable, or at least ML-style modules: SML, OCaml, Haskell, etc.
17:53:46 <avih> not worried about memory access (as in, i rarely have such issues), but the challenge is making it do the work readably
17:54:37 <avih> i.e. write it in such a way that the abstraction is not buried at the low code levels, but rather out in the open
17:55:14 <korvo> The Book has a couple sections on partial evaluation of C, BTW. They prototyped a *self-applicable specializer*: a program written in C that can optimize C programs and produce residues in C. (The Book will also explain why specializers have exactly three associated languages.)
17:55:38 <avih> and of course, specify "the work" exactly first. currently i only have a mental model of what it does and how, but not yet the specifics
17:56:35 <avih> which book is that?
17:56:40 <avih> (or did i miss it?)
17:57:31 <korvo> "Partial Evaluation: Practice & Theory", particularly the free 1998 PDF from archive.org linked above.
17:57:50 <avih> the reason i like c is that it's probably the most portable language and relatively easy at that. i.e. you have a c compiler anywhere.
17:58:19 <avih> oh, i did miss that. thanks.
17:59:00 <korvo> I'd disagree with both of those, but I'm fairly biased; I've been part of multiple efforts to push memory-safe languages in the industry. C is a hack that arose because Unix was written for machines that didn't have enough memory to compile Fortran. C was what worked at the time.
17:59:12 <korvo> But sure, C's a decent enough prototyping language.
17:59:22 <avih> roughly the same with sh, btw, at the other end of the spectrum under some points of view :)
18:00:07 <avih> i find c and sh interestingly complementary, and together sort of complete.
18:00:48 <korvo> Well, yeah, shell's a terrible hack. But shell's also an example of a *toplevel*, a system prompt that is always shaped differently from the internal REPL because it has to support interactive actions. ML and Smalltalk traditions have them too.
18:01:34 <avih> yeah, though never used those. not even lisp et al.
18:02:04 <korvo> I'd like to link some advice from multiple language designers: https://lobste.rs/s/vs08dv/how_design_new_programming_language_from The topic is whether C is a good language for compilers, and we explain the nuances fairly well.
18:02:15 <avih> i mean, i know how it works etc, but never tried anything in it.
18:02:51 <korvo> (I'm the one in the green shirt. "...it implies that C is the preferred high-level prototyping language, which hasn't been true for decades and in fact might have never been true.")
18:02:55 <avih> korvo: "we" as in you're one of the authors?
18:02:59 <avih> :)
18:03:20 <avih> oh, i'm not making any such claims :)
18:03:54 <korvo> Yes. Andy C.'s another serious author; he works on Oils, a series of languages to replace shell. Drew is the author of Hare, a C competitor that I think is fundamentally flawed from the outset, and it's interesting to understand how Hare's limitations arise from his beliefs about C's practicality.
18:03:56 <avih> just stated why i liked it. i also like js, and tcl (to a degree), and probably more too.
18:04:55 <avih> I'm familiar with Oils, if that's the python thing which gets auto translated to c to produce a posix shell?
18:05:14 <korvo> c-cube is an OCaml maintainer. Danila F. teaches type theory and works on...Rocq, I think? S. Jamaan works on CHICKEN Scheme, related to Lisp and C.
18:06:13 <avih> i might have a look at some stage (at least skim it), but i don't expect to fully go over it (and the rest of the resources). but then, who knows...
18:06:57 <korvo> No worries. Language designers are used to having opinions about languages, but most folks don't really think about it other than what they need for the task at hand. Never forget: the average developer has 2.5yrs of experience and only knows either EMCAScript or Python.
18:07:09 <avih> i don't have a fixation for any specific language, but i'm more experience with imperative ones
18:07:17 <avih> +d
18:07:45 <avih> i like whatever i can use to get the job done.
18:09:19 <avih> and this tends to be things i have more experience with. not due to some inherent property of the language.
18:09:34 <korvo> I like whatever I can use to express the task succinctly and without weirdness. Short programs are good. Programs that could expose weirdness are bad. Weirdness is when a machine does things that are outside the intended programming model: https://en.wikipedia.org/wiki/Weird_machine
18:09:43 <avih> yup
18:10:26 <avih> (damn, 9s to respond, but i did go over all of it and did agree right away...)
18:11:33 <korvo> Oh, I'd have believed that you'd heard of this before. It was a big splash in security-research circles, and those of us into speedrunning had already known about the phenomenon for a while but didn't have a good name. Reference (1), Bratus.pdf, is a really good read.
18:12:24 <avih> was not aware of that splash. i just read it and i think the same
18:13:16 <avih> (i obviously did not visit the link, but i agree and get what it might have regardless)
18:14:08 <esolangs> [[EUCS]] https://esolangs.org/w/index.php?diff=168001&oldid=167726 * Hammy * (+231)
18:14:09 <korvo> https://langsec.org/papers/Bratus.pdf It's got Sassaman as a co-author! Might have been his final paper. Wonder if we can get people to call them "Sassaman machines" instead.
18:15:29 <int-e> Malbogoids
18:16:09 <esolangs> [[Turing Torment]] https://esolangs.org/w/index.php?diff=168002&oldid=167747 * Hammy * (+43) /* Commands? */
18:17:06 <int-e> (I do consider Malbolge to be a Weird Machine)
18:18:08 <esolangs> [[Turing Torment]] https://esolangs.org/w/index.php?diff=168003&oldid=168002 * Hammy * (+0) /* Examples, I guess? */
18:22:03 <avih> korvo: btw, do you think it's conceivable that rpython turns your output to the equivalent of printing a fixed string?
18:22:36 <korvo> avih: No, it's not structurally capable of doing that, I think.
18:22:40 <avih> (re https://bpa.st/GTNQ )
18:22:51 <ais523> int-e: because Malbolge doesn't have an intended programming model?
18:23:22 <int-e> ais523: yeah because it's basically designed to make looping programs humanly impossible to realize (and failed, but that took quite some time)
18:23:45 <ais523> I think a better viewpoint is that Malbolge *contains* a weird machine
18:23:56 <ais523> possibly more than once
18:24:02 <int-e> oh, maybe
18:24:22 <korvo> int-e, ais523: Taking this to its obvious conclusion, maybe the typical ISA is like a least-weird machine.
18:24:25 <ais523> the whole stable-instruction / stable-NOP thing seems like an intentionally constructed weird machine to help make programming in the language easier to understand
18:24:47 <avih> korvo: in such case, my (limited) experience with what gcc can do with various levels of bf-translated-to-c makes me think that it cannot be that fast. or at least i've not seen anything like it so far.
18:24:52 <ais523> I feel like freestart Malbolge is well within my programming capabilities at this point, but I have no idea how to get the program started
18:25:03 <korvo> Like, an instruction that is always encoded as a single constant byte and always performs an ALU op that can be written as a linear/affine whatever of register bits, only having local effects, is sort of a best case. (Or, as Zim would say, worst case?)
18:25:44 <ais523> korvo: of course, typical ISAs are often more complicated than that
18:26:03 <ais523> you kind-of need an extreme RISC to get something that's that conceptually simple
18:26:05 <korvo> avih: It works because of a Pareto phenomenon: most hot loops are small and the program spends most of its time in relatively little code. As long as the JIT does well on those hot loops, it does well on the whole program.
18:26:17 <ais523> also, transport-triggered architecutres are conceptually even simpler
18:26:18 <avih> it would be interesting to see what rpython produces which then gets executed.
18:26:44 <ais523> (except for how you do indirect memory access, which is conceptually complicated in one of those, you might need an extra level of indirection)
18:27:05 <avih> korvo: yeah, i do get that. as i said gcc does an amazing job on naively translated bf to c
18:27:08 <korvo> ais523: Sure. I'm thinking that you could see the typical ISA as like Malbolge, except that it's got the simplest kind of Malbolge-style encryption, and the clearest kind of Malbolge-style arithmetic, and...
18:27:25 <korvo> Just to imagine a poset of weird machines over a single physical object, really.
18:27:27 <avih> so i guess it's in the same neighborhood of things
18:27:51 <ais523> korvo: hmm, so I feel like the difficulty of Malbolge is in how the instructions interact with the encryption
18:28:08 <int-e> ais523: Malbolge's "mistake" is that it has too many NOP-s, making NOP-cycles quite likely in a random permutation.
18:28:22 <ais523> the instruction set isn't, in isolation, that terrible in an absolute sense, but it is really verbose
18:28:24 <korvo> avih: Sure. In that specific case, GCC has a structural advantage; they implement "polytope" or "polyhedral" modeling for loops. It's the kind of thing that horribly increases compiler times but enables this highly-generalized loop-unrolling behavior that you're imagining.
18:28:40 <ais523> and cares a lot about constants that Malbolge source code can't easily express
18:29:07 <avih> gotcha
18:29:11 <int-e> I mean, I don't know whether these are there by design... but I find it easy enough to believe that they're accidents.
18:29:22 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168004&oldid=167962 * NTMDev * (+1650)
18:29:27 <ais523> and this interacts with the encryption because the verbosity makes stable programs harder to write and the lack of expressing useful constants makes initialization harder (with initialization being the main reason Malbolge is difficult)
18:29:48 <ais523> most ISAs don't have this interplay between their semantics and their encoding
18:30:23 <ais523> int-e: well, there are plenty of other features of Malbolge which seem almost impossible that they're intentional
18:30:24 <avih> but i was not talking about this specific case. even in mandelbrot.b, gcc -O2 of 1:1 native bf-to-c translation is barely 2x-3x slower than very good bf-to-c result
18:31:08 <int-e> ais523: there are also way too many sheep and poodles in the clouds :P
18:31:22 <ais523> like encrypting the instruction before a jump target, or the undefined behaviour (and usually segfault in practice) you get if you self-modify an instruction when D=C, or the infinite loop when trying to execute an instruction outside the ASCII range
18:31:29 <avih> but where it does differ, is hanoi.b. in that case, naive translation can result in an order of magnitude difference (or more, i didn't estimate, but it's a huge diff)
18:32:35 <korvo> avih: So, have you read the pointer-propagation section yet? I only recently saw this, but I think that this is the true path forward. It unifies pointer movement and tape increments into a single big behavior, which should also unify some idiom-detection and loop-detection.
18:32:54 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168005&oldid=168004 * NTMDev * (-125)
18:32:56 <avih> i think i stopped just there. i did finish the monoid part.
18:33:13 <avih> but i'll read it.
18:33:18 <korvo> (Idiom detection is when we detect that a straight-line sequence of instructions, just ALU op after ALU op, can be turned into a smaller sequence of machine instructions. Loop detection is when we detect that a loop has a specific idiom inside.)
18:33:50 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168006&oldid=168005 * NTMDev * (+187) /* Conditionals / If Statements */
18:34:52 <avih> korvo: from initial glancing, i feel that goes over my head. i don't think i'm there for that yet.
18:35:08 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168007&oldid=168006 * NTMDev * (+162)
18:35:35 <avih> it does feel like an interesting point of view, but i'm not anywhere near getting it
18:36:09 <korvo> avih: It wasn't obvious for me either. Their insight is that we can always absorb any of the four essential actions, + - < >, into this representation. The monoid is just mathematical fluff.
18:37:18 <korvo> Like, suppose you've got a propagated pointer: you've got the offset, the adjustment, and the list of written tape cells. To absorb + or -, just inc/dec the written tape cell at the adjustment. To absorb < or >, just inc/dec the adjustment itself.
18:38:27 <korvo> (BTW, this conversation's the last thing keeping me at the computer. Let me know when you need a break so that I can take 30min to do something else.)
18:38:31 <avih> i mean, i get why a list of anything can represent any sequence of +-><, but not its significance
18:39:35 <avih> i feel like this is a point of view which can result in finding equivalences where otherwise they're not obvious, but not how
18:40:12 <korvo> It has to do with reducing the number of ways that a compiler represents an action. To detect an idiom or loop, the compiler needs to know every form of that idiom. [-] and [+] are equivalent. [->+<] and [>+<-] are equivalent. The number of forms quickly explodes; it's the main reason that I don't add more forms to bf.py.
18:40:21 <avih> korvo: go :) thanks for your time. been interesting :)
18:41:07 <avih> yeah, that's the sense i get as well, but nothing of the specifics of that
18:41:46 <korvo> No worries. This is giving me good ideas for how to improve the article. I'll be back in a bit.
18:41:53 <int-e> korvo: so you assume a finite cell size
18:41:56 <avih> :)
18:42:04 <int-e> (and wrapping arithmetic)
18:51:09 <esolangs> [[HTMHell]] N https://esolangs.org/w/index.php?oldid=168008 * Hammy * (+1107) Created page with "HTMHell (shortened to HTMH) is a weird esolang by [[User:Hammy]] that looks like HTML ==Commands== {| class="wikitable" |+ HTMH commands. |- ! Command !! Meaning |- | <!DOCTYPE HTMHELL> || Must be at the start of the program, if it isn't then start from where it is, if it
19:27:59 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168009&oldid=166992 * * (+321)
19:28:20 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168010&oldid=168009 * * (+10) /* Truth Machine */
19:31:28 <b_jonas> ais523: https://xkcd.com/1425/ . int-e: “Would you call a friend from half across the world? / If you’ll let us have his name and town and state, / You shall see and hear your crackling question hurled / Across the arch of heaven while you wait.” from 1911 (spoiler: vg vf gnyxvat nobhg genafngynagvp enqvb gryrtenz. vg orpnzr ninvynoyr ng ebhtuyl gur fnzr gvzr nf gur haqrefrn pnoyrf. ab
19:31:34 <b_jonas> ybat-qvfgnapr gryrcubar lrg.)
19:40:53 <ais523> ugh, it took way too long to read that rot13 without a translato
19:40:55 <ais523> * translator
20:01:05 -!- tromp has joined.
20:29:14 <b_jonas> "the average developer has 2.5yrs of experience" => what? how can that be true? do they leave to management after five years in average or something?
20:29:37 <b_jonas> or become rich in 5 years in average and retire forever?
20:29:38 <ais523> b_jonas: partly people dropping out, and partly that the rate of new programmers entering is increasing
20:29:48 <b_jonas> oh true
20:29:54 <ais523> so they form a disproportionate portion of the sample
20:30:53 <b_jonas> "way too long to read that rot13" => that's partly my fault, I deliberately rewrote it to remove some potentially revealing punctuation or capitals so it is spoilered better
20:32:58 <korvo> int-e: Yeah, precisely. I don't mind that particular choice so much, but it's still a choice.
20:33:59 <ais523> oddly I find that bignum BF is often easier to implement in esolangs
20:34:16 <ais523> wrapping at 256 can be quite difficult to implement because it's a large constant
20:34:20 <korvo> b_jonas: Exponential growth is really unintuitive when it comes to snapshots. Regardless of where we stand, it looks like the past is nearly flat and the future is growing unbelievably fast. But the median time that an individual has spent in the field is shrinking because individuals enter the field so quickly.
20:34:43 <ais523> and often your native way to represent numbers is either naturally unbounded, or not big enough to represent 256 so you have to use bignum-like tricks anyway
20:35:25 -!- pr1sm has quit (Remote host closed the connection).
20:35:43 <korvo> I suppose that one consequence of that is that just maintaining the relationships that you currently have, your cohort is going to be an exponentially-small corner of the ecosystem. In order to stay connected, one must endure a constant stream of young folks coming in with half-baked ideas.
20:41:55 <korvo> b_jonas: That said, if we take a slightly narrower cohort, of developers that are actively participating in Stack Overflow, then the median age jumps to about 15yrs of experience: https://survey.stackoverflow.co/2025/developers#education-experience-years-code This tells me something about SO's users compared to the median developer, but it's not surprising that SO users have more experience than average.
20:42:36 <b_jonas> korvo: that might be because people lie about how much experience they have, especially on SO, to get jobs
20:43:04 <korvo> ...There's also the possibility of a particular stats bias, *survivorship bias*, since people tend to wash out or burn out of software engineering.
20:44:06 <ais523> stack overflow is mostly a ghost town nowadays (which oddly has made it a much better website)
20:44:07 <int-e> korvo: huh, is it really unsurprising? one would think that as your experience grows you get increasingly less out of a platform like that
20:44:14 <korvo> Like, the typical tenure of a Google SRE is about 2yrs; the reason for that low number is because Google tends to run their SREs hot and burn them out. I lasted slightly longer than average.
20:44:21 <ais523> like, it's better to use than it was 5-10 years ago even despite the company in charge messing the site up
20:44:39 <b_jonas> korvo: sure, for Google it's believable
20:46:31 <korvo> int-e: I see a lot of old-timers giving extremely dated advice on the periphery of Stack Exchange, and I think that there's a kind of greybeards' refuge. But I could certainly imagine that if we were to sample users that don't use the rest of Stack Exchange then maybe they'd be younger.
20:47:02 <int-e> Like IRC then, I guess. Except IRC isn't so grossly gamified.
20:47:48 <int-e> (as far as old people go :P)
20:48:46 <ais523> I dislike the gamification on SO both for its own sake, and because the incentives are wrong
20:48:53 <korvo> Sure. The ancient Greek polis system had (sp?) "gerountia", basically "old man's club", where the old men would sit around and talk about the old days and tell war stories and try to make a good impression on the youth. Not a bad idea in general but *terrible* if used as part of government, as in Sparta.
20:48:57 <ais523> the most useful actions are not the actions that give the most points
21:56:15 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168011&oldid=167951 * Buckets * (+11)
21:56:47 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168012&oldid=167952 * Buckets * (+12)
21:57:29 <esolangs> [[Wycq]] N https://esolangs.org/w/index.php?oldid=168013 * Buckets * (+311) Created page with "Wyq is an Esoteric programming language created by [[User:Buckets]] In 2021. {| class="wikitable" |- ! Command Example !! Instruction |- | Wyq A B || Memory[A] = Memory[A] nand Memory[B] then, Goto address (Memory[B] - 1). |} [[Category:Unknown computational class]] [[Categ
21:58:05 <esolangs> [[Wycq]] M https://esolangs.org/w/index.php?diff=168014&oldid=168013 * Buckets * (+68)
21:58:40 <esolangs> [[Special:Log/move]] move * Buckets * moved [[Wycq]] to [[Wyq]]
22:01:32 <avih> i don't recall how i got here (is it linked from one of the posted links earlier?), but this and the followup are interesting https://blog.regehr.org/archives/140 it's about whether program termination is considered an observable side effect (spoiler: yes in java, no in c++, unclear in c)
22:05:15 <ais523> avih: my optimising interpreter for The Waterfalll Model, if it recognises an infinite loop, compiles it into a deadlock
22:05:30 <ais523> err, not compiles, interprets it as
22:05:39 <avih> then in this case it's observable
22:05:52 <ais523> this seems to me like the sensible way to optimise infinite loops, I wonder why it isn't more common
22:06:15 <avih> but the general question is interesting, as well as the differences between languages and their effect on optimizations
22:07:15 <avih> i might know how i got there, probably while reading about compiler optimizations.
22:08:08 <avih> ais523: assuming it's not a side effect opens the door for further optimizations.
22:08:14 <ais523> I've been gradually trying to design an IR (not as a major project that's likely to finish any time soon, just as a curious spare-time thing) and realised that infinite loops are really hard to handle properly in an IR because they introduce what's effectively a side effect in a way that doesn't show up to most side-effect analyses
22:08:41 <avih> the ferme example is nice
22:08:47 <ais523> it'd make things much easier to say "if things calculated within an infinite loop don't affect the rest of the code, you can skip the loop"
22:08:51 <ais523> and C++ actually does that
22:09:34 <avih> yeah
22:09:38 <korvo> GHC Haskell prints out "<loop>" and exits if it ever finds a cycle in the part of the object graph that it is currently evaluating. The way it does this is very slick and not portable beyond GHC's VM, relying on Haskell's lazy semantics: lazy graph traversal can mark nodes when it first visits them, and prints "<loop>" when it visits a marked node.
22:11:10 <avih> korvo: this was mentioned at one of the comments. i think at the followup article
22:11:25 <ais523> this is allowed by the Haskell specification, which specifies that an abnormal termination and an infinite loop are considered the same outcome and a compiler can transform one to the other
22:11:28 <korvo> I don't really like non-termination. I would like for my computer to finish what it's doing, please.
22:12:39 <avih> sure, except that there are cases (and specific examples in these articles, including at the linux kernel) about use cases where not terminating is a desirable behavior
22:13:01 <avih> s/desirable/intended/
22:13:51 <ais523> there's another similar case which I find very annoying, in which a function call can contain a synchronisation barrier and expose data it clearly doesn't have access to
22:14:10 <avih> one example is firmware updater which enters infinite loop and expects the cpu watchdog to reboot
22:14:35 <ais523> let me try to fidn it
22:15:01 <avih> skim those articles. they have several examples
22:15:59 <korvo> avih: So, in terms of understanding the Haskell/ML way of thinking, there's an important old paper by the author of the Miranda language, "Total Functional Programming": https://ncatlab.org/ufias2012/files/turner.pdf This paper says that in addition to programs that always halt, we can write programs on *codata* which is infinite, and *never* halts.
22:16:32 <korvo> For all of the cases where we want to have an interactive machine that is constantly responding to a user, we can use codata. Maybe you disagree with this, but it's the meme that dons and others are implicitly bringing to the table.
22:17:32 <korvo> That said, I think that an infinite-loop intrinsic would be a fine compromise for a kernel or embedded app. I agree that sometimes an embedded device needs to enter a stuck state, and an intrinsic seems like a reasonable way to offer that control to the programmer without contaminating the language with *general recursion*.
22:17:38 <avih> i didn't express my opinion yet on this :) but without considering it deeply, i think (and thought also before reading these articles) that termination is an observable side effect
22:18:11 <avih> i did consider it while thinking about my bf optimization model
22:18:44 <zzo38> In the case of systems that have locking, any locks might be released if a program terminates but it might be held in a infinite loop otherwise
22:19:07 <avih> exactly
22:20:38 <avih> korvo: agreed, but c doesn't have an explicit halt instruction.
22:21:03 <ais523> found it: https://github.com/llvm/llvm-project/issues/64188
22:21:08 <korvo> avih: C lacks many of today's CPU's instructions. In general, it's really a language for a particular abstract machine rather than a language for the CPU.
22:21:25 <avih> for(;;); is such, but it's something the compiler deduces. not something the developer can express explicitly
22:21:51 <b_jonas> avih: I don't know how I got here (as in on this channel, as opposed to this IRC network) either
22:22:03 <ais523> this has been bothering me so much, it's making me think that acquire/release are the wrong abstractions for software (despite being correct for hardware)
22:22:16 <ais523> b_jonas: I kind-of assumed you followed me, but wasn't sure
22:22:37 <zzo38> (For this reason, as well as the case of knowing that a capability is no longer usable, in my hypothetical computer design, halting can be distinguished from infinite loops without I/O, although in some cases a program might halt without intending to, such as waiting for a condition that the kernel knows is impossible (e.g. for any one of an empty set of objects to be ready).)
22:22:43 <avih> b_jonas: to that article :)
22:25:03 <avih> anyway, i'm out for now. just wanted to drop that link because i found it interesting, and related to the earlier conversation in some way, and to this channel. later :)
22:26:16 <APic> cu
22:26:20 <korvo> Peace.
22:26:40 <APic>
22:26:48 <avih> .
22:27:03 <avih> (really tiny peace symbol)
22:27:09 <korvo> zzo38: Oh, that's interesting to think about. With E-style message delivery (so-called "E-order" of deliveries) there's always a possibility for deadlock simply because we can create a promise which resolves to itself.
22:28:00 <korvo> In Vixen, I suppose that the analogue would be some sort of omega-shaped execline script that constantly tries to invoke and wait for a copy of itself. Not gonna write that out because it sounds like a fork bomb.
22:28:05 * korvo lunch &
22:30:48 <b_jonas> ais523: the C++ rule that an infinite loop without side effects is undefined behavior bothers me. if I write a program that tries to find a counterexample for the Goldbach conjecture, and the C++ compiler is smart enough to prove that there's no such counterexample, then it can make the program do anything, such as lie that it found a specific counterexample, or spawn demons. and if I write the program
22:30:54 <b_jonas> such that it doesn't even print the counterexample, it only prints that it found one, then the compiler doesn't even have to prove that there's no counterexample, it can just make the program lie that it found a counterexample regardless. this gets worse if I write an interpreter in C++ for a toy language. the compiler can compile my interpreter such that it works most of the time but may UB for some
22:31:00 <b_jonas> infinite loops in the interpreted program. to avoid this I have to deliberately insert something that has a side effect (possibly in only some infinitely many iterations) to the loop body,
22:31:30 <ais523> b_jonas: this is basically what avih's link above was about
22:32:23 <b_jonas> and I'm not even sure what I should insert that is considered a side effect by the C++ standard but that the compiler can optimize away. does calling time() count as a side effect? normally that won't evne issue an actual kernel system call, it's one of the system calls optimized by magic. how about select(0,0,0,0)? is the compiler allowed to know that it has no side effect and so not count it as an
22:32:29 <b_jonas> observable side effect? a volatile write counts as a side effect, but the compiler probably also isn't allowed to optimize away the write.
22:33:50 <b_jonas> if I want to definitely not terminate that's easy, I can just write while(1) { pause(); volatile int m = 0; m = 1; }
22:34:03 <b_jonas> but that's a kind of trivial case
22:35:05 <ais523> I think this problem is actually unfixable from within C++ – ideally you would want a volatile read that gets optimized out, but I'm not even sure that concept makes sense
22:35:53 <ais523> you could write a function call to a function whose behaviour isn't visible to the calling code, but that couldn't be optimized out and would be slower than a volatile read
22:36:45 <b_jonas> "c doesn't have an explicit halt instruction" => it doesn't, but unix has pause(). it's a funny one because this is basically the *only* reasonable use for the pause() system call.
22:37:26 <b_jonas> but even if you didn't have pause, which is probably a historical accident, you can use sigwait or select with a long timeout etc
22:40:55 <b_jonas> ais523: yes, a volatile read might work
22:46:42 <ais523> b_jonas: if you had a program that ran entirely in signal handlers
22:46:57 <ais523> you could make pause in a loop the body of main, after setting the signal handlers up
22:47:05 <ais523> (this is probably a bad idea but it would at least be reasonable)
22:48:37 <b_jonas> volatile has some other advantages: if you have a slow pure computation and want to measure rough time of how slow then you can write the results of the computation into a volatile to make sure the computation is just optimized away. also even if it's not optimized away completely, a volatile write is at least cheap.
22:48:43 -!- amby has quit (Ping timeout: 256 seconds).
22:49:10 <b_jonas> eg. it's cheaper than trying to do a system calls to ensure a side effect or something like that
22:49:56 <ais523> not standard C++, but thinking about it an empty asm volatile would probably work
22:50:34 <b_jonas> also volatile writes in C and C++ are very portable
22:50:57 <b_jonas> ais523: yes, that's technically dependent on the CPU type and compiler, but probably works decently
22:51:20 <ais523> most asms permit the null string as a no-op
22:51:50 <ais523> although, the compiler might not necessarily be able to pass it to the assembler correctly
22:52:07 <b_jonas> yeah, but I'm not convinced that the compiler will know the asm syntax on all CPU architectures
22:52:32 <b_jonas> like if you're compiling for an uncommon architecture or with an uncommon compiler or compiler options
22:53:25 <b_jonas> and it's also harder to input a dependency into an inline asm portably so that it can't be reordered to before the value is computed
22:54:46 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:55:46 -!- amby has joined.
23:05:58 <zzo38> I did write a program once that used pause() because I wanted to wait for a signal to set a variable before the program does anything else
23:10:25 <ais523> zzo38: doesn't that go wrong if the signal arrives before the pause() call?
23:11:17 <ais523> you would need a ppause() instead to avoid the race condition (which exists, but for some reason is called sigsuspend() instead)
23:12:01 <zzo38> A while loop is used, so if a different signal arrives then it will pause() again
23:15:51 <ais523> zzo38: no, the other way round
23:16:09 <ais523> if the signal you're waiting for arrives before the program enters the pause() call
23:16:09 -!- pool has quit (Read error: Connection reset by peer).
23:16:19 <ais523> then pause() wlll be waiting for something that has already happened
23:16:55 <zzo38> O, that is a valid point, if it occurs between checking the loop condition and calling pause()
23:18:13 -!- pool has joined.
23:19:58 -!- Sgeo has joined.
23:23:37 -!- sftp_ has joined.
23:24:55 -!- sftp has quit (Ping timeout: 264 seconds).
23:24:56 -!- sftp_ has changed nick to sftp.
23:24:56 -!- sftp has changed hostmask to ~sftp@user/sftp.
2025-11-13
00:16:18 -!- pool has quit (Read error: Connection reset by peer).
00:18:21 -!- pool has joined.
00:37:25 -!- ais523 has quit (Ping timeout: 240 seconds).
01:09:07 -!- sftp_ has joined.
01:09:55 -!- sftp has quit (Ping timeout: 240 seconds).
01:09:55 -!- sftp_ has changed nick to sftp.
01:09:55 -!- sftp has changed hostmask to ~sftp@user/sftp.
01:19:39 -!- simcop2387 has joined.
01:21:09 -!- perlbot has joined.
01:37:01 -!- 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).
02:16:28 -!- pool has quit (Read error: Connection reset by peer).
02:18:36 -!- pool has joined.
03:00:02 <esolangs> [[Strang]] N https://esolangs.org/w/index.php?oldid=168017 * FluixMakesEsolangs * (+1899) Initial Commit
03:01:03 <esolangs> [[User:FluixMakesEsolangs]] https://esolangs.org/w/index.php?diff=168018&oldid=167426 * FluixMakesEsolangs * (+65)
03:02:31 <esolangs> [[Talk:Strang]] N https://esolangs.org/w/index.php?oldid=168019 * FluixMakesEsolangs * (+124) /* Ask questions here! */ new section
03:03:11 <esolangs> [[Talk:Strang]] https://esolangs.org/w/index.php?diff=168020&oldid=168019 * FluixMakesEsolangs * (-101) oops-
03:03:24 <esolangs> [[Talk:Strang]] https://esolangs.org/w/index.php?diff=168021&oldid=168020 * FluixMakesEsolangs * (+19) /* test */ new section
03:03:41 <esolangs> [[Talk:Strang]] https://esolangs.org/w/index.php?diff=168022&oldid=168021 * FluixMakesEsolangs * (-19) removed test
03:06:39 <esolangs> [[Category:Unproven Turing Completeness]] N https://esolangs.org/w/index.php?oldid=168023 * FluixMakesEsolangs * (+97) Created page with "This is where languages that are potentially / theoretically Turing Complete, but it is unproven."
03:07:17 <esolangs> [[Strang]] M https://esolangs.org/w/index.php?diff=168024&oldid=168017 * FluixMakesEsolangs * (+42) Added Category
03:07:25 <esolangs> [[Category talk:Unproven Turing Completeness]] N https://esolangs.org/w/index.php?oldid=168025 * Aadenboy * (+330) Created page with "[[:Category:Unknown computational class]]? ~~~~"
04:16:21 <esolangs> [[Category talk:Unproven Turing Completeness]] https://esolangs.org/w/index.php?diff=168026&oldid=168025 * Corbin * (+184) Category was added without discussion.
04:16:36 <esolangs> [[Category talk:Unproven Turing Completeness]] M https://esolangs.org/w/index.php?diff=168027&oldid=168026 * Corbin * (+1) Formatting.
04:47:47 <esolangs> [[Yes/No]] https://esolangs.org/w/index.php?diff=168028&oldid=166322 * Intiha * (-9065)
04:54:49 -!- Sgeo_ has joined.
04:59:50 -!- perlbot_ has joined.
05:04:04 -!- perlbot has quit (*.net *.split).
05:04:04 -!- Sgeo has quit (*.net *.split).
05:04:04 -!- iovoid has quit (*.net *.split).
05:04:04 -!- zzo38 has quit (*.net *.split).
05:04:05 -!- perlbot_ has changed nick to perlbot.
05:05:31 -!- [iovoid] has joined.
05:09:56 <esolangs> [[Yes/No]] https://esolangs.org/w/index.php?diff=168029&oldid=168028 * Intiha * (+66)
05:41:04 -!- zzo38 has joined.
06:16:53 -!- pool has quit (Read error: Connection reset by peer).
06:18:54 -!- pool has joined.
06:54:43 <esolangs> [[Lalala]] https://esolangs.org/w/index.php?diff=168030&oldid=167347 * Yayimhere2(school) * (+0) /* computational class */
06:56:49 <esolangs> [[oxck]] https://esolangs.org/w/index.php?diff=168031&oldid=156593 * Yayimhere2(school) * (+2) /* wires */
06:58:53 <esolangs> [[Lalala]] M https://esolangs.org/w/index.php?diff=168032&oldid=168030 * ThrowAwayLurker * (+31) Capitalization and punctuation
07:00:01 <esolangs> [[Thueue]] https://esolangs.org/w/index.php?diff=168033&oldid=167993 * Yayimhere2(school) * (+10) /* Semantics */
07:04:01 <esolangs> [[Action symbol]] M https://esolangs.org/w/index.php?diff=168034&oldid=167973 * ThrowAwayLurker * (+12) Capitalization, spelling, and punctuation
07:05:30 <esolangs> [[QFL]] M https://esolangs.org/w/index.php?diff=168035&oldid=111892 * ThrowAwayLurker * (-2) Some capitalization and one grammatical error
07:07:17 <esolangs> [[CContains]] M https://esolangs.org/w/index.php?diff=168036&oldid=167997 * ThrowAwayLurker * (-1)
07:09:39 <esolangs> [[Braindamage]] M https://esolangs.org/w/index.php?diff=168037&oldid=112108 * ThrowAwayLurker * (+11)
07:10:53 <esolangs> [[EsoKit]] M https://esolangs.org/w/index.php?diff=168038&oldid=140511 * ThrowAwayLurker * (+0)
07:12:46 <esolangs> [[Thueue]] https://esolangs.org/w/index.php?diff=168039&oldid=168033 * Yayimhere2(school) * (+135)
07:15:08 <esolangs> [[Thueue]] https://esolangs.org/w/index.php?diff=168040&oldid=168039 * Yayimhere2(school) * (+72) /* Semantics */
07:15:11 <esolangs> [[Higher Subleq]] M https://esolangs.org/w/index.php?diff=168041&oldid=112465 * ThrowAwayLurker * (-5) User page links should be clearly user page links, thus the "user:" should be included
07:26:43 -!- somelauw has joined.
07:26:52 -!- somelauw has quit (Remote host closed the connection).
07:55:10 <esolangs> [[Thueue]] https://esolangs.org/w/index.php?diff=168042&oldid=168040 * Yayimhere2(school) * (+25) /* Semantics */
07:56:58 <esolangs> [[Special:Log/delete]] delete * Keymaker * deleted "[[Category:Unproven Turing Completeness]]": 'Unknown computational class' is for this purpose.
08:01:29 <esolangs> [[An Odd Rewriting System]] https://esolangs.org/w/index.php?diff=168043&oldid=117087 * Yayimhere2(school) * (+0) /* Syntax */ repetition of the word "followed"
08:02:24 -!- tromp has joined.
08:29:57 -!- Sgeo_ has quit (Read error: Connection reset by peer).
08:34:13 <esolangs> [[Square-like]] N https://esolangs.org/w/index.php?oldid=168044 * Yayimhere2(school) * (+1647) Created page with "'''Square-like''' is a minimal and semi-simple two dimensional language based on [[Re:direction]] and [[RECT4n=GLE]]. It is functionally also similar to [[Emmental]]. == Syntax & semantics == Every Square-like program is a rectangle with no empty/space
08:40:09 -!- b_jonas has quit (Quit: leaving).
08:40:55 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168045&oldid=168044 * Yayimhere2(school) * (+330) /* Syntax & semantics */
08:42:15 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168046&oldid=168045 * Yayimhere2(school) * (+23) /* Syntax & semantics */
08:47:20 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168047&oldid=168046 * Yayimhere2(school) * (-148) /* Examples */
08:50:09 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168048&oldid=168047 * Yayimhere2(school) * (+55) /* Syntax & semantics */
08:51:06 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168049&oldid=168048 * Yayimhere2(school) * (-1) /* Syntax & semantics */
09:17:06 -!- pool has quit (Read error: Connection reset by peer).
09:17:29 -!- pool has joined.
09:27:05 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:48:27 -!- tromp has joined.
09:59:51 -!- Taneb has joined.
10:02:58 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168050&oldid=167992 * Yayimhere2(school) * (+18) /* esolangs */
10:35:51 -!- ais523 has joined.
10:48:56 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168051&oldid=168050 * Yayimhere2(school) * (+354) /* things about me */
11:04:23 <esolangs> [[OoOoOM]] N https://esolangs.org/w/index.php?oldid=168052 * Yayimhere2(school) * (+1292) Created page with "'''OoOoOM''' is an esoteric programming language based off of, and contained within [[Underload]]. It was originally created to prove [[Sike]] [[Turing complete]], however at the time of publication this has already been done. OoOoOM relies semi heavily on [[N
11:10:12 <esolangs> [[Talk:Looping counter]] N https://esolangs.org/w/index.php?oldid=168053 * Yayimhere2(school) * (+228) Created page with "For a looping counter, must each increment be stored in a new memory location? Or can/must it be in the same? --~~~~"
11:10:29 -!- Taneb has quit (Ping timeout: 256 seconds).
11:14:12 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168054&oldid=168049 * Yayimhere2(school) * (+52) /* Syntax & semantics */
11:15:17 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168055&oldid=168054 * Yayimhere2(school) * (+1) /* Syntax & semantics */
11:16:46 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168056&oldid=168051 * Yayimhere2(school) * (+0) /* Favorite esolangs: */
11:17:00 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168057&oldid=168056 * Yayimhere2(school) * (+1) /* Favorite esolangs: */
11:17:18 -!- pool has quit (Read error: Connection reset by peer).
11:17:54 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168058&oldid=168055 * Yayimhere2(school) * (+36)
11:19:25 -!- pool has joined.
11:21:34 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168059&oldid=168058 * Yayimhere2(school) * (+44) /* Syntax & semantics */
11:23:29 <esolangs> [[67]] N https://esolangs.org/w/index.php?oldid=168060 * Eating-dinner * (+2588) Created page
11:24:28 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168061&oldid=168059 * Yayimhere2(school) * (+95) /* Syntax & semantics */
11:26:10 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168062&oldid=168061 * Yayimhere2(school) * (-12) /* Examples */
11:26:22 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168063&oldid=168062 * Yayimhere2(school) * (-43) /* Syntax & semantics */
11:30:22 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168064&oldid=168063 * Yayimhere2(school) * (+10) /* Syntax & semantics */
11:30:30 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168065&oldid=168064 * Yayimhere2(school) * (+8) /* Examples */
11:31:15 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168066&oldid=168065 * Yayimhere2(school) * (+0) /* Syntax & semantics */
11:31:27 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168067&oldid=168066 * Yayimhere2(school) * (+0) /* Examples */
11:33:43 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168068&oldid=168067 * Yayimhere2(school) * (+0) /* Syntax & semantics */
11:33:57 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168069&oldid=168068 * Yayimhere2(school) * (+0) /* Examples */
11:53:02 <APic> Hi
11:54:11 <ais523> hi
11:58:05 <avih> ais523: you mentioned yesterday that your optimizer replicates termination. is that because you consider it observable side effect (or rather, you don't assume a program must end)? or for other reasons?
11:58:25 <ais523> avih: at least in The Waterfall Model, it's an observable side effect
11:58:36 <avih> cool
11:58:36 <ais523> in fact, in many low-level esolangs, it's the only way to get output from the program
11:58:59 <avih> what do you mean? because many programs don't exit?
11:59:11 <ais523> the programs have no I/O capabilities and no side effects other than termination
11:59:35 <ais523> so in order to do useful computation with a program, you have to either run it to see whether it terminates, or extend the language to provide some means to get output from it
11:59:51 <avih> oh. hmm.. i didn't give it thought, but in what ways are such languages useful?
12:00:13 <ais523> for proofs mostly, you can say "this is the minimum bar needed to be able to compute and we meet that bar"
12:00:22 <avih> right. so inherently the only output is whether it terminates or not?
12:00:26 <ais523> and then if you want a practically useful version you give it more I/O capabiities
12:00:59 -!- lambdabot has quit (Remote host closed the connection).
12:01:01 <avih> s/more// :)
12:01:05 <ais523> avih: "inherently"'s a bit of a strange term here
12:01:35 <avih> as in, the languages you mentioned, unextended, don't have io except 1 bit of whether they terminate or not
12:01:38 <ais523> normally a language that is capable of computation might be expandable to have some means of producing output, without affecting the way it operates
12:01:58 <ais523> but it's often hard to figure out how to do that until you understand how computations in the language work
12:02:09 <ais523> take the I/D machine, for example (https://esolangs.org/wiki/I/D_machine)
12:02:32 <ais523> it has two very simple commands and no control flow other than an implicit loop around the program
12:02:44 <ais523> so it can't produce output even by halting, as there's no way to break out of the loop
12:02:59 <ais523> it *is* capable of doing computations, and you can look at the memory state of the program to figure out what it computed
12:03:22 <ais523> to make this useful you would have to add some way of doing I/O, but you have to understand how the language is able to compute in order to be able to give it I/O that it's able to control
12:04:05 <avih> so if it never stops, what can determine that it has completed?
12:04:14 <ais523> in the case of the I/D machine this would probably be done by defining an infinite arithmetic sequence of memory addresses, and whenever any of the addresses gets written for the first time it outputs the value of the previous address in the sequence
12:04:15 <avih> memory state?
12:04:57 <ais523> normally for these languages it's defined as a "tight infinite loop", i.e. an infinite loop that just repeats the same steps over and over again in a way that can be easily proven to never halt
12:05:10 <ais523> but that's something of a subjective definition
12:05:14 <avih> right
12:05:49 <ais523> https://esolangs.org/wiki/Addition_Automaton defines a set of three possible halt conditions, each of which are a tight infinite loop but with the tightness check defined differently
12:06:16 <avih> so in your interpreter, it has to respect termination because that's a sort of specified behavior, yes?
12:07:03 <ais523> right, The Waterfall Model explicitly specifies a way to halt (a waterclock with an all-zeroes trigger becomes zero), if that *doesn't* happen (and the program doesn't incur undefined behaviour) it must not halt
12:07:24 <ais523> so if the interpreter proves an infinite loop it deadlocks, in order to respect the termination rules
12:07:24 <avih> gotcha. thx
12:09:35 <ais523> that said, The Waterfall Model also allows for nontrivial output as it halts, because you can have multiple waterclocks with all-zeroes triggers and the interpreter will tell you which one zeroed
12:09:48 <ais523> so you can get an exit code from the program and use that as a way to figure out what it computed
12:10:09 <ais523> (and there are extensions to do output while it's running but they aren't commonly used)
12:10:30 <avih> hmm
12:10:55 -!- wob_jonas has joined.
12:11:50 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168070&oldid=168069 * Yayimhere2(school) * (+189) /* Syntax & semantics */
12:12:08 <sorear> you don't really need that since RE \intersect co-RE = R
12:13:10 <ais523> indeed – in this case it's equivalent to writing two programs, one of which halts if the original program would halt on counter A, and one of which halts if the original program would halt on counter B, then running them both in parallel to see which one halts
12:13:13 <wob_jonas> Blindfolded arithmetic halts when it tries to do a division by zero. That makes sense because it can result in a tight infinite loop in some implementations, and also because it makes the language more interesting by forcing you to avoid division by zero even in cases when the result would be ignored (eg. by multiplying it with a boolean that's
12:13:13 <wob_jonas> zero).
12:14:05 <ais523> wob_jonas: you're reminding me of implementing Blindfolded Arithmetic in Jelly, which doesn't halt on integer/0 but does halt on inf/2
12:14:17 <ais523> so there was a second level of indirection on the division by zero check
12:14:33 <ais523> (this is probably a bug in Jelly, it handles the corner cases of division but not all the edge cases)
12:15:02 <wob_jonas> This is for languages with an implicit infinite loop around the program, like the I/D machine or blindfolded arithmetic. Some languages instead have explicit loops. Brainfuck halts when it reaches the end of the main program, after the last statement. Unlambda has an explicit built-in to halt, called e , but some implementations might also halt
12:15:02 <wob_jonas> when they evaluate the top-level expression to something that isn't an application.
12:15:03 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168071&oldid=168070 * Yayimhere2(school) * (+65) /* Syntax & semantics */
12:15:44 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168072&oldid=168071 * Yayimhere2(school) * (-5) /* Syntax & semantics */
12:15:53 <wob_jonas> (or to something that's an application that can't be further simplified, like `ki or `sii )
12:16:29 <ais523> a long time ago I added a command to C-INTERCAL to put an infinite loop around the program (it must appear at the end of the program and can only jump back to the start)
12:16:44 <ais523> and you can exit the program cleanly by ABSTAINing it, even though normally running off the end of the program is an error in INTERCAL
12:17:03 <ais523> this was a long time before I realised the value of the implicit loop construction in general
12:17:40 <ais523> I think I have a language which has an implicit loop but also a conditional "skip next command" operation, and if you do a taken skip at the end of the program it skips over the implicit loop and halts
12:17:41 -!- lambdabot has joined.
12:17:49 <wob_jonas> that's strange because Intercal already has easy to write loops around code, so it doesn't really need a new top-level loop
12:18:19 <ais523> wob_jonas: indeed, my motivation was to write a TC variant of INTERCAL using no expressions other than constant #1
12:18:22 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168073&oldid=168072 * Yayimhere2(school) * (+12) /* Syntax & semantics */
12:18:43 <ais523> although I probably didn't think it through because constant #1 in FORGET would be enough to use the regular looping approach
12:18:43 <wob_jonas> ah, a restricted subset
12:19:13 <ais523> this was the first time I discovered The Waterfall Model but I didn't realise it at the time
12:20:07 <wob_jonas> which extensions does this need over original intercal, besides that infinite loop?
12:20:40 <ais523> wob_jonas: nested ABSTAIN (which is in C-INTERCAL expressed in terms of computed ABSTAIN)
12:20:56 <ais523> regular ABSTAIN is idempotent, with nested ABSTAIN if you ABSTAIN twice you need to REINSTATE twice to compensate
12:21:01 <wob_jonas> ah
12:21:35 <ais523> and as usual in INTERCAL this doesn't need to nest properly, so you can just use it as a set of counters
12:21:54 <wob_jonas> I was thinking you'd STASH variables then <-#1 to them, and assume that the bottom-most copy of the variable is zero
12:22:13 <ais523> that's how INTERCAL-72 was proven TC I think
12:22:34 -!- amby has joined.
12:22:56 <wob_jonas> ah, because the indexes are normally finite, even though you can just have practically too large multi-dimensional arrays
12:23:02 <ais523> right
12:25:48 <ais523> maximum size of a single array index is specified in the INTERCAL spec and maximum number of dimensions of an array is hardcoded in the program
12:28:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:29:04 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168074&oldid=168012 * Eating-dinner * (+9) /* Non-alphabetic */
12:30:46 <wob_jonas> I wonder if there's something like INTERCAL that has no unbounded memory or just one unbounded stack, like the RESUME stack in INTERCAL, but does serial terminal I/O instead of only card reader, and you can turn it to Turing-complete by lacing a paper tape (of unbounded length) from the tape punch to the tape reader, and the tape reader has control
12:30:47 <wob_jonas> flow so the program can stop or start it (or it's constant speed but somehow much slower than the output terminal)
12:31:31 <wob_jonas> you could do something like that with two magnetic tape drives too, one writing and one reading
12:31:40 <esolangs> [[User:Eating-dinner]] N https://esolangs.org/w/index.php?oldid=168075 * Eating-dinner * (+39) Created page with "wait wat hello world i liek brainfuck"
12:32:04 <esolangs> [[67]] M https://esolangs.org/w/index.php?diff=168076&oldid=168060 * Eating-dinner * (+50) wait its me
12:32:24 <wob_jonas> in theory you can imagine it with a card punch and card reader, if you assume there's some mechanism that lets the buffer of cards between them grow to unbounded height
12:33:34 -!- tromp has joined.
12:34:46 <sorear> as if an unboundedly long pile of paper tape would not get tangled and break in the absence of "some mechanism" for spooling
12:37:19 <wob_jonas> these would count as a harder drive in the sense that Tom7 named
12:37:55 <wob_jonas> sorear: yeah, we'd probably need a double spiral spool in between
12:38:03 <wob_jonas> hmm no, double spiral wouldn't work
12:38:27 <wob_jonas> maybe just let it hang over a bottomless pit and make gravity sort it out
12:38:37 <wob_jonas> though eventually there'd be too much weight for the tape to hold
12:39:04 <sorear> the space elevator people would love to hear from you
12:39:11 <wob_jonas> yeah
12:41:15 <sorear> I suppose having it extend one-dimensionally is a feature in view of the hoop conjecture
12:47:00 <ais523> wob_jonas: I think there's a Malbolge variant that keeps the 59049-word memory space but is able to rewind and read its own output, in an attempt to make it TC
12:47:05 <ais523> oddly, thoug, it doesn't seem to be documented on teh wiki
12:51:19 <esolangs> [[67]] https://esolangs.org/w/index.php?diff=168077&oldid=168076 * Eating-dinner * (+68)
12:52:05 <esolangs> [[Malbolge]] https://esolangs.org/w/index.php?diff=168078&oldid=140945 * Ais523 * (+374) /* Computational class */ mention Malbolge-T
12:52:32 <ais523> OK, found it
12:52:51 <wob_jonas> That's a good example
13:01:31 <sorear> have it feed back as _instructions_ so that you need a quine to have unbounded runtime
13:01:59 <ais523> that's basically the Muriel/SMITH family of languages
13:02:47 <ais523> I guess SMITH is closer
13:09:38 <sorear> smith's "read from program" primitive doesn't sound very quiney and muriel doesn't have a queue. i'm thinking more like document.write("<script>nextLine();</script>");
13:10:32 <ais523> well, SMITH has no control flow other than quining, so it needs a primitive that makes quines very easy in order to make it possible to quine without control flow instructions
13:11:38 <ais523> I guess for this to be in an interesting space, the quining behaviour has to be a) sufficiently difficult but b) still accomplishable without just writing a program normally and using quines to expand memory
13:12:33 <ais523> like, you can imagine a language where all arrays have hardcoded sizes and you have an exec() instruction to replace the entire program with a string literal starting from the start, but I'm not sure that that's too interesting because the techniques used to create the quine are very standard
13:13:17 <ais523> especially as you would probably do it by restarting all the computations so far rather than trying to preserve the intermediate state
13:13:42 <ais523> if you give it interactive I/O it's a bit more interesting because now you have to encode the previous user input in the quine, and avoid producing output you've already produced again
13:37:03 <esolangs> [[Talk:Looping counter]] https://esolangs.org/w/index.php?diff=168079&oldid=168053 * PkmnQ * (+137)
14:05:16 <wob_jonas> ais523: yes, Muriel doesn't really need a quine construct, because it has 26 named string variables where you can store a subroutine, and you can conditionally execute a subroutine based on a comparison. the conditional can be done with the substring builtin to either keep the whole string or empty it. this means you can program it sort of like dc,
14:05:17 <wob_jonas> with conditional subroutine calls as the loop construct. although you can build a quine using string concatenation, you don't need to do that for control flow reasons. if integers are bounded size then you may need to build strings with string concatenation just to store an unbounded amount of data, but you never need to use this for quining.
14:05:55 <wob_jonas> all the code can just survive in some named string variables that you never reassign after the start of the program
14:06:40 <wob_jonas> let me take a note of this
14:09:31 <esolangs> [[User:B jonas/List]] https://esolangs.org/w/index.php?diff=168080&oldid=167404 * B jonas * (+245) Muriel
14:23:13 <esolangs> [[Special:Log/newusers]] create * Evi the Eevee * New user account
14:53:22 -!- wob_jonas has quit (Quit: Client closed).
14:56:50 -!- ais523 has quit (Quit: sorry about my connection).
15:04:35 -!- ais523 has joined.
15:26:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:26:46 -!- Sgeo has joined.
15:49:42 <esolangs> [[TLQ]] https://esolangs.org/w/index.php?diff=168081&oldid=167773 * Yayimhere2(school) * (+111) /* Semantics */
15:53:55 <esolangs> [[TLQ]] https://esolangs.org/w/index.php?diff=168082&oldid=168081 * Yayimhere2(school) * (+2) /* Computational class */
16:00:44 -!- tromp has joined.
16:14:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:14:25 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168083&oldid=168073 * Yayimhere2(school) * (+128) /* Examples */
16:15:31 <esolangs> [[Infinite Goto]] https://esolangs.org/w/index.php?diff=168084&oldid=167649 * Yayimhere2(school) * (-8) /* See also */
16:16:33 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168085&oldid=168083 * Yayimhere2(school) * (+92) /* Syntax & semantics */
16:23:35 -!- Taneb has joined.
16:26:31 <esolangs> [[Fohc]] https://esolangs.org/w/index.php?diff=168086&oldid=84989 * Yayimhere2(school) * (-32) /* Implementation */ Deleted the PDA category as its comp class is unknown
16:28:57 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:29:29 -!- Lord_of_Life has joined.
16:30:24 -!- tromp has joined.
16:31:04 <esolangs> [[GotoStart Turing-completness proof]] https://esolangs.org/w/index.php?diff=168087&oldid=121526 * Yayimhere2(school) * (-5) /* BranchBlocks */
16:31:51 <esolangs> [[Talk:()NEST()]] https://esolangs.org/w/index.php?diff=168088&oldid=133600 * Aadenboy * (+976) please clarify
16:34:39 <esolangs> [[HTMHell]] https://esolangs.org/w/index.php?diff=168089&oldid=168008 * Hammy * (+580)
16:42:34 <esolangs> [[Hello++++]] https://esolangs.org/w/index.php?diff=168090&oldid=148695 * Hammy * (+191) /* Interpreters */
16:51:41 -!- impomatic has joined.
17:38:45 <esolangs> [[Tetrastack]] M https://esolangs.org/w/index.php?diff=168091&oldid=118750 * ThrowAwayLurker * (+6)
17:43:34 -!- Bowserinator_ has joined.
17:43:34 -!- Lord_of_Life_ has joined.
17:46:03 -!- sprout_ has joined.
17:46:21 -!- sprocket has joined.
17:47:15 <esolangs> [[Dd]] M https://esolangs.org/w/index.php?diff=168092&oldid=140962 * ThrowAwayLurker * (+36) Made sentences flow better. Replaced instances of [[blah]]s with [[blah|blahs]]. Minor punctuation changes. Minor clarity improvement.
17:50:48 -!- Lord_of_Life has quit (*.net *.split).
17:50:48 -!- Bowserinator has quit (*.net *.split).
17:50:48 -!- sprout has quit (*.net *.split).
17:50:48 -!- sprock has quit (*.net *.split).
17:50:49 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
17:57:57 <esolangs> [[Muxcomp]] M https://esolangs.org/w/index.php?diff=168093&oldid=19046 * ThrowAwayLurker * (+20) Added LaTeX. Made Wikipedia links to pages the Esolang Wiki has go to the Esolang Wiki instead of Wikipedia. Replaced signature at bottom with credit at top. Added categories.
18:04:48 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:22:47 <esolangs> [[Square-complete]] https://esolangs.org/w/index.php?diff=168094&oldid=142285 * Yayimhere2(school) * (-73) /* Isn't "Square-complete" is Turing-complete? */ Square completeness does not imply any of this. an FSA with input could most likely do all of these
18:25:19 -!- tromp has joined.
18:30:37 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168095&oldid=168085 * Yayimhere2(school) * (+77) /* Examples */
18:31:14 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168096&oldid=168095 * Yayimhere2(school) * (+62) /* Examples */
18:36:06 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168097&oldid=168096 * Yayimhere2(school) * (-8) /* Syntax & semantics */
18:37:39 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168098&oldid=168097 * Yayimhere2(school) * (+54) /* Syntax & semantics */
18:38:52 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168099&oldid=168098 * Yayimhere2(school) * (+8) /* Syntax & semantics */
18:39:38 -!- b_jonas has joined.
18:39:44 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168100&oldid=168099 * Yayimhere2(school) * (-1) /* Syntax & semantics */
18:54:20 <APic> cu
19:03:23 -!- ais523 has quit (Quit: quit).
19:14:50 <esolangs> [[Patience]] N https://esolangs.org/w/index.php?oldid=168101 * ThrowAwayLurker * (+7198) Created page with "'''Patience''' is an esoteric programming language created by [[User:ThrowawayLurker]] in [[:Category:2025]]. Instructions and data are mixed together, stored on a [[queue]]. It has 6 primitive data types, including functionals, plus null. The code of a progra
19:16:22 <esolangs> [[Patience]] M https://esolangs.org/w/index.php?diff=168102&oldid=168101 * ThrowAwayLurker * (+0) /* Fizzbuzz */
19:21:13 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:36:33 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
19:36:33 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
19:39:17 -!- simcop2387 has joined.
19:42:48 -!- perlbot has joined.
20:30:16 <esolangs> [[Patience]] https://esolangs.org/w/index.php?diff=168103&oldid=168102 * ThrowAwayLurker * (+1918)
20:37:23 <esolangs> [[Strang]] https://esolangs.org/w/index.php?diff=168104&oldid=168024 * FluixMakesEsolangs * (-1) R
21:00:09 -!- Taneb has quit (Quit: Goodnight).
21:01:03 <esolangs> [[Topple/Topple 1/Source (C99)]] M https://esolangs.org/w/index.php?diff=168105&oldid=167256 * H33T33 * (+46)
21:02:59 <esolangs> [[Topple/Topple 1]] M https://esolangs.org/w/index.php?diff=168106&oldid=167909 * H33T33 * (+12)
21:13:49 <esolangs> [[!Assembly]] M https://esolangs.org/w/index.php?diff=168107&oldid=159221 * H33T33 * (+27)
21:18:13 <esolangs> [[Patience]] M https://esolangs.org/w/index.php?diff=168108&oldid=168103 * ThrowAwayLurker * (+372)
21:22:57 <esolangs> [[Patience]] M https://esolangs.org/w/index.php?diff=168109&oldid=168108 * ThrowAwayLurker * (+0)
21:28:03 <esolangs> [[Bliss]] N https://esolangs.org/w/index.php?oldid=168110 * H33T33 * (+529) Created page with "{{WIP}} Bliss is a language developed by [[User:H33T33]] in C++. It was developed to be more straightforward and less intricate than most other languages. While slightly more restrictive, it is a lot easier to read. =Quick Overview= ==Outputting== <pre> nprints "Hello," pr
21:51:35 <esolangs> [[User:RaiseAfloppaFan3925/Interpreters]] N https://esolangs.org/w/index.php?oldid=168111 * RaiseAfloppaFan3925 * (+3772) My interpreters for some languages
21:52:28 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=168112&oldid=167986 * RaiseAfloppaFan3925 * (+97) yes
21:57:05 -!- tromp has joined.
21:57:33 <esolangs> [[67]] https://esolangs.org/w/index.php?diff=168113&oldid=168077 * Eating-dinner * (+110)
21:57:39 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168114&oldid=168011 * Buckets * (+11) /* 2021 */
21:57:49 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168115&oldid=168114 * Buckets * (+1) /* Total of Esolangs */
21:58:54 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168116&oldid=168074 * Buckets * (+12)
21:59:20 <esolangs> [[Staks]] N https://esolangs.org/w/index.php?oldid=168117 * Buckets * (+832) Created page with "Staks is an esoteric programming Language created By [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | 1 || Push 1. |- | || Swap the Value And the Placement. |- | + || Add the Top Two "valuments". |- | - || Subtract the Top Two "valuments"(
22:00:57 <esolangs> [[67]] https://esolangs.org/w/index.php?diff=168118&oldid=168113 * Eating-dinner * (+189) /* 67 in 67 */
22:04:01 <esolangs> [[TernaryDigitPointer]] https://esolangs.org/w/index.php?diff=168119&oldid=167713 * QuoteDam!anquote * (+5028) corrected the pointer array so its (at least slighty) more comprehensible + spelled correctly
22:15:44 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168120&oldid=168115 * Aadenboy * (+6) /* 2022 */ fix unclosed big tag
22:18:06 -!- ais523 has joined.
22:45:37 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:58:14 -!- tromp has joined.
23:12:43 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:19:26 -!- [iovoid] has changed nick to iovoid.
23:31:31 -!- impomatic has quit (Quit: Client closed).
2025-11-14
00:13:24 -!- ais523 has quit (Quit: quit).
00:31:43 -!- Melvar has quit (Ping timeout: 246 seconds).
00:45:51 -!- Melvar has joined.
01:49:25 -!- 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).
03:38:13 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168121&oldid=168100 * Yayimhere2(school) * (+60) /* Syntax & semantics */
03:49:33 <esolangs> [[Emmental]] https://esolangs.org/w/index.php?diff=168122&oldid=148993 * Yayimhere2(school) * (+115) /* See also */
05:08:49 <esolangs> [[User talk:Chris Pressey]] https://esolangs.org/w/index.php?diff=168123&oldid=90288 * Yayimhere2(school) * (+150) /* Controversial */
06:10:38 -!- Sgeo has quit (Ping timeout: 256 seconds).
06:19:12 -!- Sgeo has joined.
06:29:22 -!- Sgeo_ has joined.
06:30:37 -!- Sgeo has quit (Ping timeout: 264 seconds).
06:54:33 <esolangs> [[Apraxia]] N https://esolangs.org/w/index.php?oldid=168124 * Yayimhere2(school) * (+2953) Created page with "'''Apraxia''' is a [[Category:Pattern-based|pattern-based esolang]] created by [[User:Yayimhere]], after being disappointed by the use of the before mentioned term. In Apraxia, every string of length <code>1</code> is valid as code. Apraxia is quite complex c
06:58:39 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168125&oldid=168124 * Yayimhere2(school) * (+220)
07:02:11 -!- Sgeo_ has quit (Read error: Connection reset by peer).
07:09:54 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168126&oldid=168057 * Yayimhere2(school) * (+14) /* esolangs */
07:14:24 <esolangs> [[Delta Relay]] M https://esolangs.org/w/index.php?diff=168127&oldid=154072 * ThrowAwayLurker * (+4) Changed punctuation and capitalization
07:16:54 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168128&oldid=168121 * Yayimhere2(school) * (-5) /* Syntax & semantics */
07:17:49 <esolangs> [[ObjLang]] M https://esolangs.org/w/index.php?diff=168129&oldid=122882 * ThrowAwayLurker * (+31) Added distinguish to Obj
07:18:27 <esolangs> [[Obj]] M https://esolangs.org/w/index.php?diff=168130&oldid=139777 * ThrowAwayLurker * (+36) Added distinguish to ObjLang
07:33:12 -!- sprout_ has changed nick to sprout.
08:01:37 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168131&oldid=168128 * Yayimhere2(school) * (+80) /* Syntax & semantics */
08:11:03 <esolangs> [[STABS-MOD]] N https://esolangs.org/w/index.php?oldid=168132 * Yayimhere2(school) * (+2072) Created page with "{{WIP}} '''STABS-MOD''', an acronym for "STAck Based String MODification language", is a language created based on an idea for a [[Minsky Machine]] translation into [[Square-like]]. It is quite the strange stack(well, dequeue) based language. It is currentl
08:13:46 <esolangs> [[STABS-MOD]] https://esolangs.org/w/index.php?diff=168133&oldid=168132 * Yayimhere2(school) * (+17) /* Commands */
08:13:59 <esolangs> [[STABS-MOD]] https://esolangs.org/w/index.php?diff=168134&oldid=168133 * Yayimhere2(school) * (+17) /* Commands */
08:15:30 <esolangs> [[STABS-MOD]] https://esolangs.org/w/index.php?diff=168135&oldid=168134 * Yayimhere2(school) * (-2) /* Commands */
08:40:19 -!- tromp has joined.
08:41:53 <esolangs> [[Square-like]] https://esolangs.org/w/index.php?diff=168136&oldid=168131 * Yayimhere2(school) * (+97) /* Syntax & semantics */
08:44:48 <esolangs> [[STABS-MOD]] https://esolangs.org/w/index.php?diff=168137&oldid=168135 * Yayimhere2(school) * (+93) /* Commands */
08:51:01 <esolangs> [[Notwise Cyclic Tag]] N https://esolangs.org/w/index.php?oldid=168138 * Yayimhere2(school) * (+421) Created page with "'''Notwise Cyclic Tag''' or '''NCT''' is a modified [[BCT]]. It was created to prove [[STABS-MOD]] turing complete. == NCT programs == A NCT program is any finite string of commands, executed as follows: {| class="wikitable" ! Symbol !! Meaning |-
09:41:39 <esolangs> [[Fillin]] N https://esolangs.org/w/index.php?oldid=168139 * Yayimhere2(school) * (+1172) Created page with "'''Fillin''' (pronounced \ii\) is an esolang created by [[User:Yayimhere]] after being dissatisfied by [[Square-like]], another esolang they made. Fillin functions by filling in its own program again and again. == Memory == Fillin has a stack. This stack is f
09:44:35 <esolangs> [[Fillin]] https://esolangs.org/w/index.php?diff=168140&oldid=168139 * Yayimhere2(school) * (+158) /* Leave */
09:45:03 <esolangs> [[Fillin]] https://esolangs.org/w/index.php?diff=168141&oldid=168140 * Yayimhere2(school) * (+44)
09:47:27 <esolangs> [[Fillin]] https://esolangs.org/w/index.php?diff=168142&oldid=168141 * Yayimhere2(school) * (+46) /* Commands */
09:48:24 <esolangs> [[Fillin]] https://esolangs.org/w/index.php?diff=168143&oldid=168142 * Yayimhere2(school) * (-146) /* Memory */
09:48:37 <esolangs> [[Fillin]] https://esolangs.org/w/index.php?diff=168144&oldid=168143 * Yayimhere2(school) * (-21) /* Commands */
10:01:11 -!- Taneb has joined.
10:02:06 <esolangs> [[Incident]] https://esolangs.org/w/index.php?diff=168145&oldid=67279 * Yayimhere2(school) * (+52) /* See also */
10:16:14 -!- Yayimhere has joined.
10:16:34 -!- Yayimhere has quit (Client Quit).
10:27:38 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=168146&oldid=168112 * RaiseAfloppaFan3925 * (-2238)
10:29:19 <APic> Hi
10:42:51 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:50:44 -!- tromp has joined.
12:42:36 -!- amby has joined.
12:56:10 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:00:49 -!- ais523 has joined.
13:02:12 -!- tromp has joined.
13:35:32 <esolangs> [[Delta Relay]] https://esolangs.org/w/index.php?diff=168147&oldid=168127 * Ais523 * (+0) partial rv: the bullet points in the "any of the following algorithms" list start in the middle of the sentence, so the first word of the bullet point is not capitalised because it occurs mid-sentence and is not a proper noun
13:51:47 <esolangs> [[Talk:Fire]] N https://esolangs.org/w/index.php?oldid=168148 * Waffelz * (+91) Created page with ""fire" -~~~~"
14:25:26 -!- impomatic has joined.
14:37:15 -!- Sgeo has joined.
14:42:04 -!- impomatic has quit (Quit: Client closed).
14:47:17 -!- lynndotpy6093 has quit (Quit: bye bye).
14:48:31 -!- lynndotpy6093 has joined.
15:23:42 -!- Taneb has quit (Ping timeout: 256 seconds).
15:24:55 <esolangs> [[Talk:Fire]] https://esolangs.org/w/index.php?diff=168149&oldid=168148 * Esolangist alt * (+176) Esolangist alt
15:26:12 <esolangs> [[Bliss]] M https://esolangs.org/w/index.php?diff=168150&oldid=168110 * H33T33 * (+204)
15:26:53 <esolangs> [[2 commands :(]] N https://esolangs.org/w/index.php?oldid=168151 * * (+1040) Created page with "'''2 commands :(''' is a language by ~~~, made as the sequel to [[3 commands :)]]. 2 commands :( has 2 commands and 2 cells. ==Commands== {| class="wikitable" | 1 || If cell 2 is 256, output cell 1 as a number. If it is 257, output it as an ASCII character. If it is 258
15:32:43 -!- DOS_User_webchat has joined.
15:33:00 -!- DOS_User_webchat has changed hostmask to ~DOS_User_@user/DOS-User:11249.
15:35:51 -!- DOS_User_webchat has quit (Remote host closed the connection).
15:59:43 <esolangs> [[Bliss]] M https://esolangs.org/w/index.php?diff=168152&oldid=168150 * H33T33 * (-1)
16:05:53 <esolangs> [[Bliss]] https://esolangs.org/w/index.php?diff=168153&oldid=168152 * Aadenboy * (+1) fix tag
16:19:45 -!- pool has quit (Read error: Connection reset by peer).
16:21:43 -!- pool has joined.
16:28:02 -!- Lord_of_Life_ has joined.
16:29:08 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:29:22 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:44:31 <esolangs> [[Extended beescript]] N https://esolangs.org/w/index.php?oldid=168154 * Esolangist alt * (+1937) Esolangist alt
16:53:26 <esolangs> [[User:Hammy]] https://esolangs.org/w/index.php?diff=168155&oldid=167740 * Esolangist alt * (+223) Esolangist alt
16:58:37 -!- Yayimhere has joined.
16:58:45 <Yayimhere> Hello!
17:03:09 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:05:00 <ais523> hi
17:05:08 <Yayimhere> how are you?
17:05:37 <ais523> a bit tired, also there's a rainstorm over the UK at the moment so it's making it difficult to do things outdoors
17:06:03 <Yayimhere> makes sense
17:06:23 <Yayimhere> (i am not quite surprised you arent working on much, because you have already worked on a whole lot of things)
17:07:26 <ais523> I find it hard to get enough mental energy together to focus on anything in particular, it can take days
17:07:40 <Yayimhere> I get that sometimes
17:08:09 <ais523> atm I'm mentally working on a replacement for one of the most fundamental standard library types in Rust (specifically Box)
17:08:18 <ais523> but am having trouble working out the exact soundness conditions
17:08:24 <Yayimhere> wowo
17:08:31 <Yayimhere> that sure is a project
17:09:16 <ais523> even if I work it out, it might be hard to persuade the Rust developers to accept the change, but I still want to figure out how it's supposed to look instead and think I can make it backwards-compatible with stable code
17:09:31 <Yayimhere> oh wow
17:09:34 <ais523> being in #esolangs means that you can try to reimagine things that most language developers wouldn't dare to
17:09:36 <Yayimhere> your actually like
17:09:44 <Yayimhere> trying to get it in rust
17:09:49 <Yayimhere> ais523: in fact
17:10:57 <ais523> trying is kind-of different from succeeding
17:11:04 <ais523> I'm actually trying to get something *else* into Rust which I think has a better chance
17:11:26 <Yayimhere> its still wild
17:11:29 <ais523> but I was trying to write a prototype, and got stuck on Box not working the way I needed it to, so I'm writing my own Box so that i can use it to write the prototype of the other feature
17:12:13 <ais523> this has been my life for the past 5 years or so, try to write a program, find that the language isn't quite right for writing the program in, try to fix the language
17:12:32 <ais523> then decide I want a prototype to demonstrate my ideas more clearly, but that's also a program, so the cycle repeats
17:12:43 <Yayimhere> thats... cool
17:12:44 <ais523> until it starts touching on ever more fundamental parts of the language
17:13:01 <Yayimhere> has any of your esolangs resulted from this
17:13:23 <ais523> doing this on Rust, no, because the resulting language changes end up too practical to really be esolangs
17:13:34 <Yayimhere> true
17:13:36 <ais523> it's given me a few ideas for intermediate representations (which are languages used internally within compilers)
17:13:45 <Yayimhere> but like in general, not this specifically
17:13:56 <ais523> which are fairly esoteric as intermediate representations go, but IRs still generally aren't considered to be esolangs
17:14:35 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168156&oldid=168126 * Yayimhere2(school) * (+0) /* Favorite esolangs: */
17:15:24 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168157&oldid=168156 * Yayimhere2(school) * (+8) /* Favorite esolangs: */
17:15:55 <ais523> I think people are still surprised that we got the URL https://esolangs.org/wiki//// to work
17:16:02 <ais523> URLs don't normally work like that
17:16:25 <Yayimhere> yea
17:17:31 <ais523> (I'm not involved in the webserver/hosting side of esolangs.org so I don't know how difficult it was)
17:17:57 -!- tromp has joined.
17:18:07 <esolangs> [[User:Ractangle]] M https://esolangs.org/w/index.php?diff=168158&oldid=165846 * Ractangle * (+17) /* Esolangs */
17:18:41 <esolangs> [[Filename "xxx" doesn't seem to be a valid filename. Please check if the filename your trying to execute is written correctly]] M https://esolangs.org/w/index.php?diff=168159&oldid=163160 * Ractangle * (-190) /* Python */
17:19:57 <Yayimhere> for what im working on, im making an esolang with another esolanger
17:20:16 <Yayimhere> in which a program generates programs, put them on a wheel, and reject or accept them
17:21:40 <ais523> what does the wheel do?
17:22:33 <Yayimhere> hold programs genarated
17:22:53 <ais523> ah, so it's your equivalent of a stack or tape?
17:23:51 <Yayimhere> yes
17:23:58 <Yayimhere> well theres also a stack
17:24:09 <Yayimhere> but its a wheel cuz wee spin it around in a cycle
17:24:12 <ais523> hmm, now I'm thinking about how, in addition to having stacks and tapes and queues to store data, languages often conceptually have something similar to a stack or tape or queue to hold the program
17:24:28 <Yayimhere> true
17:24:37 <Yayimhere> thats an interesting concept for an esolang
17:24:45 <ais523> BF is like the program is on a stack, because when you encounter the start of a loop and it's taken, you push a copy of the loop body in front of the loop
17:25:10 <ais523> (this is actually how I implemented it when I wrote a BF interpreter in Esimpl, which is designed to map onto a lot of other simple esolangs so they would probably implement it the same way)
17:25:23 <ais523> likewise, Underload treats the program like a stack because ^ pushes onto the start of the program
17:25:35 <Yayimhere> true
17:26:12 <ais523> meanwhile, in languages like cyclic tag and the I/D machine, the program acts like a queue because the easiest way to implement the implicit loop is, after running a command, you push that command onto the end of the program
17:26:46 <ais523> and in languages like Unefunge, the program is there as a static entity but you can move the instruction pointer back and forward through it and it can move in either direction, so the program behaves like a tape
17:27:00 <ais523> I'm not sure if there's a pattern or important concept here but it's interesting to think about
17:27:10 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=168160&oldid=166147 * Ractangle * (-49) /* Interpreter */
17:27:11 <Yayimhere> yea
17:27:23 <Yayimhere> I guess its a method for creating a self modifying language
17:27:28 <Yayimhere> in a more "logical" way
17:27:30 <ais523> maybe this is somehow connected to the way that tag systems are better at interpreting counter machines than tag systems, but counter machines are better at intepreting tag systems than counter machines
17:27:51 <Yayimhere> lol
17:27:57 <Yayimhere> thats strange
17:28:00 <Yayimhere> but cool
17:28:05 <ais523> (when *compiling* it behaves more sensibly, normally tag systems compile most easily into other tag systems and counter machines into other counter machines)
17:28:46 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:29:29 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=168161&oldid=168160 * Ractangle * (-51) /* Syntax */
17:29:34 <Yayimhere> this makes me wonder if there is a fun way to make a self modifying Apraxia variant
17:30:38 <Yayimhere> Apraxia is most definitely trivial in a stack
17:30:39 -!- tromp has joined.
17:30:40 <Yayimhere> i think
17:30:40 <b_jonas> "trying to get something *else* into Rust which I think has a better chance" => I hope it's a better replacement for the whole format! mechanism, because that's the part that I'd most like to replace. But it's tricky, because the current format! parses the format template at compile time, which is very useful, not really because of performance but to find type errors at compile time, but isn't trivial
17:30:46 <b_jonas> to implement.
17:31:22 <b_jonas> I wouldn't have guessed that you want to replace Box, that one is surprising.
17:31:46 <ais523> b_jonas: I (and others) realised a while ago that Rust had an important missing abstraction
17:31:55 <ais523> but it's only very recently that I realised that it's a generalisation of Box
17:32:31 <ais523> the difference from current Rust Box is that the current Box manages an allocation itself and also manages the lifetime of the value inside the box itsefl
17:33:15 <ais523> which is a special case of my generalised Box (which I'm calling Box2), which wraps around an object representing an allocation, and manages the lifetime of the value inside the Box but delegates the management of the allocaiton itself
17:34:41 <ais523> so Box::<T>::new(t) would be sugar for Box2::<T>::new_at(x, GlobalAllocator::new_allocation::<T>()), but this would then allow you to start using other allocation-like things instead of actual allocations
17:35:04 <b_jonas> "got the URL https://esolangs.org/wiki//// to work" => I don't find that surprising. like, the RFCs say that . and .. components between slashes are supposedly special in URLs, but they also say that proxies must not rewrite any part of the URL with the exception that if there's no path after the hostname they can add a single slash, and the webservers can just interpret URLs however they want and tell
17:35:10 <b_jonas> proxies how to cache pages, so nobody actually enforces the theoretical rules about URLs
17:35:17 <b_jonas> and I think even the theoretical rules don't require that extra slashes can't have a meaning
17:35:35 <ais523> right, most webservers treat them as directory-like but there's no rule that actually says you have to
17:36:55 <b_jonas> also I think MediaWiki does this out of the box with the slahes, though you can run into problems with some other characters in article titles
17:37:24 <ais523> IIRC it used to not work, but got intentionally fixed at some point
17:37:40 <ais523> but it might have been something before MediaWiki in the chian
17:37:50 <fizzie> Hah, I *just* mentioned https://esolangs.org/wiki//// on #go-nuts yesterday.
17:38:14 <korvo> Yayimhere: It's worth asking *why* we want self-modifying systems. Often it's much easier to analyze when a system's code and data are completely separate.
17:38:24 <fizzie> Someone came by complaining that the Go standard library's router collapses consecutive slashes (or removes empty path components, whichever way you want to think of it).
17:38:44 <Yayimhere> korvo: I think the want directly comes from a challenge of not being allowed to separate them
17:38:46 <korvo> And even when we want to be able to treat code as data for runtime code generation, we can use something like multi-stage programming or two-layer types to do it safely.
17:39:01 <Yayimhere> as an estoric language's goal atleast
17:39:15 <fizzie> Which may or may not be true, they may have also misdiagnosed the issue; in any case, what I know for sure is, nginx does that by default when proxying, so a `merge_slashes off;` setting is needed for that /// link to actually work.
17:39:37 <ais523> korvo: so I think the attraction is that self-modification is both powerful and hard to reason about, which makes it an interesting challenge for programmers
17:39:51 <fizzie> (That's the before-MediaWiki thing that needed a fix. It's only an issue when using the "pretty" URLs, of course.)
17:40:06 <ais523> maybe it isn't the best thing to use in production
17:40:06 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:40:08 <korvo> Yayimhere: Sure. Lucky 10000: most computers today are either *Harvard* or *Von Neumann* architectures. The big difference is that a Harvard architecture doesn't allow code to be altered after it's been loaded, while a Von Neumann architecture allows code to be changed.
17:40:16 <Yayimhere> ais523: in fact I just stated
17:40:41 <ais523> I remember reading about someone who was using cross-modifying code as a performance optimisation, that seems to be a similar attraction
17:40:42 <Yayimhere> Korvo: i actually do prefer the concept of a Von Neumann one
17:40:52 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=168162&oldid=168161 * Ractangle * (-6) /* Cat program */
17:41:12 <korvo> You'll see lots of Harvard architectures being pushed for safety, and ideas that emulate it like W^X, "write XOR execute", which says that pages in memory can either be mutable or executable but not both.
17:41:40 <Yayimhere> korvo: it makes sense
17:41:57 <Yayimhere> is propably comes fro my want to be able to modify anything I want to
17:42:03 <Yayimhere> if I really want to
17:42:06 <b_jonas> fizzie: maybe I'm a wimp but I referred to it as https://esolangs.org/wiki/Slashalash in https://logs.esolangs.org/libera-esolangs/2025-10.html#lJJb . I don't think the punctuation-only one is bad for a URL, but because I think it's bad for the name of a language. Cplusplus and C-sharp are bad enough, we don't have to compete with them.
17:42:55 -!- tromp has joined.
17:43:10 <ais523> korvo: so my conceptual objection to self-modifying code that isn't extremely low level is that it really restricts what source code transformations are valid
17:43:16 <b_jonas> ais523: I don't really understand that Box thing, but I assume you'll eventually just explain it in a blog post
17:43:28 <korvo> Yayimhere: Sure. And that attitude makes sense for a single person on a single machine with no network. But how do you prevent Somebody Else from modifying anything on your machine? Once we start asking that sort of question, it becomes more attractive to make parts of the software immutable so that *nobody* can change them.
17:43:47 <ais523> b_jonas: this is normal with my ideas in early stages of development, I often don't really understand them myself
17:44:03 <Yayimhere> korvo: true. I had not really though of that, however this is for me still an esolang question
17:44:05 <Yayimhere> to some extent
17:44:09 <b_jonas> fizzie: I see
17:44:12 <korvo> ais523: Yeah. Or it makes them much more expensive, since the transformation must track the original code and any modifications that have been statically applied.
17:44:12 <Yayimhere> but yea I see *why*
17:44:15 <Yayimhere> it would be done
17:46:28 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168163&oldid=168125 * Yayimhere2(school) * (+14) /* Semantics */
17:47:21 <b_jonas> "so my conceptual objection to self-modifying code that isn't extremely low level is that it really restricts what source code transformations are valid" => oh yeah! that reminds me of a certain obfuscated dc short signature that reuses a string for both executing and getting its length, so if you try to modify that string to add debug statements for reverse engineering then the code breaks. that's not
17:47:27 <b_jonas> self-modifying code, but gives a similar problem. much later I wrote something like that in perl where you can't even modify any character in the string without it breaking something.
17:47:38 <ais523> korvo: the thing that bothers me about the security argument is that it isn't obvious to me that it's impossible to have secure self-modifying code
17:47:48 <b_jonas> that dc code was when I was young so I didn't yet expect that that kind of thing can happen
17:47:54 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=168164&oldid=168162 * Ractangle * (-18) /* Truth-machine */
17:47:54 <ais523> you could place restrictions on what modifications were allowed, or use a taint system, or the like
17:48:35 <ais523> b_jonas: it would have been much easier in A Pear Tree :-P
17:49:00 <Yayimhere> also
17:49:02 <ais523> although that runs the risk of someone finding the checksum
17:49:02 <b_jonas> yes... but then most people won't know how to run it
17:49:26 <b_jonas> whereas (especially at the time when I wrote it) everyone just had a perl interpreter already
17:49:40 <Yayimhere> ais523, me and a couple of other people was wondering about the statement that a looping counter is not possible by a PDA, since it makes sense to none of us
17:49:45 <Yayimhere> (this was stated on the black page)
17:49:51 <ais523> I wonder if you can write an interesting/nontrivial Perl program where any single addition, removal or substitution of a byte breaks the program
17:50:09 <b_jonas> wasn't there a challenge like that on Code Golf SE?
17:50:13 <ais523> b_jonas: yes
17:50:33 <ais523> see the pristine-programming tag for a whole load of variants on it
17:51:00 <ais523> Yayimhere: OK, so a push-down automaton is, basically, a stack where each element can only hold one of finitely many possibilities, plus a state machine
17:51:04 <b_jonas> any single addition would have to use something like reading __DATA__ and verifying the integrity, because otherwise it's hard to make somethign that doesn't break if you add a space at the start or end
17:51:21 <Yayimhere> Ais523: yes?
17:51:25 <b_jonas> especially if it's just a perl script, not a polyglot or something
17:51:43 <ais523> say we want the program to output a really big number, then that number + 1, then that number + 2, and so on (and the number is bigger than anything that appears in the program)
17:51:47 <ais523> which a looping counter has to do, eventually
17:51:59 <ais523> there are only finitely many states, and only finitely many possibilities for each stack element
17:52:00 <b_jonas> and if I can just read the whole code and verify a checksum then the challenge gets trivial
17:52:22 <ais523> so the number has to be stored across a range of stack elements, and in order to read the whole number we have to keep popping the stack until they're all read
17:52:33 <Yayimhere> ah ok
17:52:43 <ais523> but, by the time the entire number has been read, all the elements that represented it have been popped from the stack and there's nowhere else to store it
17:52:53 <Yayimhere> i assume this also applies to if we just have an integer counter?
17:52:56 <ais523> so a push-down automaton can't read a really big number without forgetting its value, and that makes the next line impossible to print
17:53:06 <ais523> yes, 1-counter machines have the same problem
17:53:14 <ais523> 2-counter machines don't, because as you read a number from one counter you can store it on the other counter
17:53:23 <Yayimhere> wait they cant do a looping counter
17:53:27 <Yayimhere> hmm
17:53:35 <ais523> a 1-counter machine can't, a 2-counter machine can
17:53:40 <ais523> (but 2-counter machines are Turing-complete)
17:54:49 <Yayimhere> ais523: all of em?
17:54:58 <ais523> no, 2 counters are enough but you need other things too
17:55:25 <ais523> but 2 counters is enough *storage* for Turing-completeness, so if it's Turing-incomplete it's because the program has trouble reading or writing them reliably, or insufficiently powerful control flow
17:55:46 <Yayimhere> ais523: ok
17:55:50 <Yayimhere> makes sense
17:56:06 <Yayimhere> (this makes me very sure that TLQ is TC)
17:56:33 <ais523> usually if a 2-counter language isn't Turing-complete it's because either a) it's been contrived to make it Turing-incomplete or b) the author forgot to add a way to make values read from the counter affect the control flow
17:56:52 <ais523> or c) there's no way to create an infinite loop, I guess
17:57:16 <korvo> ais523: Mark Miller's perspective might be useful. He showed that if we safely *load* the code, and we enforce cap discipline throughout the VM, then there's no point of entry for attackers. In that sense, safe code loading is the only thing that has to be done right. But he argues that Java's parade of vulns is precisely from unsafe code loading!
17:57:32 <b_jonas> in http://www.madore.org/cgi-bin/comment.pl/showcomments?href=http%3a%2f%2fwww.madore.org%2f~david%2fweblog%2f2017-08.html%23d.2017-08-18.2460#comment-23792 I have a proof that the language (1) is equivalent to the language (1) with arrays, which seems funny because (1) apparently only has access to one stack, the call stack that holds local variables and return addresses, whereas (1) with arrays lets
17:57:38 <b_jonas> you random access arrays. of course the trick is that bignums of unbounded size are used and in the general case they will grow big, but the proof hides it nicely.
17:57:39 <Yayimhere> korvo: I guess that makes sense
17:57:52 <ais523> korvo: I might agree but I think that the phrase "safe code loading" is carrying a lot of weight there and needs to be precisely defined
17:58:22 <korvo> Yayimhere: Yeah. We gotta be careful not to follow Miller wholesale though, as he will pied-piper us onto blockchains and cryptocurrency and augmented-reality metaverses.
17:59:06 <Yayimhere> korvo: holy f*ck
17:59:06 <ais523> there's https://esolangs.org/wiki/Feed_the_Chaos which is a two-counter machine that might or might not be Turing-complete
17:59:21 <Yayimhere> (the amount of times I typed *f is incredible)
18:00:02 <ais523> I contrived that by making the control flow awkward enough that you're restricted in what you can do with values read from one counter
18:00:20 <korvo> ais523: http://www.erights.org/talks/thesis/markm-thesis.pdf Chapter 10, p93. Quoting p96, why Java is not object-cap: "The import mapping that [the user] provides cannot override some magic class names, and some of those system classes provide authority."
18:01:03 <esolangs> [[User:H33T33]] https://esolangs.org/w/index.php?diff=168165&oldid=166956 * H33T33 * (+12)
18:01:27 <esolangs> [[User:H33T33]] https://esolangs.org/w/index.php?diff=168166&oldid=168165 * H33T33 * (-9)
18:01:39 <ais523> korvo: my first thought there is "can you *make* Java an object-capability language by using a security manager to deny access to the loopholes?"
18:02:13 <ais523> I simultaneously know more about Java security managers than anyone really should, whilst not enough to do anything particularly useful with them
18:02:40 <korvo> ais523: See Miller's language Joe-E, not really worth documenting IMO. When the dust settled there remained E. Crucially, prior to this, there was Tribble's language Joule which had done the same to Smalltalk, and that gave a hint of how to do it.
18:03:50 <korvo> There's a flavor of ML called Alice. Wyvern is arguably a taming of a sort of generic OO teaching language. Monte is explicitly a taming of Python concepts. We haven't really made any object-cap languages which didn't start as taming attempts.
18:04:59 <ais523> korvo: I've been vaguely planning to write one (although it will be hard to find time to do so)
18:05:33 <ais523> actually there are significant effects on the language design, e.g. I want to keep the type system as simple as feasible to reduce the chance of soundness bugs in it
18:06:32 <ais523> I think you'd still need generics because every language needs those eventually, but am hoping to be able to keep it to a very simple version of them
18:09:34 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:10:29 <korvo> ais523: Oh, for sure. Last time I tried, I got Cammy, which doesn't have objects, Zaddy, which doesn't really have anything to encapsulate, and Vixen, which has the unappetizing task of taming Linux and will thus be Yet Another Taming.
18:12:01 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168167&oldid=168163 * Yayimhere2(school) * (-1) /* Semantics */
18:15:18 <korvo> ais523: I don't think I have it offhand, but somewhere in my Monte notes there is an enumeration of what *is* safe to provide to a code loader, assuming that the loading is a TC process. There can be a central dispatch object which reifies calls and sends; you can "call to call" by calling it. That's the object E in E, M in Monte, V in Vixen, etc. ASTs are legal too, so multi-stage programming is fine. E and Monte have safe quasiquotation.
18:16:09 <ais523> my mental model of safe code loading is "start with a sequence of bytes and then run some parser/verifier on it to make sure it's a valid binary for the language you're working in"
18:16:33 <ais523> another advantage of this model is that you can run it on trusted code, too, to ensure that it hasn't been miscompiled in a way that breaks cap-safety
18:16:47 <korvo> Collections are safe but heavily restricted. Only immutable collections can be identical to each other. Maps must be insertion-ordered. Lots of determinism requirements. If you've ever suffered EVM or other blockchain programming, you'll have seen this before. No gas in E, but easy enough to see where it's added.
18:17:32 <ais523> I'm increasingly coming to believe that determinism is a security property
18:18:09 <korvo> ais523: Right. But in the presence of E-style auditors, which WLOG get access to an entire object's AST, usually the compiled binary has to include the AST too. For Monte, we just shrugged and accepted this because we want the code loader to audit and certify that each imported module is immutable, and that's not something that can be wholly in user code.
18:19:32 <ais523> one thing I really want to do is a memory-safe (and capability-safe) assembly language
18:19:41 <ais523> that's basically just regular assembly language equipped with a correctness proof
18:19:48 <ais523> so the hard part is writing the proof language
18:19:55 -!- pool has quit (Read error: Connection reset by peer).
18:20:06 <ais523> this is not a new idea but I think it's an unpopular idea
18:21:14 <korvo> That could have been overkill. WASM doesn't bother doing auditors; they insist that modules are immutable, and that's really all that they use it for. Monte does something a bit more ambitious; unlike in WASM, in Monte a server can safely load *arbitrary bytes* directly into memory and try to run it, and the loading process is automatically safe by construction.
18:21:59 <korvo> The only other use of E-style auditing in Monte is transparency, so that users can write objects which invisibly decompose into their components. Very important for smart contracts but not essential for local programming.
18:22:04 -!- pool has joined.
18:26:23 <korvo> (Since somebody's going to ask: E is utterly paranoid about everything. By "load arbitrary bytes directly into memory" I mean what most folks would think of as a safe encapsulated bytestring. E assumes that having arbitrary bytes resident in memory could be a security issue; the security model defends against shellcode!)
18:26:39 -!- Yayimhere has quit (Ping timeout: 250 seconds).
18:28:33 <ais523> korvo: you're reminding me of the different methods of implementing object-capabilities in-memory at runtime (i.e. shadow capabilities versus tracing capabilities)
18:29:02 <ais523> with shadow capabilities you can't really write arbitrary bytes as the instructions to write new shadow bytes just don't exist, at best you can copy them
18:29:29 <ais523> with tracing capabiliites, you can write arbitrary bytes but what they mean is context-dependent and you can't put them into a context where they would represent a capability
18:29:49 -!- Yayimhere has joined.
18:31:01 <korvo> Sometimes I think of it as a Veil or maya. A Monte bytestring like b`this` can't *do* anything; its methods are all just plain old data. If we take something behind the Veil like m`fn { "this" }` then we can *do* something, but that quasiquotation happened before the program started running, with the authority to do pre-delegated.
18:32:06 <korvo> Smalltalk tries to have it both ways with CompiledMethod. The issue is that decompiling an object is an authority! It really shouldn't be delegated to the safe scope where code is loaded.
18:32:48 <ais523> one of my beliefs is that most languages, even ones that aim for safety, have too much ambient authority / things you can do without capabilities
18:33:04 <korvo> In E and Monte, we forbade catching exceptions. I mean, syntactically one can do it, but actually *unsealing* and examining them is an unsafe cap. As a result, most code assumes that it's never erroring, since it can't recover from errors anyway. It's safe to create a delimited continuation and pass *that* into subroutines, though.
18:33:56 <ais523> hmm, interesting – what was the reasoning behind banning that rather than trying to make it safe? (fwiw I've also had thoughts along those lines but want to see if yours are the same)
18:34:35 <korvo> Yeah! I don't have unveil() on Linux but I'm going to follow that sort of strategy for Vixen. The filesystem is behind the Veil, along with most binaries, and the only safe action is to pass messages by composing pre-delegated references in the local scope.
18:35:45 <korvo> Oh, making it safe is a big hassle because, in general, the catcher shouldn't have the authority to receive control flow that it didn't originally have. So when an exception is thrown, only the thrower really has the authority to catch it, but the no-stale-stack-frames rule means that the thrower is going to soon be reaped, so *nobody* ought to be allowed to catch it.
18:35:57 <korvo> And this is why we were sad to see both Go and Rust evolve the ability to catch panics.
18:36:39 <ais523> so my opinion on this is a bit different – I think that throwing an exception should destroy everything the thrower has authority to write to
18:36:52 <ais523> so from my point of view, it doesn't create stale stack frames
18:36:58 <korvo> Delimited continuations work around this by allowing a subroutine to have precisely the delegated control flow that the caller was using. E requires continuations to expire after they're used once. We say that they're "single-shot" or "single-use" delimited continuations. For jargon we call them "ejectors".
18:37:33 <Yayimhere> Hello, i have a little bit of a problem. I need an expression language that takes any bit string as input, however the output is always a 0 or 1. Each expression must also, however, be able to be of any length
18:38:21 <korvo> Oh, for sure. The entire stack frame gets torn down. If a caller uses an ejector, then usually they wanted to abort their control flow anyway. In Monte, IIRC the idiom is m`throw.eject(ej, reason)` and if ej is none then it throws with the global sealer so nobody can catch it.
18:38:50 <Yayimhere> korvo: is that a response to me or???
18:39:07 <ais523> Yayimhere: you haven't stated hte problem yet, just the situation it occurred in
18:39:14 <ais523> so we're waiting for the question
18:39:31 <Yayimhere> my question is: is there any such language
18:39:41 <korvo> ais523: Oh, I haven't mentioned Midori! A *lot* of this traces through Duffy et al. at Microsoft Research. They independently came to the same conclusion as E's team and their error model involves aborting stack frames too. Their path forward is in Fuchsia; you can follow the color names to see more of that.
18:39:48 <ais523> Yayimhere: oh, I see
18:40:12 <ais523> I'm not sure if there's any language designed specifically like that, but it would be easy to take an existing language that allowed any bit string of any length, then change the output format
18:40:34 <Yayimhere> ais523: I guess yea
18:40:43 <ais523> korvo: huh, so Midori and Fuschia both being names of colors isn't a coincidence?
18:40:57 <Yayimhere> shortly any function F(x) must be either 1 or 0, but must also rely on x
18:41:48 <korvo> ais523: Yeah, even the corporate teams have a bit of name fun.
18:42:50 <korvo> Yayimhere: What do you mean by "each expression" and "any length"? Assuming you've chosen a finite alphabet, you can't have infinitely many programs represented by expressions of length 1.
18:43:54 <ais523> korvo: you just suddenly made me realise that I don't know of any esolangs with an infinite alphabet, other than those which allow arbitrary integers to be commands
18:44:23 <ais523> Incident I guess? but it's debatable whether its alphabet is Incident tokens or bytes
18:45:20 <Yayimhere> korvo: Ok so, what im saying is, for any bit string input N and expression of just the function M, then it must be either 1 or 0. But then for an expression of just MX then X must be the one that returns a single bit, and M must(be allowed to) return more
18:46:00 <Yayimhere> ais523: maybe this is "plugging" but I recently created a language that maybe kinda technically has an infinite alphabet? maybe?
18:46:23 <ais523> sometimes alphabets are hard to define
18:46:29 <Yayimhere> yea
18:46:32 <Yayimhere> because for mine
18:46:42 <Yayimhere> you could use any symbol out of an infinite alphabet
18:46:43 <ais523> I used to think that the syntax was the least important part of programming, but then I came across codegolf sites that do interesting things with it
18:46:45 <Yayimhere> BUT
18:47:02 <Yayimhere> only a finite number will be used
18:47:04 <ais523> the hundreds-of-languages polyglot actually cared about all those BF derivatives that just change the commands
18:47:42 <ais523> and some of them were very different from others to fit into the polyglot, mostly based on how commonly their commands appeared in other languages' source code
18:48:07 <korvo> Yayimhere: The reason for that assumption is to try to figure out how much you are *not* asking for expressions representing (N → 2) → 2, the type of functions from bitstrings to booleans. A *lot* has been said about this type and types like it, but I'd like to avoid confusing you or linking you to unreadable maths.
18:49:14 <Yayimhere> korvo: i do not really understand that sentence
18:49:18 <Yayimhere> mostly
18:49:25 <Yayimhere> which assumption is being mentioned
18:49:43 <korvo> ais523: Automorphisms of syntax are trivial: you can have any of them. Automorphisms of semantics are trivial: there aren't any. I admit a lifelong difficulty in recognizing this distinction.
18:50:26 <korvo> Yayimhere: Well, I'm trying to figure out whether you're working with a finite alphabet or infinite alphabet. Like ais523 says, an infinite alphabet might as well be the natural numbers N, and a finite alphabet might as well be the Booleans 2.
18:50:43 <ais523> korvo: which category are you doing the morphisms in?
18:50:46 <Yayimhere> korvo: finite
18:51:24 <korvo> Like, yes, there have been so many such languages! But the *interpretation* of them is what matters, and computability theory's entire point is that there are limitations on how we interpret bitstrings.
18:52:34 <korvo> ais523: Syntax gets the category of sets; it's just about labels for stuff and algebraic trees of stuff. Semantics gets, well, the category of semantics for whatever programming system we're talking about. And physics generally doesn't commute its operators, so the semantics of a physical machine won't commute either. (I think we talked about Galois-Yanofsky theory before?)
18:53:03 <ais523> korvo: ah so this is specific to *denotational* semantics
18:53:27 <ais523> but that's not the only, or even most common, way to do a semantics
18:55:26 <esolangs> [[Place]] https://esolangs.org/w/index.php?diff=168168&oldid=167474 * Hammy * (+34)
18:55:53 <korvo> Yeah, it's not a great slogan once we start implementing languages relative to other languages. Yayimhere, ais523 refers to operational semantics, which are often what we want to see when you're *implementing* a language. This is why we think it'd be great for you to continue learning Python and *implement* your languages; you will get an intuition for what the machine can do and how to do it.
18:56:11 <Yayimhere> korvo: ok
18:56:30 <ais523> korvo: I'm actually not totally sure that there are no sorts of semantics other than operational and denotational
18:56:35 <Yayimhere> (my biggest issue in implementation is like, syntax work, on finding each command)
18:56:38 <ais523> although I haven't seen any others used
18:57:29 <korvo> ais523: But if you give me a rewrite system, or anything that I can put a refinement system or Hoare system onto, then I can give you a *native type theory*, which is the category of all possible denotational semantics; it's the category of functors from syntax to that rewrite system. In this sense, most languages admit a category, and it can be given nice dependent types that line up with language-specific behaviors.
18:58:23 <korvo> Such a category is automatically a Grothendieck topos, so it's a place where people can do general maths. This could help explain why so many programmers develop a language-specific way of thinking that repeatedly fails to generalize (the so-called "expert beginner" phenomenon)
18:58:35 <ais523> trying to remove nontrivial equivalences is basically the point of denotational semantics, and that's most interesting when it's constructive
18:58:52 <esolangs> [[Special:Log/newusers]] create * Uff20xd * New user account
19:01:07 <Yayimhere> I know there were some issues with my language, but uh, I came up with a way to do it
19:02:45 <Yayimhere> language/question
19:04:09 <korvo> ais523: TBH I think operational semantics just kick the can. It can be useful to do that, say in electrical engineering, but it's just precomposition with the denotational semantics of something else.
19:04:14 <ais523> korvo: in my PhD I worked quite a lot with game semantics, which is basically a denotational semantics constructed as follows: you imagine the program and its free variables (and environment, modeled as a free variable) as though they were Smalltalkish objects, and produce an execution trace which is a list of all the messages sent to and from the program, then the semantics of a program is the set of all possible execution traces that it could have
19:04:44 <ais523> and that got me thinking that, in effect, a denotational semantics category is just a way of describing what your program's environment and free variables are
19:05:50 <korvo> Yeah. And it doesn't have to have a monad underneath, although that turns out to be convenient because computation is monadic (and interaction is comonadic) in general.
19:05:59 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168169&oldid=167999 * Uff20xd * (+158)
19:06:11 <ais523> right, there usually is some extra structure in practice, but I don't think that's inherently required
19:06:42 <korvo> FWIW we call the possible nondeterministic responses to a fixed input message the *spectrum of an actor*, or at least that's the name I used when arguing against Carl Hewitt's crankery. Hewitt argued that a counter actor that starts from 0 and repeatedly increments itself is super-Turing; I argue that it merely has the natural numbers as its spectrum.
19:07:00 <ais523> you could just come up with a completely arbitrary set of execution traces and it would describe a program in some language (although you might have to add causality restrictions to make it computable)
19:07:35 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168170&oldid=168169 * Uff20xd * (+29)
19:08:16 <ais523> maybe not even that, if you have a sufficiently reliable environment
19:08:49 <ais523> like, the program might not have to be uncomputable if it has a requirement to be run in an environment that ensures it'll always continue giving input that the program can handle
19:08:58 <korvo> Yayimhere: What did you come up with?
19:09:00 <ais523> and not stop early on an impossible trace
19:09:13 <b_jonas> "the set of all possible execution traces" => that's so broad it allows not only nondeterminism but also semantics that can time travel
19:09:27 <b_jonas> ok, that might not be a real distinction
19:09:37 <b_jonas> general nondeterminism basically implies time travel anyway
19:09:40 <Yayimhere> korvo: simply, an expression can only either keep the length of the input, or shorten it, until it is one bit
19:09:46 <Yayimhere> *loops until one bit
19:09:47 <ais523> b_jonas: that's why I mentioned causality restrictions
19:09:57 <Yayimhere> which *technically* isnt what I wanted but it works fine it my case
19:10:26 <b_jonas> yeah
19:11:10 <korvo> b_jonas: Lucky 10000, perhaps: There's a fairly popular state monad for Haskell that implements time travel; state can legally travel backwards from the POV of the monad's order of operations.
19:11:23 <korvo> But that might be a POV issue rather than actual time travel.
19:11:29 <Yayimhere> korvo: I love time travel
19:12:51 <korvo> Yayimhere: I think it can be beautiful in stories. You might enjoy the movie "Primer"; it's easily my favorite. There's a book on my shelf, "The Bone Clocks", that might be available in your language of choice and I think you could handle at your age.
19:13:16 <Yayimhere> korvo: in fact. Ill look into both of them
19:13:26 <ais523> I tend not to like time travel stories because they don't normally play into the nature of time travel consistently
19:13:53 <ais523> like, the stories are written as though they happen in order in time, things later in the story are caused by things earlier in the story and people have memories that extend backwards through the story's pages
19:14:15 <esolangs> [[User:Uff20xd]] N https://esolangs.org/w/index.php?oldid=168171 * Uff20xd * (+158) created the page
19:14:38 <esolangs> [[User:Uff20xd]] https://esolangs.org/w/index.php?diff=168172&oldid=168171 * Uff20xd * (+4)
19:15:20 <korvo> In computing, we generally think it's impossible due to physics. If it *were* possible then we could do a lot of cheating. For example, suppose we want to know the answer to a hard problem, and we can cycle through the possible answers with a simple counter that resets when it overflows. Then we can solve an NP-hard problem by putting the cycle machine into a time loop (a CTC or "closed timelike curve") and reading the counter afterward.
19:17:04 <korvo> ais523: I also appreciate when the work clarifies the nature of time travel somehow. "Primer" comes with a temporal model. "Hitchhiker's Guide to the Galaxy", which our younger guests might not recognize at first, contributed a little bit with verbs and thought experiments although the physics was bunk.
19:17:50 * korvo willen haven been eating breakfast
19:18:05 <ais523> korvo: HHGTTG didn't actually define those verbs though
19:18:06 <b_jonas> what? younger guests don't recognize HHGG?
19:18:08 <ais523> it just came up with a few as a joke
19:18:23 <ais523> without enough context to understand what they meant or use them in other situations
19:19:20 <Yayimhere> oh yea, ais523, to give the language I created with "infinite alphabet" see Apraxia on the esolangs wiki
19:20:01 <ais523> Yayimhere: ah, I looked at that already, it's more like an "undefined alphabet" language in that it works equally well in any language (but having more letters lets you write more complicated programs)
19:20:04 -!- pool has quit (Read error: Connection reset by peer).
19:20:28 <Yayimhere> ais523: oh, wow. But yea true, the alphabet is defined as the program executes
19:20:36 <Yayimhere> which I guess is the same as incident to some extenet
19:20:45 <Yayimhere> extenet
19:20:48 <Yayimhere> esolang name
19:20:51 <ais523> well, both Apraxia and Incident can do their parsing in advance
19:21:17 <Yayimhere> anyways, I have to leave now, bye, it was nice talking!!!
19:21:19 <ais523> this is true of most languages, except for some languages with a string eval and some self-modifying langauges
19:21:20 <Yayimhere> ais523: yea
19:21:20 <ais523> bye
19:21:22 <korvo> Couldn't find breakfast. Got some string cheese.
19:21:26 <korvo> ais523: That's fair.
19:22:07 -!- pool has joined.
19:22:37 <b_jonas> korvo: as in, most languages cheese the alphabet thing by allowing multi-character identifiers of arbitrary length and then only care about the tokens, not the original alphabet of characters, thus cheesing the restriction of finite alphabets by using strings?
19:22:40 <esolangs> [[User:Uff20xd]] https://esolangs.org/w/index.php?diff=168173&oldid=168172 * Uff20xd * (+21)
19:22:49 <esolangs> [[User:Uff20xd]] https://esolangs.org/w/index.php?diff=168174&oldid=168173 * Uff20xd * (+1)
19:22:54 <korvo> But yeah, time travel bugs me because it leads to people talking about tachyons and other ridiculous ideas. Folks get lost first in the math, then in the literary memes, and then in the emotional anguish of not being able to properly regret and find closure in the immutable past.
19:23:18 <b_jonas> and most of the time it's easier to choose spellings for the tokens than in Incident
19:23:48 <ais523> b_jonas: isn't that one of the two hard problems of computer science?
19:24:15 <korvo> b_jonas: Oh wow, that's amazing. What a thought. No, in the USA we have little prism-shaped blocks or "strings" of low-moisture mozzarella "cheese". I'm told that the mere existence of low-moisture mozzarella is a horrifying concept in Europe, but over here we often batter and deep-fry them to make "mozzarella sticks".
19:24:15 <b_jonas> if you want the code to be readable then yes
19:24:42 <ais523> korvo: it depends a lot on country, you will horrify the Italians more than the Brits
19:24:46 <b_jonas> korvo: yeah, I know that's the other meaning, and Europe has cheese strings too
19:25:10 <b_jonas> or at least string-shaped cheese
19:25:17 <ais523> from my point of view it seems highly nutritionally unbalanced and I'm not sure why people would want to eat it, but I don't recoil from it in horror the way some people would
19:26:21 <korvo> Ah, okay. No worries; I'm not judging where anybody's from, I just know that the USA's attitude toward cheese is not shared by the rest of the lactose-tolerant world. I've seen the memes. I live with somebody who eats shredded cheese out of the bag at 2 in the morning.
19:26:56 <korvo> "highly nutritionally unbalanced" is great litote for what we eat over here.
19:27:19 -!- Yayimhere has quit (Ping timeout: 250 seconds).
19:27:54 <ais523> I'm intolerant to cheese so I don't have personal experience of this sort of thing (when I was very young, before it was discovered that I couldn't safely eat it, I did enjoy cheese though)
19:30:13 * Sgeo is glad that lactase enzyme supplements exist. I survive partly on pizza and am lactose intolerant
19:30:47 <ais523> for me it isn't lactose, it's probably one of the other chemicals in milk but we're not sure which one
19:31:15 <b_jonas> korbo: as in https://www.smbc-comics.com/comic/bomb
19:33:43 <korvo> b_jonas: Ooh, yeah. Canadians are even more extreme; poutine is real and delicious.
19:36:05 <korvo> We also love imitating other cheeses. At a local burger place, I can get pepperjack, cheddar, chevre, or swiss. Lowercase on all of those, of course; we're not importing them but making them here in Oregon.
19:37:05 <korvo> Curses. I had an apple but I'm still hungry. Now I want a cheeseburger.
19:39:43 <korvo> Oh, now I remember where I'd seen Yay's type before. https://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/
19:40:35 <korvo> Imperative version, using ejectors, with comments: https://github.com/monte-language/typhon/blob/master/mast/fun/cantor.mt
19:41:20 <ais523> korvo: oh, I remember that one too! (the Escardo post)
19:41:46 <korvo> Yeah. And then he came back a few years later with this one: https://math.andrej.com/2014/05/08/seemingly-impossible-proofs/
19:48:43 <ais523> Escardo and I were actually working in the same department at the same time (but I don't think it overlapped with when he was doing this work)
19:50:23 <ais523> but I don't really understand topology to a CS-research level
19:50:50 <ais523> (the category theory was hard enough)
20:00:28 <korvo> Research-level constructive maths is really tough because, quoting Bauer IIRC?, "it requires us to unlearn all of our intuitions." It's not really as intuitive as the word "intuitionistic" would lead one to believe.
20:01:52 <korvo> Escardó had an old post, a tweet maybe, where they asked folks about trichotomy on the real numbers; constructively, given that either x = 0, x < 0, or x > 0, is x a real? The answer is "yes" in typical constructive foundations and it made me realize how much I lean on pattern-matching and bogus assumptions.
20:03:05 <korvo> ...Wait, that's a bizarre way to phrase trichotomy. I don't know why, but I don't like what I just wrote. It's probably wrong somehow.
20:04:25 <ais523> well, x=0 is obviously a real, the rest of the question depends on how you define < and > I think
20:04:58 <ais523> an esolang I'm working on has three data types (dynamically typed): complex rationals, lists, and null
20:05:50 <ais523> and in that esolang, it is the case that a value x is a real number if and only if one of x = 0, x < 0, and x > 0 is scalar true
20:06:39 <ais523> (calculating [1, 2] > 0 gives you a list of two truthy elements, which is truthy itself, but [1, 2] isn't a real number, so a "scalar true" requirement is needed not just "true")
20:26:32 <esolangs> [[Iterate/Math]] https://esolangs.org/w/index.php?diff=168175&oldid=165589 * Aadenboy * (+1413) friendlier labels
21:00:13 <zzo38> I would think that x>0 can be if x is infinite
21:02:08 <ais523> my esolang doesn't have an infinity, 1/0 is null
21:02:19 <zzo38> OK
21:15:49 <zzo38> Another alternative of JSON-based syntax would be ASN.1-based syntax; ASN.1X is a superset of the data model of JSON (standard ASN.1 isn't because it lacks a key/value list type).
21:56:59 <zzo38> (Also, I think the JSON syntax described for Delta Relay is actually "concatenated JSON" format, from what I can understand of it. NDJSON is a subset of concatenated JSON, and I wrote a program in uxn to convert stanard JSON to concatenated JSON with line breaks in between.)
21:57:30 <zzo38> (Also, concatenated JSON does not work if any of the top-level values are numbers.)
22:18:02 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168176&oldid=168120 * Buckets * (+8) /* 2024 */
22:18:10 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168177&oldid=168176 * Buckets * (+0) /* Total of Esolangs */
22:18:46 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168178&oldid=168116 * Buckets * (+9)
22:19:04 <esolangs> [[O&]] N https://esolangs.org/w/index.php?oldid=168179 * Buckets * (+2944) Created page with "{{lowercase}} o& is an Esoteric Programming Language created By [[User:Buckets]] in 2024. {| class="wikitable" |- ! Commands !! Instructions |- | / || Pushes the value of The previous Cell Value, then It Increments It by one. |- | * || Swap the Current tape Cell with The top
22:25:50 -!- tromp has joined.
22:26:46 <APic> Good Night
22:29:22 <avih> hmmm... i wrote an infinite counter bf program:
22:29:40 <avih> ++++++++++[>>>>>----------<[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>[[-]<<[-]+>>>>--
22:29:40 <avih> --------<[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>]<<[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>[
22:29:40 <avih> [-]<<+>>]<<+[>>>]<<<[<++++++++[>++++++<-]>-.<++++++++[>------<-]>+<<<]<.]
22:30:16 <avih> (prints decimal numbers, starting at 1, each followed by newline)
22:31:04 <avih> (that's actually my 1st bf program, other than "cat". wasted way too long on it, but it was interesting)
22:31:48 -!- Sgeo_ has joined.
22:31:52 <avih> maybe s/wasted/spent/ :)
22:35:53 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:36:02 -!- Bowserinator has joined.
22:36:03 <avih> _way_ too many instructions on "if (cell is 0) {set cell to 1}"
22:36:47 -!- pool4 has joined.
22:36:58 <avih> (without destructing cell if it's not 0)
22:38:06 -!- Lord_of_Life_ has joined.
22:38:42 <avih> that's my current code for that, which uses 2 tmp cells right after cell itself. if anyone has a better idea for that, i won't mind hearing:
22:38:43 <avih> [>+>+<<-]>>[-<<+>>]+<[>-<[-]]>[[-]<<
22:38:43 <avih> +
22:38:43 <avih> >>]<<
22:40:21 <avih> (it's an application of my generic "if (cell == N) BODY" where N is 0 and BODY is "+")
22:40:37 -!- lambdabot has quit (Ping timeout: 256 seconds).
22:40:38 -!- pool has quit (Ping timeout: 256 seconds).
22:40:38 -!- amby has quit (Ping timeout: 256 seconds).
22:40:38 -!- simcop2387 has quit (Ping timeout: 256 seconds).
22:40:38 -!- perlbot has quit (Read error: Connection reset by peer).
22:40:39 -!- pool4 has changed nick to pool.
22:41:03 -!- perlbot has joined.
22:41:11 -!- Lord_of_Life has quit (*.net *.split).
22:41:11 -!- Sgeo has quit (*.net *.split).
22:41:12 -!- Bowserinator_ has quit (*.net *.split).
22:41:12 -!- iovoid has quit (*.net *.split).
22:41:21 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
22:41:35 -!- simcop2387 has joined.
22:42:23 -!- lambdabot has joined.
22:43:07 <avih> s/cell/cell-value/
22:44:15 -!- ajal has joined.
22:44:15 -!- iovoid has joined.
22:44:46 -!- tromp has joined.
22:45:42 <avih> (the tmp cells are assumed 0 initially, and are already back with value 0 at BODY)
22:46:46 <int-e> There's stuff like >+<[>->]>[>>]<< which needs 3 temp cells, all initially 0, and sets the first of them to 1 if the cell is zero
22:48:10 <int-e> err, one more < to move back to the original cell
22:48:20 <avih> i don't mind 3 tmps, and i do the same with one of the temps, but "if (val == N) BODY" is more than just setting a tmp cell to 1 if the condition is true. it includes also cleanups
22:49:07 <int-e> the other two temps aren't modified, they're just used as landing pads for the loops
22:49:09 <avih> but thanks, let me check what it does. maybe i'll get ideas
22:49:41 <avih> gotcha. so only 1 tmp? and cell itself is not destructed in the process?
22:49:52 <int-e> right
22:50:09 <avih> cool. let me figure out that code. thanks.
22:50:56 <avih> (i can't really read bf in my head yet...)
22:51:07 <ais523> what about [->[-]->+<<]>+
22:51:09 <int-e> they are "temporary" in the sense that they need to be 0, so you can't store useful data there
22:51:25 <avih> int-e: yeah, got that.
22:51:35 <ais523> (preserves the value but moves it to a different cell, you can move it back afterwards)
22:51:41 <avih> they need to be there as 0 at the time of this code.
22:52:39 <ais523> written like that it needs a wrapping implementation but a non-wrapping version is easy too
22:53:39 <ais523> oh, even better, set the target cell to 1, then [->[-]>+<<]
22:54:06 <ais523> so >+<[->[-]>+<<]
22:54:17 <avih> ais523: that's basically what my code does, including the moving back. but i need to look more carefully at these codes. i don't read it "natively"...
22:54:36 <ais523> I'm basically just translating from counter machines
22:54:48 <ais523> that isn't the only way to program in BF but it's usually one of the simplest
22:55:14 <int-e> ais523: I'm advocating unbalanced loops :P
22:55:17 <avih> not familiar with counter machines or the paradigm of such translation
22:55:52 <ais523> you can think of counter machines as being BF except all the loops are balanced
22:56:00 <avih> unbalanced loops are fine. i use them too. the right tool for the job is what matters
22:56:26 <ais523> they are normally easier to implement than BF itself is, so I frequently use them as a basis for programming in other non-BF esolangs
22:56:32 <ais523> so I'm pretty used to them and how they work
22:56:42 <avih> ais523: off the top of my head, that hardly makes my life easier in programming for THAT and then translating to bf ;)
22:56:57 <ais523> fair enough
22:57:32 <avih> but i will look at these codes. i can read bf, just not in a glance
22:58:24 <ais523> after staring at enough BF, things like [->+>+<<] sort-of become single words that you can recognise immediately
22:58:59 <avih> int-e: ais523: so with your suggestions, how would it look to "if (value == N) BODY" ?
22:59:17 <avih> (without destructing value)
22:59:22 <ais523> subtract N from the value, do an "if value == 0 BODY", add N to the value again
22:59:49 <avih> i mean in code.
23:00:14 <ais523> (the thing I find hardest when switching between Rust and C is remembering that C wants parentheses around an if condition and Rust doesn't"
23:00:17 <ais523> err, s/"/)/
23:00:18 <avih> because it _sounds_ like what my code does. but these subs and copies do end up with additional instructions.
23:01:11 <avih> i don't mind if you write c without parenthesis at the condition :)
23:01:13 <ais523> well if N is small the subtraction and addition are just strings like --- and +++
23:01:21 <ais523> avih: yes but the C compiler does
23:01:28 <avih> i''m not one...
23:01:34 <esolangs> [[Special:Log/newusers]] create * Nomnomnom * New user account
23:02:12 <avih> ais523: yes, and in the case of 0 it's even no-op, but again, it does add up at the final piece of code
23:03:50 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=168180&oldid=168170 * Nomnomnom * (+25)
23:03:54 <avih> that's my generic "if (==N) BODY", where (MINUS N) is empty in the case of 0:
23:03:56 <avih> >(MINUS N)<[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>[[-]<<
23:03:56 <avih> BODY
23:03:56 <avih> >>]<<
23:04:43 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168181&oldid=168007 * NTMDev * (+824) /* Conditionals / If Statements */
23:08:55 -!- pool0 has joined.
23:09:19 -!- pool has quit (Ping timeout: 264 seconds).
23:09:19 -!- pool0 has changed nick to pool.
23:14:41 <avih> ais523: your code starts with N 0 0 and ends up in 0 !(is N) N yes?
23:14:52 <ais523> avih: yes
23:17:03 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168182&oldid=168181 * NTMDev * (+698)
23:17:27 <avih> thx. let me try to use that for my use cases. in this case BODY is simply +, but elsewhere i need the tmp cells back at 0 when BODY is executed, because BODY moves to the next digit, and it needs the tmps cleaned up when it happens
23:18:27 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168183&oldid=168182 * NTMDev * (+25) /* Conditionals (If Statements and more) */
23:18:49 <avih> (and N is not 0 currently at elsewhere)
23:19:40 <avih> (i feel like a child learning the basics of programming... weird...)
23:19:55 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168184&oldid=168183 * NTMDev * (+171) /* LogicalOperation */
23:20:12 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168185&oldid=168184 * NTMDev * (+6) /* LogicalOperation */
23:20:29 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168186&oldid=168185 * NTMDev * (+10) /* If Statement Structure */
23:20:42 <esolangs> [[Bitty]] N https://esolangs.org/w/index.php?oldid=168187 * Nomnomnom * (+109) Created page with "==Overview== bitty has 5 instructions ''!'', ''/'', ''\'', ''>'', and ''<''. the list below shows there uses."
23:33:54 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:34:00 <esolangs> [[Bitty]] https://esolangs.org/w/index.php?diff=168188&oldid=168187 * Nomnomnom * (+164)
23:41:11 <esolangs> [[Bitty]] https://esolangs.org/w/index.php?diff=168189&oldid=168188 * Nomnomnom * (+155) /* Overview */
23:41:32 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168190&oldid=168186 * NTMDev * (+935) /* LogicalOperation */
23:42:58 <esolangs> [[User:Nomnomnom]] N https://esolangs.org/w/index.php?oldid=168191 * Nomnomnom * (+103) Created page with "==About== i am just a user that likes esolangs, so i decided to join. ==Languages== * Bitty: [[Bitty]]"
23:44:36 <esolangs> [[Bitty]] https://esolangs.org/w/index.php?diff=168192&oldid=168189 * Nomnomnom * (+70) /* Bitty */
23:45:29 <esolangs> [[User:Nomnomnom]] https://esolangs.org/w/index.php?diff=168193&oldid=168191 * Nomnomnom * (+5) /* Languages */
23:47:17 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168194&oldid=168190 * NTMDev * (+285)
23:52:37 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168195&oldid=168194 * NTMDev * (+672) /* Switch / Match */
23:52:49 <avih> int-e: i tried to follow your code, but i'm not sure it works. 1st, your corrected code is >+<[>->]>[>>]<<< yes? if yes, then if the initial val is not 0, i think it ends up two cells left to the original cell
23:53:21 <avih> (and if it's 0 then it does end up at the original cell)
23:54:12 <int-e> if the initial value is not 0, the first loop is executed, once.
23:54:21 <int-e> otherwise, the second loop is executed once
23:54:54 <int-e> and both of these move the pointer two places to the right
23:55:15 <avih> let me look at it again. thanks.
23:57:53 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168196&oldid=168195 * NTMDev * (+162) /* Switch / Match */
23:58:22 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168197&oldid=168196 * NTMDev * (+28) /* Conditionals (If Statements and more) */
2025-11-15
00:02:57 <avih> int-e: you're right. thanks. it's a bit harder for me to follow because the work it does is a function of both the original val and val==0 value. thanks.
00:03:12 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168198&oldid=168197 * NTMDev * (+777) /* Lists */
00:03:13 <avih> (i did get it)
00:09:31 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168199&oldid=168198 * NTMDev * (+37) /* Max and Min */
00:21:26 <int-e> ^bf -------[>+++++++<-]>.
00:21:26 <fungot>
00:21:36 <int-e> ^bf -------[>+++++++<+]>.
00:21:36 <fungot> 1
00:21:45 <int-e> ^bf >>+[[----------[+++++++++++[>>]>+<]+>>]<[-<-<<--<]>++[>++++++++[<<++>++++++>-]<-.+<[>---<-]<]++++++++++.[-]>>]
00:21:45 <fungot> 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72. ...
00:24:07 <int-e> (smaller, but still feels a bit clumsy)
00:27:27 <int-e> (I've spent hundreds of hours of my life optimizing brainfuck code. Probably not worth it :P)
00:37:36 <avih> ais523: so with the code >+<[->[-]>+<<] the overall "if (==0) BODY" is this, yes?
00:37:36 <avih> >+<[->[-]>+<<] >>[<<+>>-]<[-<
00:37:36 <avih> BODY
00:37:36 <avih> >]<
00:37:36 <avih> and a naive translation of this to "if (==N) BODY" would be
00:37:37 <avih> (MINUS N)>+<[->[-]>+<<] >>[<<+>>-]<[-<(PLUS N)
00:37:39 <avih> BODY
00:37:41 <avih> (MINUS N)>]<(PLUS N)
00:37:44 <avih> but in such case i presume it would be shorter with making a copy 1st, which i think ends up as my version, where N appears only once as (MINUS N).
00:38:10 <ais523> avih: that looks about right
00:39:16 <avih> k. but it's definitely nicer for the case of 0 :)
00:39:31 <avih> (i.e. than my version)
00:39:37 <avih> thanks
00:41:18 <avih> well.. "definitely" is 10 less bf commands, which is certainly not nothing.
00:42:28 <int-e> If you want a conditional, >+<[>->]>[>>]<< is still attractive... the two loops are already conditional branches. But you need to be extra careful with preserving the landing pads and the flag.
00:42:39 <avih> (i'm not evaluating execution speed because that depends too much on optimizations, but indeed many times less code also runs quicker)
00:43:20 <avih> int-e: indeed, your version is even shorter in a condition.
00:43:32 <avih> (another 10 bf commands)
00:44:03 <avih> like this if i got that right:
00:44:05 <avih> >+<[>->]>[>>]<<[-<
00:44:05 <avih> BODY
00:44:05 <avih> >]<
00:44:49 <avih> its advantage is that it doesn't touch the original cell at all, so no need to move it back to its original position before body
00:45:52 <avih> with the only "disadvantage" that it needs another free cell at 0.
00:46:11 <int-e> >+<[>-< non-zero stuff here >>]>[-< zero stuff here >>>]<<
00:46:31 <avih> hmm.
00:47:32 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=168200&oldid=167908 * PrySigneToFry * (+1092) Multilingual testing 2
00:48:48 <avih> the problem i would usually have with this kind of code, at least in other languages, is that i feel it's easier to get bugs in. it absolutely works, but the interaction between the vars feels like something someone could miss some time later when touching the code.
00:49:09 <int-e> avih: optimizing BF code with unbalanced loops like that is kind of toxic though: there's a lot of possible placements for landing pads (cells known to be 0) and I find it impossible to predict which is best... gotta try them all ;-)
00:49:09 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=168201&oldid=168200 * PrySigneToFry * (-1092) It seems that Tianheng's font is really easy to use. The only thing missing is that it doesn't include Luxembourgish.
00:49:56 <avih> i do realize bf is not normal, and sometimes it can be valuable to write more sensitive code to achieve some goals though. don't know. i didn't form an opinion on this yet.
00:51:23 <avih> my gut feeling is to go for the simpler code even at the cost of few more commands, but it's also hard to ignore minus 10 commands :)
00:54:23 <avih> and for instance ais523's code is purely simpler than mine for the special case of 0, without sacrificing legibility IMO, so this is win-win. but your version is yet shorter, but also trickier, which is where i need to consider whether it's worth it (it's probably worth it for this tiny program of a counter, but in general, i'd hesitate with it)
00:54:50 <ais523> being trickier also makes it harder to optimise, so the performance will depend somewhat on how optimising your interpreter is
00:55:08 <int-e> oh I'm absolutely not going for performance :)
00:56:13 <avih> yeah, as i said, didn't try to evaluate execution speed, but it depends so much on the optimizer.
00:56:48 <int-e> though with this counter problem your number increment routine and printing routine will have to use an unbalanced loop somewhere :)
00:58:55 <avih> int-e: sure, it does have two unbalanced loops. one to reach the most significant digit after increasing [all 999...] the last non-9 digit, and then the printing itself is of course also unbalanced
01:00:16 <avih> as i said, my issue with your code is not unbalanced loop. these are fine. it's the fact that it depends on two vars for the kind of work it does before BODY, while the other versions only depend on one
01:01:23 <avih> i.e. the "maybe jump" parts are... sensitive.
01:02:27 <int-e> Sure. If I were writing a compiler into brainfuck I wouldn't use it :)
01:02:57 <avih> there are two "maybe jump" and each of them depend on a different var, and the overall correctness depends also on the erlation between the vars, to get the right "maybe jump".
01:03:04 <avih> lol
01:04:09 <int-e> but for manually writing small pieces of brainfuck code it's not so bad
01:05:00 <avih> i tend to think so too. it's definitely interesting to exist. not the kind of code i would have thought of, which is always nice for me :)
01:10:44 <avih> (but it IS the first time i write bf code other than trivial variations of "cat", i spent about 80% in my generic "if (==N) BODY", another 10% on making it unbalanced "while (==N) BODY" (which scans through digits), and the rest for the actual code of increasing the number and printing it and tying it all together)
01:11:13 <int-e> it's not a natural way to program
01:11:34 <avih> yeah. fun challenge though.
01:15:49 <avih> i can see how it can lend itself very well to a macro language wrapper. i know such exist, but i don't have intentions to write meaningful bf code. i had to write at least something to get a feel of the challenges, but my main interest is interpreter/optimizer.
01:18:20 <avih> s/had/wanted/
01:21:38 <b_jonas> int-e: will have to use an unbalanced loop => only if you want an unbounded number of digits.
01:23:16 <int-e> b_jonas: yes, and bounded cells
01:23:42 <ais523> ^bf ++++++++++>>+++++++[->++++++<]>[[>]<[->+>+<<]>>[-<<+>>]<<[.<]<.>>]
01:23:43 <fungot> *
01:24:17 <ais523> ^bf ++++++++++>>+++++++[->++++++<]>[[>]<[->+>+<<]>>[-<<+>>]<<[.<]<.>>.]
01:24:17 <fungot> *
01:24:21 <ais523> ^bf ++++++++++>>+++++++[->++++++<]>[[>]<[->+>+<<]>>[-<<+>>]<<[.<]<.>.>]
01:24:21 <fungot> *
01:24:50 <ais523> ^bf ++++++++++>>+++++++[->++++++<]>[[>]<[->+>+<<]>>[-<<+>>]<.<[.<]<.>>]
01:24:50 <fungot> **
01:25:23 <ais523> ^bf ++++++++++>>+++++++[->++++++<]>[[>]<[->+>+<<]>>[-<<+>>]<.<[.<]>]
01:25:23 <fungot> *************************************************************************************************************************************************************************************************************** ...
01:25:37 <ais523> ^bf ++++++++++>>+++++++[->++++++<]>[[>]<[->+>+<<]>>[-<<+>>]<.<[.<]<>>]
01:25:37 <fungot> *************************************************************************************************************************************************************************************************************** ...
01:25:40 <ais523> ^bf ++++++++++>>+++++++[->++++++<]>[[>]<[->+>+<<]>>[-<<+>>]<.<[.<]<.>>]
01:25:40 <fungot> **
01:26:45 <ais523> ^bf +++++++[->++++++<]>[-<+>>+<]<+++++>>[[>]<[->+>+<<]>>[-<<+>>]<.<[.<]<>>]
01:26:45 <fungot> *************************************************************************************************************************************************************************************************************** ...
01:26:51 <ais523> ^bf +++++++[->++++++<]>[-<+>>+<]<+++++>>[[>]<[->+>+<<]>>[-<<+>>]<.<[.<]<.>>]
01:26:51 <fungot> **/***/****/*****/******/*******/********/*********/**********/***********/************/*************/**************/***************/****************/*****************/******************/*******************/ ...
01:26:59 <ais523> ^bf +++++++[->++++++<]>[-<+>>+<]<+++++>>[[>]<[->+>+<<]>>[-<<+>>]<<[.<]<.>>]
01:26:59 <fungot> */**/***/****/*****/******/*******/********/*********/**********/***********/************/*************/**************/***************/****************/*****************/******************/****************** ...
01:27:03 <ais523> there we go
01:27:11 <ais523> I wonder why fungot exits the program when outputting a newline
01:27:11 <fungot> ais523: i wish to begin by thanking mr hallam for his report.
01:27:53 <ais523> (most of those attempts were debugging to see why it wasn't working)
01:30:08 <ais523> ^bf +.+++++++++++++[>+++++>++++++>++++++++>++<<<<-]>-----.++.>.<++++++.++++++.-.>>>++++.<++++.<+++++++++++++++++.>-.+.-.[-]+.
01:30:08 * fungot tests
01:31:19 <avih> b_jonas: i think an infinite counter has to be unbounded number of digits... (at least mine is, which needs 1+NUMDIGITS*3 memory)
01:31:58 <int-e> ^bf ++++++++++.[>+++++<-]>.
01:31:58 <fungot> .2
01:32:02 <avih> or *4 if i'd use int-e's version.
01:32:12 <int-e> ^bf +++++++++++++.[>++++<-]>.
01:32:12 <fungot> .4
01:32:16 <ais523> ^bf ++++++++++.+++[>++++++>++>++++++++>+++++++++<<<<-]>.-----.------.++++++++.>++++++.>--.++++++.>.-------.<-----.--.>+.+++++.
01:32:16 <fungot> .NICK flungeot
01:32:34 <int-e> ais523: I don't know what you mean by printing newlines... both \n and \r become `.` for me
01:33:00 <ais523> int-e: well my program earlier was just ending when it tried to print a newline
01:33:08 <ais523> and it's specifically the print statement that ended it
01:33:32 <int-e> ais523: it prints a 0 character
01:33:48 <ais523> ^bf ++++++++[->++++++++<]>.<++++++++++.>.
01:33:48 <fungot> @.@
01:33:52 <int-e> ^bf +....>.<....
01:33:52 <fungot> <CTCP><CTCP><CTCP><CTCP>
01:34:02 <int-e> lol
01:34:07 <int-e> ^bf ++....>.<....
01:34:07 <fungot>
01:34:09 <ais523> I tested CTCPs earlier
01:34:20 <int-e> ^bf ++++++++++....>.<....
01:34:20 <fungot> ....
01:34:24 <ais523> ^bf ++++++++[->++++++++<]>.<.>.
01:34:24 <fungot> @
01:34:27 <int-e> anyway
01:34:38 <avih> (it's probably possible to use 3+NUMDIGITS memory, if the digits are shifted around while going over them)
01:34:40 <ais523> I didn't think I was printing NUL, maybe I was off by one on the tape location
01:35:19 <int-e> I tried two of your attempts locally and they print ^@ (as less displays it)
01:35:33 <ais523> oh, I get it
01:35:43 <ais523> ^bf ++++++++++>+++++++[->++++++<]>[[>]<[->+>+<<]>>[-<<+>>]<<[.<]<.>>]
01:35:43 <fungot> *.**.***.****.*****.******.*******.********.*********.**********.***********.************.*************.**************.***************.****************.*****************.******************.****************** ...
01:35:44 <int-e> it *is* interesting that that terminates the output :)
01:36:19 <ais523> the first multiplication loop moves to the right, and the previous constant is supposed to be two elements before it, but I had >> in between so it was actually three elements before
01:36:25 <avih> ais523: that's not in decimal though :)
01:36:38 <ais523> indeed, just wanted a simple infinite looping counter
01:36:59 <avih> i _think_ it should end up way shorter than that...
01:37:14 <ais523> most of the length is just creating the newline and asterisk
01:37:23 <avih> yeah
01:37:36 <avih> indeed
01:38:58 <int-e> ^bf >++++++++++>>+[+++++[<+++++++>-]<[.<]>[>]>+]
01:38:58 <fungot> *.**.***.****.*****.******.*******.********.*********.**********.***********.************.*************.**************.***************.****************.*****************.******************.****************** ...
01:39:25 <ais523> I thought that approach would probably be shorter
01:39:34 <ais523> (i.e. creating a new asterisk every time rather than copying the existing one
01:39:36 <ais523> )
01:39:57 <int-e> oh yes, copying is expensive
01:40:13 <ais523> it's expensive in characters but not in mental bandwidth
01:41:16 <avih> in my version the digit value in memory is 1-10 for '0'..'9' respectively, and each printout adds 47 to get the ascii value, and then subtracts 47. this can probably also be shorter. either by making a copy which can be zeroed, or maybe keeping '0' near each cell which can be added during the print pass.
01:42:28 <int-e> avih: I've done the same in my version ( https://logs.esolangs.org/libera-esolangs/2025-11-15.html#li if you missed it)
01:42:38 <avih> the combination of messing about with optimization, and doing it in bf is really bad for one's health :)
01:43:33 <avih> int-e: i did miss it. thanks.
01:44:48 <avih> int-e: well, i did see it, just didn't realize what it is and didn't try it :)
01:45:03 <int-e> yeah no worries
01:45:27 <avih> looks nicely short though. will try to look at it carefully. cheers.
01:46:17 <avih> so the bot prints dot for newline?
01:46:24 <int-e> yeah
01:46:39 <avih> useful :)
01:47:14 <int-e> (I thought that it does that for all control characters... but evidently that's not the case.)
01:48:28 <avih> (never tried the bot)
01:48:34 <avih> ^bf +[]
01:48:35 <fungot> ...out of time!
01:48:40 <avih> right it is
01:56:02 <avih> int-e: i wonder whether a version which stores '0'..'9' as 10..1 respectively, and then subtracts the memory value from ':' would be shorter, as it counts down rather than up, which might simplify the condition to increase the digit value.
01:56:46 <avih> (':' is just after '9' in ascii)
01:57:31 <int-e> avih: if you want to go that route you should probably use -10..-1
01:58:10 <int-e> because then you can still add and subtract a constant in place
01:58:29 <avih> possibly more efficient, but i only just thought about it, and this has to be evaluated in more than hand waving :)
01:59:00 <int-e> I thought about it earlier but wasn't convinced in the end. But it's hard to tell!
01:59:26 <int-e> I'm trying hard not to try a dozen different versions for this :)
01:59:48 <avih> it's definitely more cute though :) but i had to start simple, just to see that i can it out of the door first :)
01:59:57 <avih> lol
02:00:22 <int-e> avih: yeah as I said I have a lot of practice doing this
02:00:31 <int-e> you're not doing badly at all!
02:00:37 <avih> :)
02:03:13 <avih> it's nice to see other people's solutions and approaches i didn't consider.
02:15:42 -!- ajal 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).
02:24:31 -!- pool has quit (Quit: Ping timeout (120 seconds)).
02:24:51 -!- pool has joined.
02:31:22 <avih> int-e: are there interesting bf programs of yours out there? (links?)
02:34:01 <avih> also, when you say "spent time optimizing", was that for speed or size? and if speed, by what criteria?
02:34:58 <avih> (for size is absolute, but for speed not at all, except obvious algorithmic differences)
02:35:58 -!- ais523 has quit (Quit: quit).
02:39:36 -!- casuallyblue has joined.
02:41:51 <avih> i presume size, because you mentioned "not for performance".
02:49:11 <int-e> avih: Yeah I optimized for size. Hmm. I guess some stuff ended up in this collection: http://esoteric.sange.fi/brainfuck/
02:52:07 <avih> which ones?
02:53:06 <avih> i'm guessing mostly here? https://esoteric.sange.fi/brainfuck/bf-source/prog/ or also executioners in other languages?
03:04:33 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168202&oldid=168199 * NTMDev * (+169) /* Max and Min */
03:10:19 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168203&oldid=168202 * NTMDev * (+505) /* Any + AllCondition */
03:11:28 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168204&oldid=168203 * NTMDev * (+102) /* Scenario */
03:19:09 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168205&oldid=168204 * NTMDev * (+326) /* Scenario */
03:34:35 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168206&oldid=168205 * NTMDev * (+135) /* Scenario */
03:35:34 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168207&oldid=168206 * NTMDev * (-1) /* Variable Assignment */
03:43:08 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168208&oldid=168207 * NTMDev * (+1038) /* Simple statistics and Math Operations */
03:51:05 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168209&oldid=168208 * NTMDev * (+436) /* Edit a List */
03:51:29 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168210&oldid=168209 * NTMDev * (+1) /* Special List Functions */
03:52:29 <esolangs> [[Special:Log/newusers]] create * Sawyer.go0923 * New user account
03:54:57 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168211&oldid=168210 * NTMDev * (+237) /* Simple Math operations */
03:55:50 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168212&oldid=168211 * NTMDev * (+119) /* Length, Max, Min */
03:57:27 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168213&oldid=168212 * NTMDev * (+146)
04:02:29 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168214&oldid=168213 * NTMDev * (+328) /* Loops */
04:03:26 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=168215&oldid=168180 * Sawyer.go0923 * (+256)
04:03:35 <esolangs> [[I RAGED ON CSHARP SO HARD I BROKE MY FUCKING PC]] N https://esolangs.org/w/index.php?oldid=168216 * Sawyer.go0923 * (+4066) no.
04:08:14 <esolangs> [[!frjnrehrbwgyrigbyieurgbyfaerkhbvrwgtr.]] N https://esolangs.org/w/index.php?oldid=168217 * Sawyer.go0923 * (+1707) bhugbghjrtwh6yjt6jedeswwsuy5y76
04:09:59 <esolangs> [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=168218&oldid=165839 * PrySigneToFry * (+195)
04:16:14 <esolangs> [[Abcdefghijklmnopqrstuvwxyz.now.i.know.my.abcs.next.time.wont.you.sing.with.me]] N https://esolangs.org/w/index.php?oldid=168219 * Sawyer.go0923 * (+1922) htrrhzszhcshjyudytsrrtjkl;luyrtykl.,jgre
04:18:39 <esolangs> [[Minimialized Programming Language 2]] N https://esolangs.org/w/index.php?oldid=168220 * PrySigneToFry * (+9755) Created page with "Minimialized Programming Language 2 is the Single Character version of [[Minimialized Programming Language]]. = Definition = == Commands == <pre> = let (assignment) ? print ?c print character $ read integer $c read character
04:22:35 -!- Yayimhere has joined.
04:26:21 -!- pool has quit (Read error: Connection reset by peer).
04:28:24 -!- pool has joined.
04:33:35 <esolangs> [[Nullifinitesimal]] N https://esolangs.org/w/index.php?oldid=168221 * Sawyer.go0923 * (+15822) Created page with "{{infobox proglang |name=Nullifinitesimal |author=Sawyer |year=2025 |paradigms=Esoteric, 2D, Stack-based, Self-modifying, Joke |memsys=Stack + sparse Heap + 2D byte grid |class=Obnoxiously Annoying }} '''Nullifinitesimal''' is a deliberately hostile, de
04:36:27 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168222&oldid=168221 * Sawyer.go0923 * (+9443)
04:38:26 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168223&oldid=168222 * Aadenboy * (-172) /* Paste-ready operator table */ formatting
04:38:44 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168224&oldid=168223 * Yayimhere2(school) * (+12) /* Execution model */ assuming bolding, I changed the ** ** to ''' '''
04:39:38 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168225&oldid=168224 * Yayimhere2(school) * (+1) /* Operators 193-255 */ added newline, so the whole line is visible
04:40:31 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168226&oldid=168225 * Aadenboy * (+16) wrap instead
04:40:48 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168227&oldid=168226 * Aadenboy * (+1) /* Operators 1-64 */ fix closing tag
04:41:36 <esolangs> [[Talk:Nullifinitesimal]] N https://esolangs.org/w/index.php?oldid=168228 * Yayimhere2(school) * (+217) Created page with "Hey, I stumbled across this, and I was wondering, what is the etymology the name Nullifinitesimal? --~~~~"
04:42:07 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168229&oldid=168227 * Yayimhere2(school) * (-10) /* Final notes */ It is not a stub. as such, I took of the stub thingy
04:42:26 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168230&oldid=168229 * Sawyer.go0923 * (-19149)
04:43:16 <Yayimhere> hm
04:57:16 -!- chiselfuse has quit (Remote host closed the connection).
04:57:37 -!- chiselfuse has joined.
05:21:48 <esolangs> [[Talk:Stroke]] https://esolangs.org/w/index.php?diff=168231&oldid=167981 * Yayimhere2(school) * (+1049) /* A simpler turing complete version */
05:26:29 -!- pool has quit (Read error: Connection reset by peer).
05:28:25 -!- pool has joined.
05:55:52 <Sgeo_> https://gunkies.org/wiki/List_of_Computers the comment about ENIAC makes me think the author doesn't consider non-stored-program computers to be computers
06:01:08 <esolangs> [[Distressed]] N https://esolangs.org/w/index.php?oldid=168232 * Yayimhere2(school) * (+2712) Created page with "{{Lowercase}} '''distressed''' is a [[Turing complete]] version of [[Stroke]], that does not add any conditionals, wheels, or other tricks, but still has the same amount of commands. As such, distressed is arguably a better alternative to [[Stroke+-]]. It
06:01:52 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168233&oldid=168157 * Yayimhere2(school) * (+17) /* esolangs */
06:02:22 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168234&oldid=168233 * Yayimhere2(school) * (+38) /* esolangs */
06:04:52 <esolangs> [[Nope]] https://esolangs.org/w/index.php?diff=168235&oldid=165031 * Yayimhere2(school) * (+0) /* turing completeness proof */
06:06:13 <esolangs> [[401]] https://esolangs.org/w/index.php?diff=168236&oldid=165044 * Yayimhere2(school) * (-24) /* syntax */
06:22:31 -!- Yayimhere has quit (Ping timeout: 250 seconds).
06:26:35 -!- pool has quit (Read error: Connection reset by peer).
06:26:59 -!- pool has joined.
06:37:52 <esolangs> [[Resubmit]] N https://esolangs.org/w/index.php?oldid=168237 * Yayimhere2(school) * (+1279) Created page with "'''Resubmit''' is a language created by [[User:Yayimhere]] based off of [[Re:direction]], specifically because the creator found the way Re:direction functions quite boring and uninteresting. As such, she created Resubmit. Instead of re-directing based on pr
06:38:07 -!- Yayimhere has joined.
06:43:09 -!- impomatic has joined.
06:59:47 -!- Yayimhere has quit (Ping timeout: 250 seconds).
07:10:36 -!- Yayimhere has joined.
07:46:35 -!- impomatic has quit (Ping timeout: 250 seconds).
07:47:26 -!- b_jonas has quit (Quit: leaving).
07:57:12 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=168238&oldid=168146 * RaiseAfloppaFan3925 * (+156) nav bar
08:00:16 <esolangs> [[Classic?]] N https://esolangs.org/w/index.php?oldid=168239 * Yayimhere2(school) * (+1008) Created page with "'''Classic?''' is a cellular automata based on string rewriting, and has an infinite number of states. Below is its semantics. == Semantics == === Cell contents/States === Each individual cell holds a string. This string can be of any length. Each program m
08:05:24 -!- tromp has joined.
08:19:52 <esolangs> [[Transet]] M https://esolangs.org/w/index.php?diff=168240&oldid=156466 * ThrowAwayLurker * (-11)
08:26:59 -!- pool has quit (Read error: Connection reset by peer).
08:28:48 -!- pool has joined.
08:31:00 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=168241&oldid=167838 * RaiseAfloppaFan3925 * (+149) /* Cat program */ Japanese grammar elevating RSI1 to CJK
08:34:59 -!- impomatic has joined.
08:40:10 <esolangs> [[Set Language]] M https://esolangs.org/w/index.php?diff=168242&oldid=34558 * ThrowAwayLurker * (+504)
08:50:01 -!- impomatic has quit (Quit: Client closed).
08:55:00 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=168243&oldid=168241 * RaiseAfloppaFan3925 * (+2169) /* RaiseAfloppaFan's Stupid Idea 1 */ Core Entities overhaul + acknowledge that teto and mesmerizer are copyrighted + add truth machine + add modules + add new member access syntax
09:05:40 -!- Yayimhere has quit (Quit: Client closed).
09:31:50 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=168244&oldid=168238 * RaiseAfloppaFan3925 * (-382) Clean this up
09:32:18 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=168245&oldid=168244 * RaiseAfloppaFan3925 * (+0) bruh
09:34:57 -!- Sgeo_ has quit (Read error: Connection reset by peer).
09:43:55 <esolangs> [[Writr]] N https://esolangs.org/w/index.php?oldid=168246 * Yayimhere2(school) * (+2292) Created page with "{{lowercase}} '''writr''' is an esolang created by [[User:Yayimhere]], based on their other language [[Bijection]]. writr is basically just a superset of Bijection. Yayimhere herself personally does not think it is much of an esolang, but as it to a normal prog
09:50:16 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=168247&oldid=168243 * RaiseAfloppaFan3925 * (+1037) /* RaiseAfloppaFan's Stupid Idea 1 */ Add some more stuff
09:51:19 <esolangs> [[Writr]] https://esolangs.org/w/index.php?diff=168248&oldid=168246 * Yayimhere2(school) * (+195)
09:58:58 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=168249&oldid=168247 * RaiseAfloppaFan3925 * (+61) /* RaiseAfloppaFan's Stupid Idea 1 */
10:07:39 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=168250&oldid=168245 * RaiseAfloppaFan3925 * (+228) Added Redshift and Redshift-A
10:53:09 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=168251&oldid=168249 * Hammy * (+339) /* Extension Examples */
10:53:34 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:57:51 -!- tromp has joined.
11:02:36 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=168252&oldid=168251 * Hammy * (+512) /* User:Esolangist */
11:03:38 <esolangs> [[RSI1]] N https://esolangs.org/w/index.php?oldid=168253 * Hammy * (+78) Redirected page to [[User:RaiseAfloppaFan3925/Sandbox#RaiseAfloppaFan's Stupid Idea 1]]
11:06:42 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=168254&oldid=168252 * Hammy * (+33) /* User:Esolangist */
11:08:16 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:08:58 -!- tromp has joined.
11:21:47 <esolangs> [[Encoded brain****]] N https://esolangs.org/w/index.php?oldid=168255 * Hammy * (+433) Created page with "Encoded brain**** is by [[User:Hammy]] ==How to code in it.== First you gotta convert some brain**** commands to letters <pre> + a - b < c > d . e , f [ g ] h (eof) i </pre> then caesar cipher it with the length of the code for the key and the ascii ran
11:23:57 <esolangs> [[Impossicode]] https://esolangs.org/w/index.php?diff=168256&oldid=167944 * Hammy * (+127) /* Commands... */
11:24:32 <esolangs> [[Impossicode]] https://esolangs.org/w/index.php?diff=168257&oldid=168256 * Hammy * (+67) /* Examples */
11:38:55 <esolangs> [[Nonbreakingspace]] N https://esolangs.org/w/index.php?oldid=168258 * Hammy * (+531) Created page with "{{Wrongtitle|title=(a nonbreaking space)}} :'''For ease of use, I will use the wrong title. Nonbreakingspace is a bf equivalent by [[User:Hammy]] ==Commands!== In this article, I will use the printable version. {| class="wikitable" |- ! Printable !! Actual (use a
12:06:24 <esolangs> [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=168259&oldid=168218 * PrySigneToFry * (+1346)
12:07:31 -!- slavfox has quit (Ping timeout: 264 seconds).
12:09:24 -!- slavfox has joined.
12:22:34 <esolangs> [[User:RaiseAfloppaFan3925/Testing Facility]] N https://esolangs.org/w/index.php?oldid=168260 * RaiseAfloppaFan3925 * (+326) Created page with " My testing facility, separate from [[User:raiseAfloppaFan3925/Sandbox|]]. == Wikitext stuff == <span class="spoiler"> you better not hover on this text or I'll crush you! </span> <span style="font-family: monospace;">[[Da
12:26:15 <esolangs> [[User:Esolangist/personal talk page]] https://esolangs.org/w/index.php?diff=168261&oldid=167759 * Hammy * (+27)
12:26:47 <esolangs> [[User:RaiseAfloppaFan3925/Testing Facility]] M https://esolangs.org/w/index.php?diff=168262&oldid=168260 * RaiseAfloppaFan3925 * (+121) Add more stuff
12:27:20 -!- pool has quit (Read error: Connection reset by peer).
12:29:13 -!- pool has joined.
12:30:46 <esolangs> [[User:RaiseAfloppaFan3925/Testing Facility]] M https://esolangs.org/w/index.php?diff=168263&oldid=168262 * RaiseAfloppaFan3925 * (+257) I got the <code> style
12:37:12 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:48:13 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=168264&oldid=167938 * 47 * (+128) /* */
12:49:21 <esolangs> [[User:47]] M https://esolangs.org/w/index.php?diff=168265&oldid=158297 * 47 * (+56)
12:50:35 <esolangs> [[User:Python yyds]] https://esolangs.org/w/index.php?diff=168266&oldid=167998 * Python yyds * (+520) /* /sanbox */
12:55:25 <esolangs> [[User:RaiseAfloppaFan3925/Testing Facility]] https://esolangs.org/w/index.php?diff=168267&oldid=168263 * RaiseAfloppaFan3925 * (+747) Retrieved the <pre> styling
12:59:00 <esolangs> [[User talk:Ractangle]] M https://esolangs.org/w/index.php?diff=168268&oldid=166920 * 47 * (+1325)
13:00:29 <esolangs> [[User:Ractangle/Sandbox]] https://esolangs.org/w/index.php?diff=168269&oldid=166104 * 47 * (+13)
13:06:28 <esolangs> [[SletScript]] M https://esolangs.org/w/index.php?diff=168270&oldid=167852 * Cycwin * (+1080) yup
13:07:35 <esolangs> [[Just a bit]] N https://esolangs.org/w/index.php?oldid=168271 * Hammy * (+159) Created page with "Just a bit is by [[User:Hammy]] and it is based on bits ==Commands== ? = invert <>[] = works like [[bf]] () = run code inside '''once''' if current cell is 1"
13:12:15 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=168272&oldid=168250 * RaiseAfloppaFan3925 * (+1484)
13:33:44 <esolangs> [[Ooooh!]] N https://esolangs.org/w/index.php?oldid=168273 * Hammy * (+1449) Created page with "{{DISPLAYTITLE:''ooooh!''}} ''ooooh!'' is a cool turing complete language by [[User:Hammy]] with 3 commands ==Commands== {| class="wikitable" ! command !! what it does |- | ooooo... || flips the bit at the cell indexed by how many o's there are |- | h(code)hhhh...... || wh
13:36:11 <esolangs> [[Two step]] N https://esolangs.org/w/index.php?oldid=168274 * Yayimhere2(school) * (+983) Created page with "'''Two step''' is an esolang created by [[User:Yayimhere]] based on the commands <code>'a "a</code> defined on the [[Emmental]] talk page. == Etymology == Two step gets its name from the song genre that was being heard while creating it. == Memory == Two ste
13:37:07 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=168275&oldid=168254 * RaiseAfloppaFan3925 * (+138) /* RaiseAfloppaFan's Stupid Idea 1 */ Potential name
13:39:13 <esolangs> [[Two step]] https://esolangs.org/w/index.php?diff=168276&oldid=168274 * Yayimhere2(school) * (+6) /* Commands */
13:39:48 <esolangs> [[Two step]] https://esolangs.org/w/index.php?diff=168277&oldid=168276 * Yayimhere2(school) * (+2) /* Commands */
13:40:50 -!- ais523 has joined.
13:41:25 <esolangs> [[Two step]] https://esolangs.org/w/index.php?diff=168278&oldid=168277 * Yayimhere2(school) * (+138) /* Commands */
13:43:16 -!- Yayimhere has joined.
13:44:04 <Yayimhere> hey, ais523, yesterday(I think) you said you had read Apraxia. As such, I was just wondering what you thought of it!
13:44:18 <int-e> Hehehe, this detail bugs me way more than it should, can you spot what's bothering me? https://int-e.eu/~bf3/tmp/shapez2-tilting.png
13:44:38 <ais523> Yayimhere: it wasn't clear to me whether it was possible to define arbitrary commands given the way in which commands were parsed
13:44:49 <Yayimhere> ais523: yea that makes sense
13:44:55 <ais523> and it also wasn't clear what happens to the new unused symbol Y after the definition of X was parsed
13:45:13 <Yayimhere> well the same thing applied
13:45:16 <Yayimhere> *applies
13:45:21 <Yayimhere> its also defined/parsed
13:46:00 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168279&oldid=168167 * Yayimhere2(school) * (+88) /* Syntax */
13:46:09 <Yayimhere> fixed it
13:46:18 <ais523> doesn't that make it impossible for any program to run, because the only way to end a definition is with the start of another definition and so you can't do anything else?
13:46:38 <Yayimhere> ais523: no, because you have the "fixed point" style combinator
13:46:47 <Yayimhere> and recursion
13:46:59 <ais523> right but those wouldn't actually be called, they would just be stuck inside a definition
13:47:17 <Yayimhere> ais523: what?
13:47:19 <Yayimhere> they would be called
13:47:24 <Yayimhere> because variable expansion
13:47:24 <ais523> like, what you have here is a language where the same symbol that ends a definition also starts a new definition, so there is no way to do anything other than definitinos
13:47:39 <Yayimhere> there is though...?
13:48:01 <ais523> let's take your example program XCC
13:48:04 <Yayimhere> yes
13:48:14 <ais523> the way I read it is, it starts with a definitino of X
13:48:19 <Yayimhere> yes
13:48:20 <ais523> and then has a definition of C, which runs to the end of the program
13:48:33 <Yayimhere> no
13:48:35 <ais523> so nothing gets called
13:48:42 <Yayimhere> because C is redefined
13:48:47 <Yayimhere> C i *always* defind
13:48:54 <Yayimhere> because the program has a pre definition for it
13:48:55 <ais523> well if C is defined, then C doesn't end a definition of X
13:49:07 <ais523> so the whole program is just a definition of X
13:49:24 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168280&oldid=168279 * Yayimhere2(school) * (+48) /* Semantics */
13:49:38 <Yayimhere> ais523: C does end it
13:49:49 <Yayimhere> because the last symbol always ends the program
13:49:54 <Yayimhere> shortly
13:50:04 <Yayimhere> X=C and then C=C(XYZ...) -> X(C(YZ...))
13:50:15 <ais523> well, in that case, the program is a definition of X as C, the last C ends the program, and then nothing actually runs?
13:50:29 <Yayimhere> it does
13:50:39 <Yayimhere> because the whole program always gets called
13:50:42 <Yayimhere> within a C
13:50:48 <ais523> I guess the way to interpret this spec to make it work is that the last thing to be defined runs with the fixpoint as its argument
13:50:50 <Yayimhere> thats what the C(V1V2V3... Vn) is
13:50:55 <ais523> right
13:51:29 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168281&oldid=168280 * Yayimhere2(school) * (+88) /* Semantics */
13:51:38 <Yayimhere> does that make more sense?
13:52:16 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168282&oldid=168281 * Yayimhere2(school) * (+20) /* Semantics */
13:53:03 <ais523> hmm, I think maybe the trick to this sort of thing is to write an interpreter
13:53:15 <ais523> because that helps you to define the language more precisely
13:53:23 <Yayimhere> ais523: yea
13:53:28 <Yayimhere> ill figure it out evveentually
13:53:52 <Yayimhere> i am also considering that the call should only be the last variable defined
13:54:03 <Yayimhere> because then we can initialize more specific data
13:54:11 <Yayimhere> I think that makes more sense
13:54:36 -!- tromp has joined.
13:55:04 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168283&oldid=168282 * Yayimhere2(school) * (-91) /* Semantics */
13:55:41 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168284&oldid=168283 * Yayimhere2(school) * (-105) /* Semantics */
13:57:37 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=168285&oldid=168275 * RaiseAfloppaFan3925 * (+0) /* Cat program */ ,not
13:59:58 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168286&oldid=168234 * Yayimhere2(school) * (+15) /* esolangs */
14:00:41 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168287&oldid=168286 * Yayimhere2(school) * (+12) /* esolangs */
14:00:57 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=168288&oldid=168285 * RaiseAfloppaFan3925 * (+335) /* Hello world program */ Fix slight mistake
14:09:55 <esolangs> [[Special:Log/move]] move * Yayimhere2(school) * moved [[Two step]] to [[Homunculus fallacy]]
14:10:09 <esolangs> [[Two step]] https://esolangs.org/w/index.php?diff=168291&oldid=168290 * Yayimhere2(school) * (-32) Blanked the page
14:11:26 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=168292&oldid=168289 * Yayimhere2(school) * (+76)
14:15:22 <esolangs> [[Boink]] N https://esolangs.org/w/index.php?oldid=168293 * Hammy * (+1104) Created page with "Boink is a language with 1 command by [[User:Hammy]]. ==Memory== Memory is stored on a tape of addresses which can be 0 or 1. ==The command== x:y is explained in this pseudocode. <pre> if address x is 0: jump to line y move the pointer left if the current cell isn't the f
14:16:04 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168294&oldid=168214 * NTMDev * (+79) /* Loops */
14:16:30 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168295&oldid=168294 * NTMDev * (-22) /* Simple Math operations */
14:17:00 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168296&oldid=168295 * NTMDev * (-99) /* Simple Math operations */
14:19:42 <int-e> avih: there's some interpreter-adjacent stuff but I have not given deep thought to BF optimization. Also this stuff is embarrassingly ancient. http://esoteric.sange.fi/brainfuck/impl/compilers/bf2c.hs is mine, for example.
14:21:08 <esolangs> [[Kava]] https://esolangs.org/w/index.php?diff=168297&oldid=149830 * Hammy * (+1) fixed spelling error
14:22:46 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168298&oldid=168296 * NTMDev * (+289) /* Code Structure */
14:25:21 <esolangs> [[Talk:'Python' is not recognized]] N https://esolangs.org/w/index.php?oldid=168299 * Hammy * (+223) Created page with "==Turing complete?== I'm sure this is turing complete. Here's proof. <pre> Underload This (abc) :a:b:c : = ^ _ </pre> ~~~~"
14:31:34 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168300&oldid=168298 * NTMDev * (+668) /* Loop structure Function */
14:35:57 <esolangs> [[BurgerFlipper]] https://esolangs.org/w/index.php?diff=168301&oldid=94100 * Hammy * (+367) /* Examples */
14:38:14 <esolangs> [[Talk:'Python' is not recognized]] M https://esolangs.org/w/index.php?diff=168302&oldid=168299 * 47 * (+111) /* Turing complete? */
14:43:40 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=168303&oldid=168288 * Hammy * (+167) /* Hello world program */
14:44:30 -!- impomatic has joined.
14:48:16 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168304&oldid=168300 * NTMDev * (+830) /* Loop structure Function */
14:49:38 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168305&oldid=168304 * NTMDev * (+245) /* Code Structure */
14:49:57 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168306&oldid=168305 * NTMDev * (+13)
14:51:23 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168307&oldid=168306 * NTMDev * (+4) /* Any + AllCondition */
15:01:15 -!- Yayimhere has quit (Quit: Client closed).
15:21:52 <esolangs> [[LIGHTED]] N https://esolangs.org/w/index.php?oldid=168308 * Hammy * (+1882) Created page with "LIGHTED is a language based on light by [[User:Hammy]] ==Memory== There is an infinity by infinity box. A cursor is in the middle. Each cell in the box can store from 00 to ff in hexadecimal. ==Commands== <code>^v<></code> Moves the cursor in those directions respectively
15:35:46 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168309&oldid=168230 * Sawyer.go0923 * (+14881)
15:36:10 <esolangs> [[Template:Space]] N https://esolangs.org/w/index.php?oldid=168310 * Sawyer.go0923 * (+0) Created blank page
15:43:06 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168311&oldid=168309 * Sawyer.go0923 * (-20845) Blanked the page
15:45:58 -!- amby has joined.
15:46:02 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:48:33 <esolangs> [[User talk:Sawyer.go0923]] N https://esolangs.org/w/index.php?oldid=168312 * Corbin * (+164) Created page with "Hi! Please remember to tag AI-generated content with [[:Category:Generated by AI]]. ~~~~"
16:07:35 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168313&oldid=168307 * NTMDev * (+744) /* Break and Continue */
16:09:32 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168314&oldid=168311 * Sawyer.go0923 * (+29932)
16:20:35 -!- tromp has joined.
16:27:21 -!- pool has quit (Read error: Connection reset by peer).
16:29:29 -!- pool has joined.
16:29:43 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
16:30:13 -!- Lord_of_Life has joined.
16:40:23 <esolangs> [[GTA6]] N https://esolangs.org/w/index.php?oldid=168315 * Sawyer.go0923 * (+13213) Created page with "{{infobox proglang |name = GTA6 |paradigms = Esoteric, imperative, self-modifying |year = 2025 |author = Grok |majorimpl = Reference interpreter (Python) |influenced = [[Brainfuck]], [[Deadfish]], [[Rockstar]] }} '''GTA6''' is an [[esoteric
16:41:08 <esolangs> [[GTA6]] https://esolangs.org/w/index.php?diff=168316&oldid=168315 * Sawyer.go0923 * (+8831)
16:48:48 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168317&oldid=168314 * Sawyer.go0923 * (-23881)
16:56:50 <int-e> ugh
16:57:31 <int-e> (I made the mistake of looking at that GTA6 page)
16:58:58 -!- impomatic has quit (Quit: Client closed).
17:28:04 -!- impomatic has joined.
17:39:20 <esolangs> [[Iterate/Floating-point]] N https://esolangs.org/w/index.php?oldid=168318 * Aadenboy * (+2039) just conversion from int to float for now
17:40:13 <esolangs> [[Iterate]] https://esolangs.org/w/index.php?diff=168319&oldid=165906 * Aadenboy * (+29) /* Further reading */ list [[Iterate/Floating-point]]
17:56:14 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] M https://esolangs.org/w/index.php?diff=168320&oldid=168303 * RaiseAfloppaFan3925 * (+365) /* Potential names */
18:03:53 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:04:02 <esolangs> [[User:47]] M https://esolangs.org/w/index.php?diff=168321&oldid=168265 * Ractangle * (+29)
18:05:44 <esolangs> [[Template talk:Space]] N https://esolangs.org/w/index.php?oldid=168322 * Ractangle * (+69) Created page with "what, i think this needs to be removed because what the hell is this?"
18:06:05 <esolangs> [[Template talk:Space]] M https://esolangs.org/w/index.php?diff=168323&oldid=168322 * Ractangle * (+151)
18:06:50 <esolangs> [[Special:Log/newusers]] create * Hammy2 * New user account
18:08:19 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168324&oldid=168215 * Hammy2 * (+146)
18:09:16 <esolangs> [[User:Hammy2]] N https://esolangs.org/w/index.php?oldid=168325 * Hammy2 * (+143) Created page with "hello there This is my backup account just in case something bad happens or I am on a different device my main account is [[User:Hammy]] bye"
18:14:48 <esolangs> [[Ooooh!]] https://esolangs.org/w/index.php?diff=168326&oldid=168273 * Hammy2 * (-2) Accidental double ellipsis, oops
18:27:15 -!- tromp has joined.
18:27:27 -!- pool has quit (Read error: Connection reset by peer).
18:29:36 -!- pool has joined.
18:37:00 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=168327&oldid=168320 * Hammy2 * (+136) /* Member/Method Access */
18:41:16 <esolangs> [[User:RaiseAfloppaFan3925/Sandbox]] https://esolangs.org/w/index.php?diff=168328&oldid=168327 * RaiseAfloppaFan3925 * (+71) /* RaiseAfloppaFan's Stupid Idea 1 */ Move to Atamagaokashii
18:42:12 <esolangs> [[Atamagaokashii]] N https://esolangs.org/w/index.php?oldid=168329 * RaiseAfloppaFan3925 * (+12920) Move RSI1 to Atamagaokashii
18:42:58 <esolangs> [[RSI1]] https://esolangs.org/w/index.php?diff=168330&oldid=168253 * RaiseAfloppaFan3925 * (-50) RSI1 is now Atamagaokashii
18:45:33 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=168331&oldid=168292 * Yayimhere2(school) * (+79) /* Commands */
18:49:06 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168332&oldid=168329 * RaiseAfloppaFan3925 * (+499) Update information
18:49:40 <esolangs> [[Atamagaokashii]] M https://esolangs.org/w/index.php?diff=168333&oldid=168332 * RaiseAfloppaFan3925 * (+0) Fix user edited category
18:52:28 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=168334&oldid=168331 * Yayimhere2(school) * (+234) /* Commands */
18:55:32 <esolangs> [[Password game]] N https://esolangs.org/w/index.php?oldid=168335 * Hammy2 * (+690) Created page with "Password game is a program form by [[User:Hammy]] inspired by the [https://neal.fun/password-game password game] ==How to implement== Take input from user and check these: * if it contains capital letters * if it contains a number * if it contains #, @ or ? * if it
19:05:42 -!- Everything has joined.
19:14:20 <esolangs> [[Compute]] https://esolangs.org/w/index.php?diff=168336&oldid=164003 * Hammy2 * (+165) /* Unofficial brainfuck intepreter */
19:15:35 -!- impomatic has quit (Ping timeout: 250 seconds).
19:21:08 -!- hammy has joined.
19:21:24 -!- hammy has quit (Client Quit).
19:26:11 -!- Sgeo has joined.
19:29:00 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168337&oldid=168317 * Sawyer.go0923 * (+14845)
19:35:44 <APic> Good Night *
19:37:09 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168338&oldid=168337 * Sawyer.go0923 * (+5067)
19:38:10 <esolangs> [[Nullifinitesimal]] https://esolangs.org/w/index.php?diff=168339&oldid=168338 * Sawyer.go0923 * (-25963) Blanked the page
19:44:04 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168340&oldid=168333 * RaiseAfloppaFan3925 * (+6153) Replace all instances of "RSI0" with "Atamagaokashii" + add time travel example + Turing-completeness confirmation by BF simulation
19:56:58 <esolangs> [[Abyssal-9]] N https://esolangs.org/w/index.php?oldid=168341 * Sawyer.go0923 * (+16723) Created page with "== Abyssal-9 == '''Abyssal-9''' is a deterministic, intentionally unreadable esoteric programming language designed to be astronomically difficult to analyze, reason about, or craft programs for by hand. This page is the canonical MediaWiki source: it defines c
20:04:36 <avih> int-e: thanks. btw, in the time i spent on it, i was not able to decipher your counter code... :) i think it's above my pay grade...
20:05:54 <avih> (i get the end of printing \n and clear and goto 1st digit, but that's trivial. the rest i just don't get
20:06:07 <int-e> avih: take an interpreter, add an instruction that prints out a chunk of the tape around the head, then watch the program in action
20:06:49 <avih> yeah, it's possible. might be a good use case for my debugger
20:06:50 <int-e> the increment code is specialized
20:07:06 <avih> i figured as much
20:07:13 <int-e> and was fiddly to get working
20:08:01 <avih> yeah, to minimize the size it becomes very "entangled" for a lack of a better word.
20:08:13 <int-e> (I had a simpler version that produced 1, 02, 003, 0004, etc, adding an extra leading 0 in each step... and it took me quite a while to fix that properly :P)
20:08:24 <avih> heh
20:10:08 <avih> is there a name for this kind of approach to coding? the kind of thing you did with the "if (==0) BODY" thing and this counter code? it feels to me like it's hard to prove invariants with it. "entangled" is the best word i can come up with, but it's not really that. it's kind of inter-dependent and tailored to the use case to minimize the code... hard to generalize it.
20:11:31 <int-e> No real name, though there are some attributes that come to mind like unstructured and low-level...
20:12:09 <avih> yeah. it should have a name. i'm sure you're not the 1st not the last who uses this approach to minimize size.
20:12:13 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168342&oldid=168340 * RaiseAfloppaFan3925 * (+2822) Syntax extension addition
20:12:20 <avih> nor*
20:13:28 <avih> it's like it's shrinks to the point where it's impossible to move anything. any instruction can have several implications and all of them are tied together and depend on all those interactions being just right
20:13:33 <int-e> but people often do things without naming them
20:14:02 <int-e> Naming is for formal publication or teaching :P
20:14:02 <sorear> "organic"
20:14:06 <avih> (in this case, except the trailer of printing the newline, which is stand alone)
20:14:30 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=168343&oldid=168272 * RaiseAfloppaFan3925 * (-73) Fixed RSI1 to be Atamagaokashii
20:15:06 <avih> int-e: not only publications, also conversations, like this one
20:15:11 <int-e> avih: the number printing part should be easy enough still, given that the tape layout is digits (encoded as 1 to 10) spaced 2 cells apart
20:15:40 <int-e> avih: the incrementing code is where I really think it would help to see it in action
20:15:52 <avih> yeah
20:16:30 <avih> you have there one unbalanced loop which goes 4 cells left, when the cells are on x3 basis...
20:16:58 <int-e> avih: no they're only 2 apart, not 3.
20:17:11 <avih> (or x2? is "two cells apart" with two cells between each two digits?)
20:18:00 <avih> and yeah, i also figured i could do the same (1 tmp between each two cells), so working on a cell could use two temps on its sides)
20:20:23 <avih> we gotta find a name for this kind of coding :)
20:20:58 <int-e> "messy" ;-)
20:21:50 <avih> it's like spaghetti code, but strictly derived from a goal rather than due to laziness or inability
20:23:15 <avih> it's not messy. it serves a purpose. you can't come up with it by being sloppy
20:23:39 <avih> it _looks_ messy, but it's not.
20:24:46 <int-e> oh but it is messy. [----------[+++++++++++[>>]>+<]+>>] makes a mess and <[-<-<<--<]>++ cleans it up :P
20:25:03 <avih> but then if one wants to make some cmall change in behavior, it would likely result in way more code changes than in more "structured" code
20:25:19 <avih> small* (wtf?!)
20:26:09 <avih> i think "size optimized entanglement" :)
20:28:52 <avih> yeah, these parts which you posted are the main marrier for me
20:28:57 <avih> barrier
20:29:27 <avih> (i did order a new kb, but i don't think it's that. i think i got bf'ed)
20:38:08 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168344&oldid=168342 * RaiseAfloppaFan3925 * (+2320) Fixed the syntax extension section + added some sections that should've been there
20:42:39 <esolangs> [[Atamagaokashii]] M https://esolangs.org/w/index.php?diff=168345&oldid=168344 * RaiseAfloppaFan3925 * (+326) An extra rule
21:03:39 -!- somefan has joined.
21:08:57 <esolangs> [[Contains everything]] N https://esolangs.org/w/index.php?oldid=168346 * C++DSUCKER * (+947) Created page with "This is a set theory based language, Initially designed by ~~~ but with the logical operator removed with help of uni on discord (though these changes did not make it into the final language). the original used nand but i eventually went with implies as fa
21:10:57 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=168347&oldid=168178 * C++DSUCKER * (+26)
21:11:01 -!- [iovoid] has joined.
21:11:36 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168348&oldid=168347 * C++DSUCKER * (+0)
21:12:40 -!- iovoid has quit (Ping timeout: 256 seconds).
21:12:48 -!- [iovoid] has changed nick to iovoid.
21:19:03 <esolangs> [[Special:Log/upload]] upload * Buckets * uploaded "[[File:Bass1.png]]": This bass is From getting Images And Credit To 'tumart'.
21:20:55 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[File:Bass1.png]]": Copyright violation: this image is not public domain (i.e. it is copyrighted by its creator, as most images are by default), and thus we can't host it here even though you gave credit to the author
21:21:17 <esolangs> [[Special:Log/upload]] upload * Buckets * uploaded "[[File:Bass2.png]]": This bass is From getting Images And Credit To 'RapidEye'.
21:21:46 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[File:Bass2.png]]": Copyright violation: this image is not public domain (i.e. it is copyrighted by its creator, as most images are by default), and thus we can't host it here even though you gave credit to the author
21:24:25 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168351&oldid=168341 * Sawyer.go0923 * (-2909)
21:24:38 <esolangs> [[User talk:Buckets]] https://esolangs.org/w/index.php?diff=168352&oldid=153348 * Ais523 * (+949) /* Uploading non-public-domain images */ new section
21:25:09 <esolangs> [[Left Curly Brace Symbol]] https://esolangs.org/w/index.php?diff=168353&oldid=101180 * Hammy2 * (+61) /* Hello, World */
21:25:40 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168354&oldid=168346 * C++DSUCKER * (+151)
21:25:46 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168355&oldid=168351 * Sawyer.go0923 * (+2909)
21:27:56 -!- pool has quit (Read error: Connection reset by peer).
21:28:14 -!- pool has joined.
21:28:21 <avih> int-e: so i did try the reverse values (print 58 - cell val), and it works, and a bit smaller. you said yesterday that storing negatives might make things simpler, but i don't have any insight where it helps. can you explain please?
21:30:07 <int-e> avih: when you compute 58 - cell, you destroy the cell value so you have to copy it back, right? I felt, and this may be wrong, that this extra copy would be more expensive than adding and subtracting 58 in place
21:30:52 <esolangs> [[5D 5D Brainfuck With Multiverse Time Travel With Multiverse Time Travel]] https://esolangs.org/w/index.php?diff=168356&oldid=139583 * Sawyer.go0923 * (+138) /* Examples */
21:30:55 <avih> i do destroy and restore it, yes. but not sure what it means to add/subtract inplace
21:32:25 <esolangs> [[Talk:Abyssal-9]] N https://esolangs.org/w/index.php?oldid=168357 * Corbin * (+149) Second request: tag chatbot output.
21:33:00 <int-e> you can increment a cell by 58 doing something like <++++++[>++++++++++<-]>-- and then do basically the same thing to subtract 58 again, so the digit value that you have to preserve never moves.
21:33:00 <avih> or rather, i think i understand, but i'm not sure it would end up smaller. originally i did add and subtract 47 in place, but then i ended up making a copy first, which was smaller, so i don't know whether inplace here would help
21:33:17 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168358&oldid=168355 * Corbin * (+30) Clearly generated by a tool trained to emit Markdown.
21:34:14 <int-e> and there's some room for refinement. I ended up with >++++++++[<<++>++++++>-]<-.+<[>---<-]< for adding and subtracting 47
21:34:19 <avih> right, similar to this (which adds/subs 47): < +++++ +++ [>+++++ +<-]>- . < +++++ +++ [>----- -<-]>+
21:34:41 <int-e> (and moving two places to the left)
21:35:03 <avih> but this (also add/sub 47) ended up smaller: [<+<+>>-]<[>+<-] . ++++++++[<++++++>-]<-.[-]<
21:35:50 <esolangs> [[User talk:Buckets]] M https://esolangs.org/w/index.php?diff=168359&oldid=168352 * Buckets * (+210)
21:35:57 <avih> yeah, i don't think i followed this math at your code either. off the top of my head i didn't get where -3 comes from
21:36:11 <avih> (and +2)
21:36:17 <int-e> 2*3 = 6
21:36:58 <avih> but did it end up smaller than writing 6 + or - ?
21:37:08 <int-e> yes: >++++++++[<<+>++++++>-]<-.+<[>------<-]<
21:37:52 <avih> ok, i'll need to look at it more carefully. i get a hunch of what it might do, but not the specifics.
21:37:57 <avih> thanks
21:37:59 <int-e> which in term is shorter than >++++++++[<++++++>-]<-.+<++++++++[>------<-]<
21:38:59 <int-e> in *turn
21:39:15 <avih> :) you also need a new kb/brain
21:39:25 <int-e> the kb is fine
21:39:32 <avih> :)
21:39:52 <int-e> so basically all these 3 versions do the same thing: https://paste.debian.net/1408790/
21:40:51 <avih> right, so i get the 1st, but not yet the others. i'll look at that a bit. shouldn't be rocket science, unlike your digit scanning code ;)
21:41:03 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168360&oldid=168177 * Buckets * (+9)
21:41:23 <avih> actually, i do hope rockets code is nothing like your digits scanning code
21:41:36 <int-e> avih: the second copies over the first 8 over to where the second 8 would be initialized
21:41:47 <int-e> second = second version
21:42:00 <avih> i'll look at it. i should be able to get it
21:42:25 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168361&oldid=168348 * Buckets * (+10)
21:42:49 <esolangs> [[Ket]] N https://esolangs.org/w/index.php?oldid=168362 * Buckets * (+1063) Created page with "Ket is an Esoteric Programming Language created By [[User:Buckets]] in 2021, And The Second Of the Trio for A Very Terrible Idea. {| class="wikitable" |- ! Commands !! Instructions |- | ^><small><nowiki>|</nowiki></small> || If It Is Pointing at a Bass, then it will push Th
21:43:19 <avih> int-e: while i do want to get it, and i will, my gut feeling is that i don't want to have such code for the sake of size.
21:43:46 <avih> (the add/sub might be ok, but in general)
21:44:16 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168363&oldid=168360 * Buckets * (+0)
21:44:16 <int-e> That's fair. This kind of thing is fun for toy code. If your goal is to write "real" programs it's not so great, except maybe for primitives.
21:45:02 <int-e> but you can see that this affects the assessment of whether to copy values or not
21:45:19 <avih> yeah, low level isolated "leafs" of code which might need to squeeze every possible byte might make use if that. but i'd hesitate even with that TBH...
21:45:51 <avih> right about the assembly
21:50:29 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168364&oldid=168354 * C++DSUCKER * (+64)
21:51:31 <avih> (don't get me wrong, i do get it, and i've done that myself too, but it's the kind of pain/fun combo which i can do without ;) )
21:53:00 <avih> (might have been a different matter if it was for some prize or other tangible benefits, but purely as masochistic fun, not sure)
21:53:52 <avih> well, for me it's pain/fun. for others it could be purely fun.
21:54:58 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168365&oldid=168358 * Sawyer.go0923 * (+39)
22:01:00 <avih> int-e: yeah, i get it. at the last version, while you add 48 to the original val, you also set one of the temps as 16, then mult it by 3 to get 48 (and handle the -1 as needed). yes?
22:01:43 <avih> so i see how it helps inplace too. thanks.
22:03:20 <avih> basically it reduces the final 48 by making parts of it during the 1st 48
22:03:52 <avih> rather than new 48 from scratch for the sub
22:06:37 -!- Everything has quit (Quit: leaving).
22:07:20 <avih> hmm.. so what if during the add, 48 is also created at the other tmp, then it's ready for the subtract?
22:08:52 <int-e> avih: that would be a tad longer: https://paste.debian.net/1408794/ (last line)
22:09:22 <avih> yeah >++++++++[<<++++++>++++++>-]<-.+<[->-<]>
22:09:32 <avih> (i just wrote it too)
22:10:18 <avih> cute :) thx
22:27:53 -!- pool has quit (Read error: Connection reset by peer).
22:29:48 -!- pool has joined.
22:41:27 <esolangs> [[Talk:Contains everything]] N https://esolangs.org/w/index.php?oldid=168366 * Corbin * (+1066) I strongly doubt that this is uncomputable.
22:45:32 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168367&oldid=168365 * Sawyer.go0923 * (+60)
22:46:54 -!- impomatic has joined.
22:47:04 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168368&oldid=168367 * Corbin * (+6) Fix categories. Joke languages aren't categorized with non-joke languages. Chatbot-generated content should be tagged.
22:48:04 <esolangs> [[Category:HardestEsolangs]] N https://esolangs.org/w/index.php?oldid=168369 * Sawyer.go0923 * (+55) Created page with "These are the list of languages that CANNOT be solvable"
22:48:31 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168370&oldid=168368 * Sawyer.go0923 * (+29)
22:49:13 <esolangs> [[Category talk:HardestEsolangs]] N https://esolangs.org/w/index.php?oldid=168371 * Corbin * (+237) Created page with "Categories created without prior discussion are likely to be deleted without warning. Please read [[esolang:policy]] and [[esolang:categorization]]. Thanks! ~~~~"
22:52:54 <int-e> ...of course the BF code added in https://esolangs.org/w/index.php?title=5D_5D_Brainfuck_With_Multiverse_Time_Travel_With_Multiverse_Time_Travel&diff=prev&oldid=168356 prints f--- y-- (spelled out)
22:56:40 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168372&oldid=168370 * Cyclic Tag * (+94)
22:56:53 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168373&oldid=168372 * Cyclic Tag * (+4)
22:58:20 <esolangs> [[User:Cyclic Tag/LLM page index]] N https://esolangs.org/w/index.php?oldid=168374 * Cyclic Tag * (+72) Created page with "This is a list of pages tagged with '''an LLM notice'''. * [[Abyssal-9]]"
22:59:05 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:59:52 <esolangs> [[User:Cyclic Tag/LLM page index]] https://esolangs.org/w/index.php?diff=168375&oldid=168374 * Cyclic Tag * (+60)
23:00:06 <korvo> Oh cool, Cyclic Tag doesn't like this spam either.
23:06:43 -!- somefan has quit (Remote host closed the connection).
23:08:26 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Category:HardestEsolangs]]": unapproved category (also this would be the wrong name for it even if it were approved, and it is likely to be too subjective to be approved)
23:08:38 <esolangs> [[Esolang:Candidates for deletion]] https://esolangs.org/w/index.php?diff=168376&oldid=160143 * Cyclic Tag * (+10) /* Candidates for deletion */
23:10:07 <ais523> one of the other admins randomly turned up to delete an unapproved category a few days ago, I was heartened to know it isn't just me
23:10:22 <esolangs> [[Esolang:Candidates for deletion]] https://esolangs.org/w/index.php?diff=168377&oldid=168376 * Cyclic Tag * (+21)
23:11:02 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168378&oldid=168373 * Cyclic Tag * (-29) Unapproved cat
23:18:45 <esolangs> [[5D 5D Brainfuck With Multiverse Time Travel With Multiverse Time Travel]] https://esolangs.org/w/index.php?diff=168379&oldid=168356 * Int-e * (-138) Undo revision [[Special:Diff/168356|168356]] by [[Special:Contributions/Sawyer.go0923|Sawyer.go0923]] ([[User talk:Sawyer.go0923|talk]]) The added example prints an expletive and uses none of the 5D... language featur
23:21:35 <int-e> Keymaker?! Wow.
23:27:59 -!- pool has quit (Read error: Connection reset by peer).
23:29:58 -!- pool has joined.
23:40:31 -!- zzo38 has quit (Ping timeout: 240 seconds).
2025-11-16
00:28:08 -!- pool has quit (Read error: Connection reset by peer).
00:29:28 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168380&oldid=168378 * Sawyer.go0923 * (-29)
00:30:11 -!- pool has joined.
00:30:51 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168381&oldid=168380 * Sawyer.go0923 * (-98)
00:36:35 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=168382&oldid=168270 * PrySigneToFry * (+121)
00:41:03 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168383&oldid=168381 * Aadenboy * (+29) re-add category
00:46:44 <esolangs> [[Talk:Abyssal-9]] https://esolangs.org/w/index.php?diff=168384&oldid=168357 * Ais523 * (+683) asking for opinions on whether pages like this are appropriate for the wiki
00:50:16 -!- pool has quit (Remote host closed the connection).
01:19:47 -!- pool has joined.
01:34:40 -!- tromp has joined.
01:35:16 -!- tromp has quit (Client Quit).
01:35:19 <esolangs> [[Fingerfuck]] https://esolangs.org/w/index.php?diff=168385&oldid=165021 * EvilRodentOfEVil * (-2) /* Commands */
01:37:56 -!- somefan has joined.
01:38:05 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168386&oldid=168383 * Sawyer.go0923 * (-112)
01:39:49 <esolangs> [[Fingerfuck]] https://esolangs.org/w/index.php?diff=168387&oldid=168385 * EvilRodentOfEVil * (-303) /* Commands */
01:43:19 -!- somefan has quit (Remote host closed the connection).
01:44:19 <esolangs> [[Fingerfuck]] https://esolangs.org/w/index.php?diff=168388&oldid=168387 * EvilRodentOfEVil * (-43) /* Commands */
01:58:58 <esolangs> [[Tskastic/Command Table]] https://esolangs.org/w/index.php?diff=168389&oldid=166658 * PrySigneToFry * (+274)
01:59:36 -!- 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).
02:10:31 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168390&oldid=168386 * Sawyer.go0923 * (+6893)
02:15:53 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168391&oldid=168390 * Sawyer.go0923 * (+2338)
02:19:10 <esolangs> [[Category:Turing Complete]] N https://esolangs.org/w/index.php?oldid=168392 * Sawyer.go0923 * (+59) Created page with "Yes, you can create anything in these languages, like GTA6."
02:21:11 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168393&oldid=168313 * NTMDev * (-4) /* Edit a List */
02:21:49 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168394&oldid=168393 * NTMDev * (+2) /* Edit a List */
02:24:21 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168395&oldid=168391 * Sawyer.go0923 * (+18)
02:25:43 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Category:Turing Complete]]": unapproved category, redundant to [[Category:Turing complete]]
02:36:17 -!- somefan has joined.
02:38:32 <esolangs> [[User:NTMDev]] https://esolangs.org/w/index.php?diff=168396&oldid=167963 * NTMDev * (+8)
02:59:41 <esolangs> [[Fingerfuck]] https://esolangs.org/w/index.php?diff=168397&oldid=168388 * EvilRodentOfEVil * (+709) /* Examples */
03:00:18 -!- somefan has quit (Remote host closed the connection).
03:00:31 <esolangs> [[Fingerfuck]] https://esolangs.org/w/index.php?diff=168398&oldid=168397 * EvilRodentOfEVil * (-4) /* 3 Character Password */
03:05:04 -!- op_4 has quit (Remote host closed the connection).
03:05:40 -!- op_4 has joined.
03:12:54 <esolangs> [[Brafuck]] https://esolangs.org/w/index.php?diff=168399&oldid=165567 * PrySigneToFry * (+264)
03:16:35 -!- impomatic has quit (Ping timeout: 250 seconds).
03:54:20 <esolangs> [[Special:Log/newusers]] create * Mysonandadthatnosense * New user account
04:01:24 -!- Guest41 has joined.
04:01:59 <Guest41> Omg let's goooo, I'm accessing this from a Scratch project (technically Turbowarp)
04:02:26 -!- Guest86 has joined.
04:03:20 -!- Guest86 has quit (Client Quit).
04:06:50 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168400&oldid=168394 * NTMDev * (+460) /* Enumeration */
04:08:24 -!- Guest41 has quit (Quit: Client closed).
04:19:35 -!- pool has quit (Read error: Connection reset by peer).
04:21:40 -!- pool has joined.
04:22:18 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168401&oldid=168324 * Mysonandadthatnosense * (+218) /* Introductions */
04:29:23 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168402&oldid=168284 * Yayimhere2(school) * (-20) /* Semantics */
04:29:37 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168403&oldid=168402 * Yayimhere2(school) * (-178) /* Examples */
04:30:38 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168404&oldid=168403 * Yayimhere2(school) * (-20) /* Semantics */
04:34:15 <esolangs> [[Apraxia]] https://esolangs.org/w/index.php?diff=168405&oldid=168404 * Yayimhere2(school) * (+61) /* Examples */
04:49:30 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168406&oldid=168287 * Yayimhere2(school) * (-251) /* esolangs */
04:50:51 <esolangs> [[()()(())]] https://esolangs.org/w/index.php?diff=168407&oldid=136415 * Yayimhere2(school) * (+25) /* definitions */
04:51:49 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168408&oldid=168395 * Corbin * (+6) Fix categories yet again.
04:52:13 <esolangs> [[Talk:()NEST()]] https://esolangs.org/w/index.php?diff=168409&oldid=168088 * Yayimhere2(school) * (-269) deleted some dumb talks I did a while ago
04:53:56 <esolangs> [[Talk:()NEST()]] https://esolangs.org/w/index.php?diff=168410&oldid=168409 * Yayimhere2(school) * (+446)
05:04:53 <esolangs> [[()NEST()]] https://esolangs.org/w/index.php?diff=168411&oldid=136382 * Yayimhere2(school) * (-920) /* how it works */
05:08:19 -!- Sgeo has quit (Ping timeout: 250 seconds).
05:11:08 <esolangs> [[Talk:()NEST()]] https://esolangs.org/w/index.php?diff=168412&oldid=168410 * Yayimhere2(school) * (+666)
05:19:45 -!- pool has quit (Read error: Connection reset by peer).
05:21:49 -!- pool has joined.
05:40:35 -!- ais523 has quit (Quit: quit).
05:44:01 -!- zzo38 has joined.
05:44:06 <zzo38> Why does X.690 says that the canonical form of a floating point number in decimal format must have a plus sign for the exponent iff the exponent is zero?
05:47:19 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168413&oldid=168345 * RaiseAfloppaFan3925 * (+497) /* Factorial operator example */ Silly me was too sleepy to complete the factorial program
05:51:46 <esolangs> [[Atamagaokashii]] M https://esolangs.org/w/index.php?diff=168414&oldid=168413 * RaiseAfloppaFan3925 * (+1) /* Factorial operator example */ operator, not literal
05:52:18 -!- Sgeo has joined.
06:03:29 -!- Sgeo has quit (Read error: Connection reset by peer).
06:19:56 -!- pool has quit (Read error: Connection reset by peer).
06:20:22 -!- pool has joined.
06:20:34 <esolangs> [[SletScript]] M https://esolangs.org/w/index.php?diff=168415&oldid=168382 * Cycwin * (+470) /* single-time lambda runner */
06:29:46 <esolangs> [[Dynamic CE]] N https://esolangs.org/w/index.php?oldid=168416 * Yayimhere2(school) * (+405) Created page with "{{WIP}} '''Dynamic CE''' is an esolang created by [[User:Yayimhere]], as a more dynamic, and "usable"(to some extent) version of [[Contains everything]]. It is currently a WIP. == Description == === Builtins === Below are some Dynamic CE built in variables,
06:35:02 <esolangs> [[Distressed]] https://esolangs.org/w/index.php?diff=168417&oldid=168232 * Yayimhere2(school) * (+4) /* Computational class */
06:37:28 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=168418&oldid=168334 * Yayimhere2(school) * (+65) /* Commands */
06:37:36 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=168419&oldid=168418 * Yayimhere2(school) * (+1) /* Tricks and tips */
06:40:19 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=168420&oldid=168419 * Yayimhere2(school) * (+69) /* Commands */
06:40:56 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=168421&oldid=168343 * RaiseAfloppaFan3925 * (+501) /* Languages I like */ Add Atamagaokashii
06:43:06 -!- impomatic has joined.
06:44:44 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=168422&oldid=168420 * Yayimhere2(school) * (-4) /* Commands */
06:49:52 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=168423&oldid=168422 * Yayimhere2(school) * (-36) /* Commands */
06:52:04 -!- Yayimhere has joined.
06:53:37 <Yayimhere> Hello. I have a question. Is the command set Increment, multiply by 10, add a cell and point to it, delete current cell, go back N commands, goto command N(only forwards), goto current cell value(may wrap around the program).
07:01:28 <esolangs> [[SletScript]] M https://esolangs.org/w/index.php?diff=168424&oldid=168415 * Ractangle * (+33)
07:01:58 <esolangs> [[SletScript]] M https://esolangs.org/w/index.php?diff=168425&oldid=168424 * Ractangle * (-11) /* External Resources */
07:34:29 <Yayimhere> Is the before mentioned command set turing complete
07:34:30 <Yayimhere> lol
07:34:36 <Yayimhere> i had not realized it was incomplete
08:01:43 -!- Yayimhere has quit (Ping timeout: 250 seconds).
08:08:55 -!- Yayimhere has joined.
08:14:10 -!- tromp has joined.
08:28:32 -!- chiselfuse has quit (Ping timeout: 272 seconds).
08:28:50 -!- chiselfuse has joined.
08:51:54 -!- impomatic has quit (Quit: Client closed).
09:35:58 <esolangs> [[Ikiwekiwow]] M https://esolangs.org/w/index.php?diff=168426&oldid=166009 * Saumus Paskevi * (+7)
09:36:47 <esolangs> [[Ikiwekiwow]] M https://esolangs.org/w/index.php?diff=168427&oldid=168426 * Saumus Paskevi * (+7)
09:37:42 <esolangs> [[Ikiwekiwow]] https://esolangs.org/w/index.php?diff=168428&oldid=168427 * Saumus Paskevi * (-51)
09:38:34 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=168429&oldid=168421 * RaiseAfloppaFan3925 * (+2592) Tier lists
09:39:28 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:41:20 <esolangs> [[Ikiwekiwow]] https://esolangs.org/w/index.php?diff=168430&oldid=168428 * Yayimhere2(school) * (+0) /* Operations */ correct the number of instructions
09:41:45 <esolangs> [[Confusion]] M https://esolangs.org/w/index.php?diff=168431&oldid=90799 * Saumus Paskevi * (+11) marked dead link
09:51:51 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=168432&oldid=168425 * I am islptng * (+29) fix typo and format
09:56:12 <sorear> moderately tempted to throw in a version of Henkin's theorem to prove that there are no surprises connected to the logical axioms
09:59:41 <sorear> as it is the logic is only developed enough to prove that 0 and 1 have the expected nature
10:35:08 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168433&oldid=168364 * C++DSUCKER * (+171)
10:38:57 <APic> Hi *
10:39:07 <Yayimhere> Hello APIC
10:39:12 <APic> Yo Yayimhere
10:39:22 <Yayimhere> How are you?
10:39:28 <Yayimhere> And are you working on anything?
10:39:31 <esolangs> [[Special:Log/newusers]] create * Samski * New user account
10:44:49 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168434&oldid=168401 * Samski * (+378)
10:45:05 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168435&oldid=168434 * Samski * (+81)
10:47:10 <esolangs> [[Talk:Contains everything]] https://esolangs.org/w/index.php?diff=168436&oldid=168366 * C++DSUCKER * (+244)
10:47:28 <esolangs> [[Talk:Contains everything]] https://esolangs.org/w/index.php?diff=168437&oldid=168436 * C++DSUCKER * (+63)
10:50:22 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168438&oldid=168433 * C++DSUCKER * (+0)
10:51:19 <esolangs> [[Dynamic CE]] https://esolangs.org/w/index.php?diff=168439&oldid=168416 * Yayimhere2(school) * (-405) Blanked the page
10:52:57 <esolangs> [[User:RaiseAfloppaFan3925/Testing Facility]] https://esolangs.org/w/index.php?diff=168440&oldid=168267 * RaiseAfloppaFan3925 * (+709) Syntax highlighting
10:53:30 -!- tromp has joined.
11:11:26 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=168441&oldid=168429 * RaiseAfloppaFan3925 * (+164) /* Tier List of Languages */
11:16:53 <esolangs> [[User:RaiseAfloppaFan3925/Interpreters]] https://esolangs.org/w/index.php?diff=168442&oldid=168111 * RaiseAfloppaFan3925 * (+316) /* Nope. */ Add the Atamagaokashii interpreter of Nope.
11:19:21 -!- DOS_User has joined.
11:19:36 -!- DOS_User has quit (Client Quit).
11:19:55 -!- DOS_User_webchat has joined.
11:21:31 -!- DOS_User_webchat has quit (Client Quit).
11:21:46 -!- DOS_User_webchat has joined.
11:22:08 -!- DOS_User_webchat has quit (Client Quit).
11:22:24 -!- DOS_User_webchat has joined.
11:22:33 <Yayimhere> damn
11:22:45 <DOS_User_webchat> Ehat?
11:22:53 <Yayimhere> Chat?
11:23:46 <DOS_User_webchat> No
11:23:48 <DOS_User_webchat> What
11:23:55 <DOS_User_webchat> I hate typnhg on phone
11:24:33 <Yayimhere> lol'
11:25:00 <DOS_User_webchat> Anywayds sup
11:25:44 <Yayimhere> Working on an extension of contains everything
11:25:46 <Yayimhere> WBU?
11:26:25 <DOS_User_webchat> Bored
11:26:33 <Yayimhere> lol
11:26:40 <Yayimhere> Have you ever made an esolang?
11:26:43 <Yayimhere> just wondering
11:26:55 <DOS_User_webchat> Granmas hpuse, dad is rambling about mushros
11:26:59 <DOS_User_webchat> Musrooms
11:27:09 <DOS_User_webchat> Oh yea i have
11:27:17 <DOS_User_webchat> User:juanp32
11:27:30 <Yayimhere> cool!
11:27:34 <Yayimhere> ill check im our
11:27:36 <DOS_User_webchat> One ofvthem is turing complete
11:27:38 <Yayimhere> would love to collab
11:27:50 <DOS_User_webchat> Actually 2 but one is a bf derivatibe so yea
11:27:58 <Yayimhere> lul
11:28:21 <DOS_User_webchat> Because a rite of passage for esolangers is bf dericative apparently
11:28:37 <Yayimhere> I havent actually
11:28:39 <Yayimhere> i think
11:38:43 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168443&oldid=168438 * C++DSUCKER * (+246)
11:58:25 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=168444&oldid=167857 * PrySigneToFry * (+219)
11:59:33 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=168445&oldid=168444 * Yayimhere2(school) * (+159)
11:59:42 <esolangs> [[Contains everything]] M https://esolangs.org/w/index.php?diff=168446&oldid=168443 * C++DSUCKER * (-4)
12:03:15 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=168447&oldid=166161 * None1 * (+721)
12:05:41 -!- Yayimhere has quit (Ping timeout: 250 seconds).
12:06:22 -!- DOS_User_webchat has quit (Quit: Client closed).
12:08:12 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168448&oldid=168446 * C++DSUCKER * (+141)
12:08:37 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168449&oldid=168448 * C++DSUCKER * (+2)
12:15:28 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=168450&oldid=168445 * PrySigneToFry * (+315)
12:20:15 -!- pool has quit (Read error: Connection reset by peer).
12:21:23 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168451&oldid=168449 * C++DSUCKER * (+321)
12:21:24 -!- impomatic has joined.
12:22:22 -!- pool has joined.
12:26:53 <esolangs> [[User talk:Yayimhere2(school)]] https://esolangs.org/w/index.php?diff=168452&oldid=168450 * Yayimhere2(school) * (+383) /* ? */
12:28:09 -!- Yayimhere has joined.
12:40:47 -!- Yayimhere has quit (Quit: Client closed).
12:44:38 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168453&oldid=168414 * Hammy * (+150) /* Member/Method Access */
12:53:41 -!- impomatic has quit (Quit: Client closed).
13:00:27 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168454&oldid=168453 * Hammy * (+690) /* User:Esolangist */
13:01:28 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=168455 * Hammy * (+28) Redirected page to [[Atamagaokashii]]
13:13:40 <esolangs> [[Talk:INTERCAL]] https://esolangs.org/w/index.php?diff=168456&oldid=167964 * Jasper * (+53) /* Useful functions made using INTERCAL's unary / binary operators */
13:20:28 -!- pool has quit (Read error: Connection reset by peer).
13:22:29 -!- pool has joined.
13:23:38 <esolangs> [[Atamagaokashii]] M https://esolangs.org/w/index.php?diff=168457&oldid=168454 * RaiseAfloppaFan3925 * (+144) /* Extensions */ This
13:32:35 <int-e> > logBase 2 3 * 23
13:32:37 <lambdabot> 36.45413751658659
13:40:49 <esolangs> [[Just a bit]] https://esolangs.org/w/index.php?diff=168458&oldid=168271 * Esolangist alt * (+169)
13:50:30 <esolangs> [[Talk:Abyssal-9]] https://esolangs.org/w/index.php?diff=168459&oldid=168384 * Int-e * (+363) I think either delete them or mark pages like this with a big "AI slop" banner...
13:58:05 -!- impomatic has joined.
14:05:34 <esolangs> [[Abyssal-8]] N https://esolangs.org/w/index.php?oldid=168460 * Sawyer.go0923 * (+21282) Created page with "{{proglang | name = Abyssal-8 | year = 2025 | designer = Sawyer Macia | file extension = .aby8 | paradigm = Esoteric language deterministic, massively obfuscated, self-modifying VM | influences = Malbolge, Brainfuck (conceptual), cryptographic permutations }}
14:10:01 <int-e> ...gah
14:10:45 <int-e> Oh we're also inventing nonexistant templates? "Template:Proglang"
14:10:53 <int-e> "we"
14:20:32 -!- pool has quit (Read error: Connection reset by peer).
14:22:36 -!- pool has joined.
14:35:49 -!- amby has joined.
14:42:32 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168461&oldid=168408 * Sawyer.go0923 * (-281)
14:59:36 <esolangs> [[Abyssal-7]] N https://esolangs.org/w/index.php?oldid=168462 * Sawyer.go0923 * (+6020) Created page with "{{infobox proglang |name=Abyssal-7 |paradigms=imperative |author=[[User:YourUsernameHere]] <!-- Replace with your esolangs username --> |year=[[:Category:2025|2025]] |influence=[[Abyssal-8]], [[Abyssal-9]], [[Malbolge]] |class=[[:Category:Turing complete|Turing
15:04:21 <int-e> Hmm I can feel a wiki user ban coming.
15:07:48 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168463&oldid=168400 * NTMDev * (+89) /* Floor, Ceiling */
15:08:23 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168464&oldid=168463 * NTMDev * (+16) /* LogicalOperation */
15:09:58 <int-e> (Aside from these pages being pure slop, they haven't reacted on their talk page either.)
15:13:34 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168465&oldid=168464 * NTMDev * (-31) /* Floor, Ceiling */
15:14:03 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168466&oldid=168465 * NTMDev * (+90) /* Advanced Math Operations */
15:29:34 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168467&oldid=168466 * NTMDev * (+474) /* Square root, Logarithm */
15:42:08 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168468&oldid=168467 * NTMDev * (+77) /* Square root, Logarithm */
15:44:12 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168469&oldid=168468 * NTMDev * (+306) /* Trig Functions */
15:49:47 <esolangs> [[Talk:Contains everything]] https://esolangs.org/w/index.php?diff=168470&oldid=168437 * Corbin * (+911)
15:51:53 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168471&oldid=168461 * Corbin * (+2) Fix categories.
15:52:23 <esolangs> [[Abyssal-8]] https://esolangs.org/w/index.php?diff=168472&oldid=168460 * Corbin * (+6) Fix categories. This was clearly generated.
15:52:52 <esolangs> [[Abyssal-7]] https://esolangs.org/w/index.php?diff=168473&oldid=168462 * Corbin * (+7) Fix categories. This was clearly generated.
15:57:46 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168474&oldid=168469 * NTMDev * (+197) /* Gcd, Lcm */
15:58:52 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168475&oldid=168474 * NTMDev * (+125) /* Mod, MathConstants */
15:58:56 <esolangs> [[Special:Log/upload]] upload * Mysonandadthatnosense * uploaded "[[File:Hello World!.png]]"
16:03:09 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168477&oldid=168312 * Corbin * (+1556) /* Tagging & Slop */ new section
16:06:46 <esolangs> [[I RAGED ON CSHARP SO HARD I BROKE MY FUCKING PC]] https://esolangs.org/w/index.php?diff=168478&oldid=168216 * Corbin * (+6) Fix categories. This smells generated.
16:07:08 <esolangs> [[!frjnrehrbwgyrigbyieurgbyfaerkhbvrwgtr.]] https://esolangs.org/w/index.php?diff=168479&oldid=168217 * Corbin * (+6) Fix categories. This smells generated.
16:07:22 <esolangs> [[Abcdefghijklmnopqrstuvwxyz.now.i.know.my.abcs.next.time.wont.you.sing.with.me]] https://esolangs.org/w/index.php?diff=168480&oldid=168219 * Corbin * (+6) Fix categories. This smells generated.
16:08:36 <esolangs> [[GTA6]] https://esolangs.org/w/index.php?diff=168481&oldid=168316 * Corbin * (+30) Fix categories. This smells generated. The repeated Gs put the model into a pseudo-stationary distribution and it forgot which language it was supposed to speak when it came back out.
16:09:23 <korvo> Okay, I think I've tagged all of it.
16:14:51 <esolangs> [[Classic?]] https://esolangs.org/w/index.php?diff=168482&oldid=168239 * Yayimhere2(school) * (+3) /* Semantics */
16:21:35 <esolangs> [[M@trix]] N https://esolangs.org/w/index.php?oldid=168483 * Mysonandadthatnosense * (+1416) Uhh M@trix!
16:27:23 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:28:12 <esolangs> [[M@trix]] https://esolangs.org/w/index.php?diff=168484&oldid=168483 * Mysonandadthatnosense * (+1) /* M@trix */
16:28:23 -!- Lord_of_Life_ has joined.
16:29:47 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
16:29:47 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:29:53 -!- impomatic has quit (Quit: Client closed).
16:29:57 <esolangs> [[Classic?]] https://esolangs.org/w/index.php?diff=168485&oldid=168482 * Yayimhere2(school) * (+2) /* Semantics */
16:34:46 <esolangs> [[M@trix]] https://esolangs.org/w/index.php?diff=168486&oldid=168484 * Mysonandadthatnosense * (+153) /* External Links */
16:35:38 <esolangs> [[M@trix]] M https://esolangs.org/w/index.php?diff=168487&oldid=168486 * Mysonandadthatnosense * (+0) /* M@trix */
16:37:13 <esolangs> [[User talk:Mysonandadthatnosense]] N https://esolangs.org/w/index.php?oldid=168488 * Mysonandadthatnosense * (+169) Created page with "Hi guys! Im the guy who made [[M@trix]] :D--~~~~"
16:38:15 <esolangs> [[User:Samski]] N https://esolangs.org/w/index.php?oldid=168489 * Mysonandadthatnosense * (+3) Created page with "uhm"
16:40:46 -!- ais523 has joined.
16:41:00 <esolangs> [[M@trix]] M https://esolangs.org/w/index.php?diff=168490&oldid=168487 * Mysonandadthatnosense * (+79) /* M@trix */
16:42:05 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168491&oldid=168457 * Esolangist alt * (+20) Esolangist alt
16:53:07 <ais523> I don't want to ban Sawyer.go0923 without giving them more of a chance to respond to the warnings, but I'm also thinking that the behaviour is getting increasingly banworthy
16:54:28 <ais523> really I or someone else needs to work on a topicality policy which gives something to point to as a reason to delete this (which I don't think should be "was created by AI" unless there were copyright concerns, but rather "a page should document a language, you can't just write something that looks like language documentation unless there is an actual language to document"
16:55:17 <ais523> the AI that's generating the pages seems to have fallen into the common issue of mixing up actual useful output and plans for the future / todo lists (which, admittedly, I sometimes do myself on a smaller scale, but not to that extent)
16:57:04 <ais523> to clarify: I think "ask an AI for ideas, try to create a language around the ideas it comes up with, document the language" is clearly acceptable even if I'm not particularly a fan of the process; but "ask an AI for language documentation and post it" is not acceptable because at no point has the language actually been created
16:58:36 <korvo> ais523: Understood. I will propose some policy wording in a bit. I hope I didn't overstep in my warning; I wanted them to understand *why* their behavior is an issue and *how* to improve.
16:59:22 <ais523> it's a wiki, warning people is something that anyone can do (although if the warnings are in bad faith it would be a problem, and if they're in good faith but very off the mark it would need correction)
16:59:33 <korvo> "articles should document languages" seems like a good maxim for sure.
16:59:51 <ais523> (or document something else, if the article is not intended to be about a language)
17:00:44 <ais523> I am generally extremely forgiving as moderators go (which might have caused problems in the past) – this incident is annoying even me, so it must be even worse for everyone else
17:02:15 <int-e> ais523: Yeah technically AI isn't the issue. Nor, in a way, is slop; we have plenty of barely specified language stubs... not great, but easy to sort out at a glance. The combination though... AI enables slop that looks substantial, produced at a prodigious rate.
17:03:02 <ais523> with human-produced slop there's generally *a* language idea, just the human may not fully understand it and may have trouble articulating it properly
17:03:12 <ais523> in my case, I normally just don't post those languages, but some people do
17:03:31 <ais523> (and when I do post languages that I haven't fully thought through they are often not very interesting)
17:03:43 <avih> i don't think it matters much whether it's ai or not, though it's much more likely with ai, but without knowing how to formulate it, i think it's not a place for "silly stupid half baked stuff with zero interesting value"
17:04:45 <avih> (all subjective obviously, hence "not sure how to formulate it")
17:04:47 <ais523> I can potentially see going as far as "a page must contain either an interpreter, sufficient information that it would be possible for someone else to create an interpreter, or a link to a page containing one of these things" although that would be a really major change and I wouldn't want to make it without extensive discussion
17:05:01 <ais523> and it'd need to be adapted a bit for hypothetical languages
17:05:06 <ais523> err, for uncomputable languages
17:05:06 <korvo> I'm just not a fan of vanity. I think this this community is much more lenient than e.g. nLab, where "remove yourself" is a community value, but in general I think that wikis should not just be guestbooks where people write grand signatures.
17:05:54 <ais523> something like https://esolangs.org/wiki/Banana_Scheme would be sufficiently well-specified to implement if not for the fact that it's theoretically impossible
17:06:02 <ais523> but you can imagine writing an implementation in another uncomputable language
17:06:48 <ais523> well, except that it doesn't specify syntax for the transfinite ordinales
17:06:49 <korvo> [[Sammy]] would be my example of an edge case. It's an interesting open research question whether a Turing machine can simulate it!
17:06:55 <ais523> *ordinals
17:07:00 <ais523> https://esolangs.org/wiki/Sammy
17:07:27 <ais523> korvo: ooh, unknown between TC and uncomputable? I don't see that very often
17:07:38 <int-e> This is intangible, but Banana Scheme is clean: It adds just enough to Scheme to embody the idea of having access to a tower of halting oracles.
17:08:37 <ais523> yes
17:09:02 <korvo> ais523: Yeah. The main issue is that it's not known how to compute Kan extensions in Cat other than via diagram chasing. I think that there might be an algebraic way to simulate it, so that we could compute an approximation; but the details were difficult to work out and I gave up after a week.
17:09:50 -!- impomatic has joined.
17:10:20 <avih> int-e: ais523: just wanted to put it out there. thanks again for the discussion and ideas. i only ended up using ais523's "if (0 or near enough) BODY" code https://gist.github.com/avih/3c7733e251e7edaf161f7f71c840ce69
17:10:56 <ais523> avih: I think you have int-e's name backwards
17:10:59 <int-e> . o O ( who's e-int )
17:11:08 <avih> lol duh
17:11:29 <esolangs> [[Iterate]] https://esolangs.org/w/index.php?diff=168492&oldid=168319 * Aadenboy * (+10) /* Completeness */ I think it'd be obvious to say that Iterate without any way to reset counters is not Turing-completeironically, it would probably be equivalent to [[ITERATE]] instead
17:11:38 -!- DOS_User_webchat has joined.
17:12:05 <avih> fixed! :)
17:12:27 -!- tromp has joined.
17:14:11 <avih> i wanted to find a way to document it in really small chunks without having to use a debugger to see how it looks. i think it ended up ok
17:16:42 <avih> i'm not entirely convinced my "while" construct is minimal, because the condition part has to be duplicated and my gut feeling is that it might be possible to use only once, but so far i didn't find out how
17:17:30 <avih> (i'm sure it can be minimized with tailored code, but i'm more interested in generally applicable constructs)
17:18:00 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
17:18:00 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
17:18:58 <avih> (that refers to the first while. obviously "while (not 0)" is fine)
17:20:07 <int-e> avih: maybe something like +[ -> COND [-<+> ...]<]
17:20:32 <int-e> (instead of COND [- ... COND])
17:20:51 <avih> (digesting. also brb)
17:20:51 -!- pool has quit (Read error: Connection reset by peer).
17:21:08 <int-e> (I have not checked whether that's nciely applicable to the actual code)
17:21:14 <int-e> *nicely
17:22:51 -!- pool has joined.
17:24:13 <avih> yeah, no worries. i will :) but general constructs are useful even if not directly applicable in this case.
17:26:47 -!- DOS_User_webchat has quit (Ping timeout: 250 seconds).
17:27:02 -!- DOS_User_webchat has joined.
17:31:49 <korvo> DOS_User_webchat: Folks don't have to make a BF derivative to contribute to the Brainfuck story. They could also write an interpreter, write a notable or interesting program, demonstrate a new compilation technique, etc.
17:32:21 <korvo> I want to avoid folks thinking that community membership involves tagging a specific graffiti wall with a signature.
17:32:22 <DOS_User_webchat> korvo: ik it was a joke
17:32:29 <korvo> DOS_User_webchat: Ah, okay. No worries.
17:32:38 <DOS_User_webchat> on how almosteveryone did a derivative
17:35:33 <avih> (back)
17:37:16 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168493&oldid=168471 * Sawyer.go0923 * (+39)
17:38:03 -!- impomatic has quit (Ping timeout: 250 seconds).
17:41:03 -!- DOS_User_webchat has quit (Remote host closed the connection).
17:42:56 <avih> int-e: so COND sets the curr cell to exactly 0/1, and body is "..." ? why the very 1st "+" ? does it assume that it's never -1?
17:44:09 <int-e> avih: that's supposed to be on a temporary
17:44:35 <avih> so the assumption is that it starts on a temp cell which is 0?
17:44:40 <int-e> yeah
17:45:53 <int-e> the idea is that instead of duplicating COND, have the outer loop return to before COND whenever the conditions was true
17:46:06 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168494&oldid=168477 * Sawyer.go0923 * (+266) Reply
17:46:10 <int-e> which is using a separate condition that is easier to manage
17:49:12 <avih> int-e: yeah, i get the idea, just not yet whether it's applicable. so the startup state expects to be on the 1st of two consecutive tmp cells, where the 1st is 0 and the 2nd is cond which is exactly 1 or 0, yes?
17:51:15 <avih> well, no. COND represents code to generate 1/0 for this iteration, right?
17:51:23 <int-e> right
17:51:34 <int-e> COND is the thing that you duplicated, more or less
17:51:43 <avih> yea
17:52:05 <int-e> (with all these code templates, the exact number and direction of < and > may need adjustments)
17:52:35 <avih> sure, but this is specific example, so i'm applying it to its own requirement
17:52:51 <avih> (i..e your example uses specific places)
17:53:02 <esolangs> [[Abyssal-7]] https://esolangs.org/w/index.php?diff=168495&oldid=168473 * Sawyer.go0923 * (-48)
17:53:02 <int-e> Right, but what I wrote didn't take your constraints into account, so you're on your own.
17:53:23 <avih> mine doesn't matter. i can apply it once i get it
17:54:09 <avih> (if applicable, my main concern is that it's an unbalanced loop, so need to ensure the bookkeeping happens correctly, but i _think_ it should be ok)
17:54:57 <avih> (because the cleanup happens right after it's used, before BODY)
17:55:46 <esolangs> [[Abyssal-8]] https://esolangs.org/w/index.php?diff=168496&oldid=168472 * Sawyer.go0923 * (-437)
17:56:47 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168497&oldid=168494 * Sawyer.go0923 * (+6)
17:58:28 <avih> int-e: i think i get it. the 1st tmp cell is used both to "get in" unconditionally initially, and also to loop unconditionally, where on each iteration cond is the actual decider about whether body should be executed, yes?
17:59:16 <esolangs> [[M@trix]] https://esolangs.org/w/index.php?diff=168498&oldid=168490 * Mysonandadthatnosense * (+713)
17:59:29 <avih> and if COND is false, then the body loop is not entered and the outer look exits right away
18:00:29 <avih> i _think_ it should be applicable, but not entirely sue yet. mainly due to the unbalanced nature
18:00:43 <avih> (of my BODY)
18:08:40 -!- b_jonas has joined.
18:10:27 <esolangs> [[Talk:Burn]] https://esolangs.org/w/index.php?diff=168499&oldid=167764 * Yayimhere2(school) * (+188) /* Thoughts on burn */
18:12:23 <esolangs> [[Iterate/Math]] https://esolangs.org/w/index.php?diff=168500&oldid=168175 * Aadenboy * (+590) extra logic
18:13:25 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:16:29 -!- tromp has joined.
18:17:40 <korvo> Well, they're still using chatbots to write their replies, but at least they replied.
18:18:43 <esolangs> [[M@trix]] M https://esolangs.org/w/index.php?diff=168501&oldid=168498 * Mysonandadthatnosense * (+47) /* External Resources */
18:19:35 <esolangs> [[M@trix]] M https://esolangs.org/w/index.php?diff=168502&oldid=168501 * Mysonandadthatnosense * (-144) /* M@trix */
18:36:24 -!- perlbot has joined.
18:38:46 <avih> int-e: that's your suggestion in a bit more formal notation, yes?
18:38:48 <avih> (start @base) tmp1+[- (tmp2=COND) tmp2[- tmp1+ base BODY tmp2] tmp1]
18:40:25 <avih> and what i'm thinking about is what happens when BODY inherently moves head, as in unbalanced.
18:40:28 <int-e> avih: you're using names to indicate movement, I guess; in that case, yes
18:40:56 <avih> the name X means "move to X", and it uses the names base, tmp1, tmp2
18:41:07 <int-e> yeah, got it
18:41:28 -!- simcop2387 has joined.
18:43:15 <avih> i'm also wondering whether tmp2 can reuse the tmp1 cell, and end up requiring only 1 tmp
18:44:11 <int-e> avih: well you need a known-0 place to exit the inner loop
18:44:22 <avih> indeed
18:44:23 <int-e> "loop"; it's more of a conditional branch
18:44:53 <avih> basically, the inner loop must be an "if", yes?
18:45:10 <int-e> yeah
18:45:12 <esolangs> [[User:Sawyer.go0923]] N https://esolangs.org/w/index.php?oldid=168503 * Sawyer.go0923 * (+1) Created page with "a"
18:46:31 <avih> then, if tmp1 is reused, then it could end in "BODY tmp1[-]] +]" while reusing tmp1?
18:48:14 <int-e> avih: but a non-zero tmp1 is how the outer loop knows to continue
18:48:23 <avih> as in: (start @base) tmp+[- (tmp=COND) tmp[- base BODY tmp[-]] +]
18:49:07 <avih> there's redundancy there of the tmp[- and the [-]
18:49:26 -!- impomatic has joined.
18:49:40 <int-e> it the end of the inner loop, one cell is known to be 0 (because the loop exits) and another cell is supposed to track whether to continue or not; that's two cells used for flow control at that point.
18:49:45 <avih> hmm.. no
18:49:56 <avih> yeah
18:50:04 <avih> (the "no" was for my suggestion)
18:51:02 <int-e> it? at.
18:51:24 <avih> yeah, got it :)
18:51:40 <int-e> you got "at", eh...
18:52:16 <avih> you were correcting your "it the end of the inner loop" yes?
18:52:49 <int-e> sure
18:53:50 <avih> anyway, yeah, when COND is true it should set tmp1 to re-enter the loop, and also use something to ensure exit of the inner loop. so two tmps indeed.
18:54:29 <avih> re-enter the outer* loop
18:56:25 <int-e> but you can use the two tmps for other purposes in `BODY` and also in `COND`, as long as you reset them properly
18:56:37 <avih> yeah
18:58:36 <avih> i think that in my case where BODY moves head, it should set tmp1+ after body rather than before, which would ensure entrance at the new position, but with a non-moving BODY the tmp1+ can be either before or after BODY
19:01:12 <avih> re reuse, specifically COND can reuse tmp1 as long as it restores it to 0 before entering the inner loop, and same for BODY
19:01:27 -!- amby has quit (Remote host closed the connection).
19:02:21 -!- amby has joined.
19:02:23 <avih> oh, you mentioned reuse in COND too. i stopped reading at "BODY" :)
19:08:10 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168504&oldid=168493 * Sawyer.go0923 * (+364)
19:08:32 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168505&oldid=168504 * Sawyer.go0923 * (-62)
19:08:47 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168506&oldid=168505 * Sawyer.go0923 * (-69)
19:12:08 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168507&oldid=168506 * Sawyer.go0923 * (-39)
19:12:57 -!- impomatic has quit (Ping timeout: 250 seconds).
19:21:04 -!- pool has quit (Read error: Connection reset by peer).
19:23:12 -!- pool has joined.
19:29:43 <b_jonas> ais523: you know how this community is, if you set an inclusion policy for the wiki, I'll both find bad articles to get rid of and try to find loopholes for how the policy implies we should get rid of good articles.
19:30:08 <ais523> b_jonas: what are you intending to do with the loopholes if you find them? :-D
19:30:20 <ais523> ^style agora
19:30:20 <fungot> Selected style: agora (a large selection of Agora rules, both current and historical)
19:30:31 <ais523> fungot: we should get a team of Agorans to go over our new policy and find all the loopholes
19:30:31 <fungot> ais523: there shall be retired from that gambler's hand. for each contest that awarded
19:33:50 <b_jonas> ais523: presumably use them to convince you (as in the wiki admins collectively) to change the policy, but possibly only after I use the policy to get rid of some bad articles
19:35:58 <korvo> Ah, how The Man With No Name did it. Or Mad Max, or Aloy. Walk into town, use overwhelming force to topple local despot, insist that overwhelming force is dangerous and should be retired, walk out of town.
19:37:01 <b_jonas> if the policy were that the page should link to an interpreter or there should be enough information to create one then I'd ask how we apply that to efghij or BancStar
19:40:11 -!- int-e_ has joined.
19:41:18 -!- int-e has quit (Quit: leaving).
19:42:43 <esolangs> [[User:Esolangist/Sandbox]] https://esolangs.org/w/index.php?diff=168508&oldid=167675 * Esolangist alt * (+123) Esolangist alt
19:42:50 <avih> korvo: :)
19:43:03 <b_jonas> if necessary I might even propose articles that don't exist yet and should exist but couldn't with the policy
19:43:29 <korvo> avih: Not a bad thing, just a pattern. (I love speedrunning Horizon, BTW. I should do that more often.)
19:44:03 <avih> yeah. good pattern, and i get why b_jonas suggested it. fun nevertheless :)
19:44:45 <avih> it comes down to what i suggested just seemingly more formally: apply subjective judgment...
19:45:28 <avih> but i liked your examples :)
19:46:52 <avih> basically what everyone does in politics and also elsewhere: define rules which enforce the ruller's subjective point of view. the rest of us can only hope the ruller has fair point of view.
19:49:30 <esolangs> [[Abyssal-9]] https://esolangs.org/w/index.php?diff=168509&oldid=168507 * Sawyer.go0923 * (-233)
19:50:34 <avih> (i like to speedrun farcry 3)
19:50:40 <avih> (also been a while)
19:51:39 <ais523> b_jonas: I think efghij has sufficient *information* to write an interpreter, but actually writing the interpreter would be difficult
19:51:42 <avih> (not the actual main game. only reset the outputs and win all of them, which takes me just less than an hour)
19:51:51 <avih> outposts*
19:52:10 <korvo> That's rad. All Outposts sounds like it should be a category.
19:52:12 <ais523> also, in the early days of the wiki, BANCStar was considered offtopic
19:52:37 <ais523> it is, after all, basically just a bytecode format
19:53:09 <avih> korvo: it might be. was never interested in the "scene". i just find it fun and relaxing.
19:53:14 <avih> and challenging :)
19:53:19 <ais523> is x86-64 machine code an esolang? it's certainly weird enough
19:54:22 <avih> heh
19:55:07 <b_jonas> ais523: I think for including in the wiki, we needn't judge whether a language is esoteric enough, we can keep articles about non-esoteric languages too. but obviously I'm biased, I like to write those kinds of articles.
19:55:21 <korvo> TIL about BANCStar. Almost sounds like a joke. But I know MUMPS is real and this is only slightly more cursed.
19:55:33 <b_jonas> it's enough if the article says something that's of interest to the esoteric language community in general
19:55:41 <zzo38> I would say probably not, but if you have something remarkable to write about it which would be suitable for esolangs, write it anyways.
19:55:50 <ais523> I've actually never looked at MUMPS in detail, even though it's apparently a major enough language that I *should* know it
19:57:21 <b_jonas> korvo: it's hard to be sure if BancSTAR was real or a very elaborate joke. there seems to be more apparently original artifacts about it than for Kvikkalkul, but the person who tried to get a copy of the interpreter vanished. maybe the floppies were just cursed, wouldn't be strange, but maybe they vanished because there's no interpreter and they didn't want to admit that
19:58:08 <korvo> WP's got some examples: https://en.wikipedia.org/wiki/MUMPS#Features It is not bad when written out longhand, but it supports so many one-character tricks for abbreviating.
20:00:35 <zzo38> BANCSTAR seems legitimate to me (for a few reasons including examining existing parts of programs, including the small part that was originally published with no explanation; I think (if I remember correctly) that that small piece of code was asking a yes/no question), but of course I cannot know for sure.
20:00:58 <ais523> BANCStar is the sort of thing that, if fake, would only have been generated by AI
20:01:11 <ais523> nobody puts in the effort to make that much legitimate-looking content by hand
20:01:28 <ais523> but it's old enough that being an AI fabrication is unlikely
20:02:25 <ais523> also, as more details about it were discovered over time, it appeared to become more rather than less self-consistent, which is rare with fabrications
20:02:31 <zzo38> Considering my analysis of https://geocities.restorativland.org/ResearchTriangle/Station/2266/tarpit/bancstar.html as well as how old it is (like you mention), I think it is not generated by AI (unless the AI was specifically designed for this purpose, which seems unlikely)
20:09:09 -!- int-e has joined.
20:09:39 <ais523> hmm, so in MUMPS, global variables are *truly* global – they can be read from other programs, or from a later invocation of the same program
20:10:02 -!- int-e_ has quit (Quit: leaving).
20:10:10 <ais523> and Wikipedia suggests this is the etymology of the modern "global variable" concept which is more limited
20:12:26 <zzo38> I think that is also true in TI-92, although in TI-92 you can separate global variables into multiple areas.
20:12:51 <avih> zzo38: without analyzing the actual listing, the story sounds (entirely twisted but) legitimate to me too.
20:13:52 <ais523> BANCStar likely arose by starting with a simple "draw this text field at this location with a label at that location" form displayer, and features being gradually retrofitted onto it over time
20:14:22 <avih> yeah, some kind of piggyback evolution
20:14:26 <zzo38> ais523: Yes, that might be what it was.
20:15:43 <ais523> in x86-64 machine code, most commands are 32 bits by default, you prefix with 0x48 to make them 64 bits, with 0x66 to make them 16 bits, and add 1 to the opcode to make them 8 bits
20:16:18 <ais523> which is oddly asymmetrical and somewhat wasteful because 8 and 32 are not the most common widths, but it makes more sense when you consider its history as having grown from a machine code where there were only two relevant bitwidths
20:16:19 <avih> but i imagine it should be relatively simply to write a compiler for it which allows comments and indentations etc
20:16:24 <avih> simple*
20:17:12 <avih> it would be batshit crazy imo that the "machine code" was the actual source
20:17:24 <ais523> well, it wasn't, to start with
20:17:29 <ais523> but apparently the source language wasn't very powerful
20:17:40 <ais523> so people started coding in the machine code directly
20:17:45 <ais523> (for BANCStar, that is)
20:18:26 <avih> yeah, but then the machine code became actual source. i meant it should be relatively simple to improve the higher level language which compiles to the same machine
20:19:26 <avih> even if just a sed script which replaces "if" "goto" etc with the respective numbers, and allow indentation and comments
20:19:28 <ais523> but it would have been very unlikely to be open source, so you would have had to persuade its original authors to improve it (or give you access) in order to do so lehally
20:19:29 <ais523> * legally
20:19:48 <ais523> I get the impression that the higher-level language didn't use traditional textual source code but was instead some sort of visual editor
20:20:22 <zzo38> It seems that someone did write a invent a higher level language (called BANCNova), although it seems that the original implementation was a visual editor like ais523 says
20:20:25 <avih> the way it's described at that page, it's simple enough that downsteram devs could do that on their own
20:20:35 <avih> i would do that if i had to target this machine
20:21:14 <ais523> ah, just write an entirely unrelated language that compiles into BANCStar, that makes more sense
20:21:41 <avih> not entirely. even directly, but at least be manageable
20:22:13 <avih> as i said, even some tiny sed thingy
20:23:31 <avih> remove all whitespaces, remove all lines which begin with '#' translate if/goto/whatever to the numbers, etc
20:24:28 <b_jonas> ais523: what would happen if there was an interpreter, but it disappeared from the internet since and it's hard to find a copy? what if there is an interpreter but you have to pay money for a license?
20:25:11 <ais523> b_jonas: fwiw I thought the interpreter policy would probably be a bad idea but also thought it's a good thought experiment
20:25:26 <korvo> avih: https://github.com/vijithassar/lit might be inspiring. In Monte, files with .md extensions are preprocessed with a lit-like pass, so that one can have .mt.md literate source or .asdl.md literate ASTs.
20:25:28 <b_jonas> yeah
20:25:36 <ais523> (before correcting it, I typoed "probably" as "prnobbly" – that's an extreme enough typo to possibly make the next Befunge)
20:26:40 <korvo> I suppose that the original inspiration https://gist.github.com/trauber/4955706 is more ontopic for this channel.
20:27:12 <b_jonas> an interesting case is https://esolangs.org/wiki/SKOAL . it's not a language, but I don't think that's the relevant problem here. the problem is that to recreate it, you either have to find an existing copy, presumably used, and dump its ROM, or the harder version is to reverse engineer the ROM of the calculator and implement it yourself.
20:28:24 -!- Sgeo has joined.
20:29:12 <ais523> b_jonas: I guess SKOAL is easy enough to imagine and implement as a (not actually a language) *family* but the data needed to produce that specific board isn't and shouldn't be available
20:29:48 <ais523> this reminds me of when people try to create esolangs with a command saying "prints this text: really long text" as a method of trying to make the text ontopic so that it can be posted on the wiki
20:30:13 <ais523> I don't think that's legitimate either, the language should be parameterized on the text and the text should be offsite if anywhere
20:30:34 <avih> korvo: was not familiar with literate programming, but i only glimpsed at the wikipedia page, and it's not obvious to me how it's different from a source code file which is interleaved with extensive chunks of comments
20:31:17 <ais523> or to use a more legitimate example, in Jelly, there's a command that parses a sequence of bytes as token numbers, and outputs a string formed by concatenating the tokens
20:31:18 <avih> languages typically already have facilities to separate actual source from free text - comments
20:31:25 <ais523> but the map from token numbers to tokens is just a really big hardcoded map
20:31:28 <b_jonas> https://esolangs.org/wiki/Beecode doesn't even print a text that's releavnt
20:31:57 <avih> (but that being a knuth thing, i'm sure it has more substance than my initial impression)
20:31:59 <ais523> it doesn't seem right (and would be copyright infringing) to post the entire hardcoded map on the wiki, so it makes more sense to link to it
20:33:10 <ais523> avih: so my understanding of literate programming is that it is a combination of a) a programming language in which comments can be made particularly easy to read compared to the executed source code, and b) a programming style in which the program is ordered such that you can get an understanding of how it works by reading the comments and source in order from top to bottom
20:33:31 <ais523> but b) doesn't really show up in the languages because it isn't enforced, and a) is an almost trivial matter of syntax
20:34:18 <b_jonas> avih: oh yeah, good thing you mention it, https://esolangs.org/wiki/PL/MIX is one where we expect we'll never have enough information to create an interpreter
20:35:58 <avih> ais523: i think both can be applied in most (normal) languages?
20:36:48 <ais523> avih: yes, although it mostly depends on how awkward the comment syntax is
20:36:48 <avih> each language caters to a different sensibility of "readability", but overall it's just syntax, which one ultimately has to master in order to follow the code.
20:37:01 <ais523> to do it in C, you can imagine */…/* as being an "anticomment" symbol
20:37:09 <ais523> this works in most languages with C-style comments
20:37:13 <b_jonas> unless it's high level enough that it's the same language as PL/MMIX, which will be defined in TAOCP volume 5, as in something like C with implementation-defined word size
20:37:33 <b_jonas> but it has MIX in its name so that doesn't sound likely
20:37:43 <ais523> b_jonas: doesn't C also have implementation-defined word size?
20:38:02 <b_jonas> ais523: yes, that's why I'm giving C as an example for high-level language
20:38:20 <ais523> oh, I see, you're using C as an example rather than the word size as an exception
20:38:35 <ais523> this is an ambiguity in English that I don't think I've consciously noticed before
20:38:58 <avih> (i'll read a bit more about lit programming later, because i'm guessing it should have some substance other than style)
20:39:22 <ais523> it's a precedence ambiguity, "(something like C) with implementation-defined word size" (the intended meaning) versus "something like (C with implementation-defined word size)" (how I interpreted it)
20:40:46 <ais523> b_jonas: aww, now I'm disappointed that MMIX wasn't created in 2009, it seems like the sort of pun that programmers like Knuth would enjoy
20:41:28 <b_jonas> ais523: MMIX was created in 2009 for some value of created. it took multiple years to create.
20:43:02 <b_jonas> ok no, 2004 is probably the most relevant year when it was released
20:43:45 <b_jonas> so probably not created in 2009
20:51:20 <avih> korvo: that lit inspiration awk thingy could also be written as (untested): awk '/^```/{x=!x;next}; x'
20:53:10 <korvo> avih: The original literate-programming idea included a *tangling* phase that allows for programs to be written in arbitrary order. One tangling could lead to an executable version of the program and another tangling could produce a book; the book's chapters don't have to correspond to text sections in the executable.
20:53:38 <korvo> But yeah, if you've seen modules and docstrings then literate programming might seem like a dated concept.
20:53:58 -!- impomatic has joined.
20:54:08 <avih> yeah, what i thought as well
20:54:59 -!- amby has quit (Ping timeout: 256 seconds).
20:55:15 -!- amby has joined.
20:57:23 <korvo> avih: Here's a motivating example: https://github.com/monte-language/typhon/blob/master/mast/lib/prom.mt.md This is a Prometheus metrics server. The literate level contains two levels of quotation; the upper level is block-quoting hunks of the Prometheus upstream guide for server authors. The overall effect is that one can read three different levels of quotation all at the same time.
20:57:31 <ais523> korvo: very few languages have a reason to write in order nowadays, apart from languages where declaration needs to precede use
20:58:50 <korvo> ais523: Or inside expressions, e.g. ordering of pattern-matching clauses.
20:59:13 <ais523> korvo: hmm, now I'm imagining a pattern match split up all over the program
20:59:34 <korvo> Thue?
20:59:52 <ais523> in a way, that's what implementing an interface does (with the Java-ish OO meaning of "interface")
21:00:15 <korvo> Oh, no, Thue's explicitly non-deterministic in ordering.
21:00:44 <ais523> there is some debate about what sort of nondeterminism is used
21:00:57 <ais523> I consider it to be angelic nondeterminism, like is used in, e.g., context-free grammars
21:01:00 <ais523> but some people think it's randomization
21:03:11 <ais523> there are weirder versions of nondeterminism too, e.g. Prolog attempts to simulate angelic nondeterminism but it has a defined evaluation order and ways to screw with the evaluation from inside
21:03:20 <ais523> meaning that the purity breaks down somewhat
21:03:30 <ais523> !, fail.
21:03:58 <ais523> (that said, Prolog's evaluation order is fun to think about in an esoteric sort of way)
21:05:10 <ais523> I wonder whether ! started out as an optimisation primitive that was meant to be used only when it wouldn't change the semantics of the program and then got weirder over time as people started exploiting the undefined cases, or whether the weirdness was intended from the start
21:05:43 <ais523> (the optimisation-only cuts are apparently called "green cuts" by Prolog programmers, the ones that have an effect on control flow are "red cuts")
21:12:26 <esolangs> [[Iterate/Compilation]] N https://esolangs.org/w/index.php?oldid=168510 * Aadenboy * (+4635) Created page with "{{Back|Iterate}} For convenience, this page defines a more programmer-friendly version of Iterate that can be compiled into syntactically correct code. The compiled code should optimally be devoid of whitespace, since such isn't necessary to properly parse
21:13:07 <esolangs> [[Iterate]] https://esolangs.org/w/index.php?diff=168511&oldid=168492 * Aadenboy * (+151) /* Syntax */ note compiler
21:15:22 -!- amby has quit (Read error: Connection reset by peer).
21:15:30 -!- amby has joined.
21:24:21 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
21:24:21 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
21:25:21 -!- chiselfuse has quit (Remote host closed the connection).
21:25:35 -!- chiselfuse has joined.
21:55:50 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168512&oldid=168363 * Buckets * (+11)
21:56:54 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168513&oldid=168361 * Buckets * (+12)
21:57:39 <esolangs> [[Input Text Feild ,(comma) Please]] N https://esolangs.org/w/index.php?oldid=168514 * Buckets * (+19) Redirected page to [[ITF,P]]
21:57:48 <esolangs> [[ITF,P]] N https://esolangs.org/w/index.php?oldid=168515 * Buckets * (+1996) Created page with "ITF,P Is An Esoteric programming language created By [[User:Buckets]] in 2024 and Stands for "Input Text Feild ,(comma) Please". The Pseudo-Commands Are Exactly The same as [[brainfuck]]'s command set. {| class="wikitable" |+ The actual Commands |- ! Input Text-Dependen
22:18:45 <esolangs> [[QuantaScript]] N https://esolangs.org/w/index.php?oldid=168516 * Cyclic Tag * (+3468) Created page with "'''QuantaScript''' is an esolang made by Google Gemini prompted by Cyclic Tag. The language operates exclusively on a single stack that can hold values in one of three states: '''0''' (False/Down), '''1''' (True/Up), or '''?''' (Superposition). ==Concepts and D
22:24:06 <esolangs> [[Iterate]] https://esolangs.org/w/index.php?diff=168517&oldid=168511 * Aadenboy * (+23) [[Category:Low-level]]
22:42:25 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168518&oldid=168475 * NTMDev * (+4) /* Mod, MathConstants */
22:51:11 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168519&oldid=168518 * NTMDev * (+1050) /* Enumeration */
22:52:39 -!- impomatic has quit (Ping timeout: 250 seconds).
22:55:27 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168520&oldid=168519 * NTMDev * (+468) /* Mod, MathConstants */
22:56:01 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168521&oldid=168520 * NTMDev * (+26) /* String Operations 1 */
23:01:30 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168522&oldid=168521 * NTMDev * (+91)
23:01:38 <avih> int-e: it works, it's shorter (71 -> 60), but not sure how i feel about it. what do you think? https://0.vern.cc/S.txt
23:02:24 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168523&oldid=168522 * NTMDev * (+37)
23:02:44 <int-e> avih: looks fine to me
23:02:49 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168524&oldid=168523 * NTMDev * (-14)
23:03:50 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=168525&oldid=167820 * NTMDev * (-3810) Blanked the page
23:03:56 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=168526&oldid=168525 * NTMDev * (+3810)
23:04:33 <avih> it does use COND once, and it can be applied generically, and it's not even meaningfully slower, so that's definitely a plus, but... dunno... feels... yet even more complex. not in a bad way, but still...
23:05:07 <avih> (but maybe that's just life with bf code...)
23:05:34 -!- impomatic has joined.
23:05:47 <avih> (it took me a while to actually get it to work...)
23:10:05 <avih> the fact that COND is (==1) and the way it's constructed, it also means "-1" has to appear twice and same for "+1", so this doesn't help construction or readability either...
23:11:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:13:54 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168527&oldid=168524 * NTMDev * (+865) /* Uppercase, Lowercase */
23:18:26 <int-e> avih: not duplicating the conditional code that can be arbitrarily complex sounds like a win to me
23:19:10 <avih> it definitely is, it's the cost i'm not sure how i feel about
23:20:44 <avih> no complaint about your suggestion at all. i quite like it. and yet the result is still way more complex than i'd hoped for "while (==1) {+9; >>>}"
23:22:40 <avih> but again, this is only gut feeling. i don't have enough experience in bf to tell whether this should really be much smaller
23:23:09 <ais523> some short BF programs (like hello worlds) have been produced by computer search and they don't look much like human-written programs at all
23:23:39 <ais523> so even if the program could be much smaller by using some obscure technique, it's unlikely that a human would be able to figure it out
23:23:41 <avih> i know, that's the kind of code which int-e produces manually :)
23:24:30 <avih> i know. not looking for obscure stuff which just fits this specific task.
23:25:16 <avih> but as a general thing for what i consider a relatively simple task, i would have expected less code. it's entirely possible my expectations are wrong in bf.
23:26:06 <ais523> the way I think about it is that BF has commonly seen groups of commands that might act much like a single command in a higher-level language
23:26:16 <ais523> but they generally take up much more space, so the program gets longer
23:26:51 <avih> hmm it does appear that way, yeah
23:42:54 <avih> i think i might look at that bfmacro thing, to check what it produces for this kind of task. though the more general the language is (i presume the macros - i didn't really look into it so far), the more overhead the resulting code would have. still, would be interesting to see what it produces here.
23:44:14 <int-e> I believe avih wants to strike a balance between preserving high-level structure and size, which is hard and inherently subjective.
23:45:08 <avih> because in my head, i think i try to do what bfmacro does. i.e. i'm hoping not to treat mini task as its own kind of puzzle to solve. that feels seriously unrealistic to use that approach, except when minimum size counts above everything else.
23:45:26 <esolangs> [[Talk:Burn]] https://esolangs.org/w/index.php?diff=168528&oldid=168499 * Ais523 * (+640) /* Thoughts on burn */ thoughts on thoughts on Burn
23:45:47 <avih> int-e: why do you think it's subjective?
23:46:34 <int-e> because you can trade size for clarity so it's a matter of which one you value more
23:47:02 <avih> sure, what matters more is subjective. on that i agree.
23:47:38 <avih> (and did agree before too - it's a viable approach if size carries more weight than other things)
23:51:23 <avih> i'm also looking at it from a point of view of practically using bf to write something meaningful. as in, the general challenge to to form the solution approach, and typically the implementation is the relatively easy part if the approach is solid. but here it seems that the implementation itself is its own challenge too.
23:51:52 <avih> is* to form the approach
23:52:55 <avih> (i don't actually intend to write meaningful bf programs, but it's still the perspective i use even with simple things)
23:53:07 <ais523> unoptimising BF interpreters are normally really easy and boring unless you write them in an esolang, optimising BF interpreters is a really itneresting challenge though
23:53:19 <ais523> at least if you take the optimisations far enough
23:54:59 <avih> yeah. mine only does balanced loops so far. that's relatively trivial, but it already beats almost all the "optimizing" interpreters out there, with the exceptions of bffsree in some cases, and, more meaningfully, https://github.com/rdebath/Brainfuck
23:55:49 <avih> the next step in optimizing definitely involves graphs or some other higher level view at dependencies.
23:56:27 <ais523> I think if you go far enough your optimiser starts thinking in terms of counters and stacks, rather than the BF tape
23:56:40 <avih> especially that link above is really amazing. not perfect, but really damn good. i judge by the c code it produces, which really handles multiple levels of nesting
23:57:10 <ais523> there's also ratiofall, my interpreter for The Waterfall Model, which is an interpreter for a counter machine but the problem of optimising that is basically equivalent to the problem of optimising balanced bignum BF
23:57:24 <avih> and of course tracking available knowledge at any point in time is a must as well
23:57:28 <ais523> (but the bignum is important, some of the optimisations don't really make sense except on programs that are using bignums to store data)
23:57:35 <avih> s/tracking/maintaining/
23:58:52 <avih> hmm.. i never considered bignum bf. i don't have a sense of where it differs from normal (wrapping cells) bf
23:59:14 <avih> (i get the diff, but not the sense of where it affects optimizations)
2025-11-17
00:00:39 <avih> ais523: can your interpreter optimize over what ends up as nesting loops in bf?
00:00:44 <ais523> well, a bignum can be used to store arbitrary amounts of data (pretty much by definition), and some programs do that as an alternative to using multipel tape cells
00:01:03 <ais523> the waterfall model uses a different control flow scheme, but effectively yes
00:01:56 <ais523> it works by tracing round sequences of execution that actually happened to see whether they're exact repeats except that some cells increased/decreased by constants without any successful zero tests on them
00:02:01 <avih> yeah, i start getting a sense of the challenge. for instance an instruction can't hold some constant to add to some other cell. it has to actually apply the operations on memory. is that kinda it?
00:02:10 <ais523> and then just simulates the remaining loop executions until something tests as zero
00:02:37 <ais523> this is enough to optimise code that implements a divmod into an actual divmod instruction
00:02:56 <ais523> and divmod is one of the most important operations when using a single tape cell to store arbitrary amounts of data, because it lets you use it like a stack
00:03:17 <ais523> (you hold the stack in the digits of the number, the top of the stack is the least significant digit, then you divmod to pop and multiply-add to push)
00:04:22 <avih> i sort of get the very rough idea of what you're saying, but really not more than that :/
00:04:50 <avih> (but i'm definitely missing background here)
00:06:05 <ais523> actually this reminds me of the discussion on literate programming above
00:06:21 <ais523> literate programming isn't a huge change to what you can do, but it's expected to be combined with a particular programming style
00:06:29 <avih> and when i think about it, i'm not even sure where i'd start optimizing bignum bf, because except trivial constants, an instruction can't include them...
00:06:41 <ais523> bignum BF is similar, it doesn't hugely change programs written for wrapping interpreters, but it adds new possibilities which have their own style
00:06:59 <ais523> (and bignum BF is often run on very short tapes – three cells is enough)
00:07:17 <avih> yeah, i do get the extra dimension it adds, quite literally
00:07:43 <b_jonas> avih: I assume you'd optimize all loops that have no inner loop and are balanced
00:07:47 <avih> it's like every cells is its own infinite tape
00:07:52 <avih> cell*
00:07:59 <ais523> avih: yes, that's a good way to put it
00:08:28 <avih> b_jonas: yes. but that's trivial. teh next step is the interesting one.
00:08:57 <ais523> avih: have you seen the result that bignum brainfuck only needs two pairs of brackets (total, in the whole program) to be Turing-complete?
00:09:42 <avih> b_jonas: the 1k bf2c in sh which you saw does that too, in like 5 lines of awk.
00:09:44 <ais523> https://cs.stackexchange.com/questions/102363/how-many-pairs-of-brackets-are-sufficient-to-make-brainfuck-turing-complete
00:10:00 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168529&oldid=168497 * Sawyer.go0923 * (+61)
00:10:02 <ais523> this sort of thing is why optimising nested loops is in general very hard
00:10:37 <avih> ais523: no. but i do get a sense of why that can be true
00:10:57 <ais523> I'm not sure how many you need for 1-bit or 8-bit BF
00:10:57 <avih> (even if not the specifics)
00:11:47 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168530&oldid=168529 * Sawyer.go0923 * (-2)
00:12:26 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168531&oldid=168530 * Sawyer.go0923 * (+35)
00:12:34 <avih> ais523: in general absolutely yes, but practically in many cases, as long as all the loops are balanced, it doesn't feel beyond reach. but it does require more infrastructure for tracking states and deps
00:13:13 <avih> (re hard to optimize nesting loops)
00:13:17 <ais523> right, in the 2-bracket BF construction both loops are unbalanced (in different directions)
00:13:44 <avih> :)
00:13:48 <avih> mushos fun
00:13:52 <avih> ch*
00:14:58 <avih> plain flat balanced loops can be done almost blindly. it really requires very little.
00:15:26 <avih> (i.e. counter loops, where it's balanced and head overall delta is 1 or -1)
00:16:50 <ais523> there is something called the "polynomial optimisation" which is used for nested balanced loops, but I'm not sure I fully understand it – I think it only works for some of them rather than all of them
00:17:02 <esolangs> [[!frjnrehrbwgyrigbyieurgbyfaerkhbvrwgtr.]] https://esolangs.org/w/index.php?diff=168532&oldid=168479 * Sawyer.go0923 * (+16)
00:20:00 <avih> ais523: i might have a sense of where it stops working - when the same cell is used cumulatively at multiple levels of nesting
00:20:14 <ais523> avih: that's my guess too
00:20:30 <avih> in some cases it should be solvable too, but i think not in all of them
00:21:51 <ais523> I think probably the case where it doesn't work is if the inner loop changes the outer loop's control cell
00:21:56 <avih> because the nesting scenario doesn't flat out unroll it - it turns it into an an "if", which is great speedup, but hard to optimize over multiple levels
00:22:58 <avih> (no pun intended in "flat out")
00:23:07 <avih> (well, maybe just a little)
00:24:03 <avih> ais523: yeah, that definitely wouldn't work with a "naive" optimizer for this construct, but if it can track the values and still "get" the over delta, it might
00:24:16 <avih> overall*
00:26:11 <ais523> hmm, I think balanced-loop-only bignum BF is TC, because I think you can compile Brainpocalypse II to it, but I haven't worked out the details of the compile so maybe I'm missing something important
00:26:13 <avih> but an optimizer doesn't have to optimize everything. if whatever it optimizes is effective, at reasonable cost, then it's still worth it
00:27:17 <ais523> yep
00:27:34 <b_jonas> one thing that could be hard to optimized is if a conditional is implemented as unbalanced like [BODY >]< where the right square bracket is on a cell that's always zero but you can only tell that from global analysis
00:27:39 <ais523> it's still interesting to figure out the point at which an optimizer *can't* be written, though, as it helps to know what can be
00:27:51 <b_jonas> as opposed to, say, [BODY >[-]]<
00:28:00 <ais523> b_jonas: that's actually the thing that made me give up trying to write a BF optimizer myself
00:28:23 <ais523> trying to figure out global invariatns
00:28:27 <avih> b_jonas: that _should_ be optimizable if the optimizer keeps track of known cell values, at least to some degree
00:29:19 <avih> (depending which barriers make it drop its knowledge)
00:30:12 <b_jonas> avih: yes, but it needs to simultaneously optimize conditionals to figure out that this [BODY>]< is balanced and figure out global invariants, because those two can circularly depend on each other
00:30:40 <ais523> global invariants circularly depend on themselves, it's a pain
00:30:49 <b_jonas> yes
00:31:17 <b_jonas> I don't want to write a brainfuck optimizer, but that sort of thing can come up in less esoteric optimizers too
00:31:20 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168533&oldid=168531 * Aadenboy * (+478) add note
00:31:23 <avih> yes. it depends a lot on the specifics. but in my mind, there's a maximum body of knowledge that an optimizer can keep track of (without actually running the code), and if some constructs are deducable from this knowledge, then it's optimizable
00:33:25 <ais523> there's also the JIT approach: you guess at a global invariant, and produce code that runs assuming the invariant (while checking it's true), and if the invariant ever becomes false, it recompiles itself without the invariant
00:33:40 <ais523> (this can save time even if the invariant isn't always true, as long as it's usually true)
00:34:12 <ais523> and I guess a variant of that where you codegen two versions, one which assumes the invariant and one that doesn't, and jump back and forth based on whether it's true or false at the time
00:34:26 <avih> ais523: how do you prevent it from running indefinitely? setting some hardcoded limit on the instructions executed or some such?
00:34:40 <ais523> avih: prevent what from running indefinitely? the program or the optimiser?
00:34:52 <avih> the hit to test the hypothesis
00:34:55 <avih> jit*
00:35:10 <ais523> avih: so you run it while the program is running
00:35:17 <ais523> and monitor what the program actually does
00:35:34 <ais523> i.e. you aren't trying to predict the program's behaviour in advance, you monitor it at runtime instead
00:35:53 <avih> how do you know that if you hit head 1000 times, the next coin flip won't be tail?
00:35:55 <ais523> this means that the running program has to recompile itself if you guessed wrong, so the program and the compiler are kind-of looped into each other
00:36:07 <ais523> avih: you don't, but you've simulated the program with 1000 heads
00:36:25 <ais523> and if it eventually hits tails, you still have the state of the program after 1000 coinflips to start from
00:36:36 <ais523> so you recompile a version that doesn't assume heads but continue it where it left off
00:36:42 <avih> not sure i get it then. how does it optimize then, if it only runs with the program?
00:37:01 <ais523> the optimizer runs while the program is running rather than beforehand
00:37:17 <ais523> so it has to be able to change what code is running while it's running
00:37:18 <avih> still, what can it tell about the future?
00:37:25 <ais523> it doens't have to, it just has to check
00:37:43 <ais523> like, say after 10 heads, it thinks "I should generate code that assumes heads because it'll run faster while this run of heads continues"
00:37:47 <avih> i must be missing something. let me read that jit thing more carefully. sec.
00:38:02 <ais523> then after another 990 heads, it finds out that it was wrong – but that doesn't matter because it still ran 990 coinflips at high spee
00:38:13 <ais523> which is faster than using the unoptimised version for all 1000
00:38:17 <avih> so basically modern cpu branch prediction?
00:38:22 <ais523> yes
00:38:29 <avih> why didn't you say that? :)
00:38:38 <avih> (i did think about it too in the past)
00:38:48 <ais523> because I didn't realise it was an analogy that would help (and didn't realise it was an analogy until you pointed it out)
00:39:26 <ais523> speculative execution in current CPUs does seem to be best viewed as though it were a type of JIT
00:39:43 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168534&oldid=168533 * Sawyer.go0923 * (+148)
00:39:50 <avih> i thought you'd use jit to check which future is the correct one, but probability based, sure, it should work
00:42:26 <avih> in a way, one of the reasons my optimizing interpreter is so much faster even from others which basically do the same shtick (plain balanced loops), is because my main loop is optimized according to the instructions probabilities (cascading if-else tree), rather switch/case over the instructions. this ends up basically 2x faster almost always
00:44:09 <avih> the interesting part is that i was sure that with switch/case, PGO would "get it" and optimize it at least as good as my manually constructed if-else tree, but far from it. not even close.
00:45:10 <ais523> I wonder how this compares to threaded code in terms of branch prediction efficiency?
00:45:24 <ais523> switch/case doesn't branch-predict well because all the branches are done from the same point
00:46:07 <ais523> "threaded code" is the name given for the technique where, at the end of the equivalent of each case…break of a switch, you use a separate technique for branching to the correct label from there
00:46:24 <ais523> (which in practice usually seems to be a computed goto, although if-trees probably also work)
00:46:40 <ais523> that way the branch predictor learns which branches tend to follow which other branches, rather than which branch is the most common overall
00:46:48 <ais523> I've never tried it but I've heard good things about it
00:46:51 <avih> i understand. i don't know. i think a combination of both would get the advantage of both?
00:46:58 <esolangs> [[Luau]] N https://esolangs.org/w/index.php?oldid=168535 * Sawyer.go0923 * (+426) Created page with "Luau is not an esoteric programming language. To check it out, go to the [https://en.wikipedia.org/wiki/Luau_(programming_language) Wikipedia page] or [https://luau.org luau website]. ==See also== * [https://en.wikipedia.org/wiki/Luau_(programming_language) Luau] * [[
00:47:07 <ais523> it seems possible
00:48:11 <avih> but it _really_ surprised me that PGO over a single switch was nowhere near if-else tree. like, really.
00:49:07 <ais523> PGO is probably just checking the probabilities of each case of the switch, and if all of them are below 50%, it probably didn't change the codegen at all
00:49:24 <avih> and the switch was as "optimized" as it can be for PGO to assess it correctly. less than 10 cases, all of them small and end in "break", sequential values starting at 0, basically everything it could want was there, but in the end, really nowhere near.
00:49:49 <ais523> hmm, maybe the compiler is better at jump-threading the if-else tree than it is at jump-threading the switch
00:50:48 <avih> sec, let me show you the approaches.
00:51:05 <ais523> this came up in Rust, the "match in a loop" method of implementing the equivalent of a computed goto is the best option Rust has atm, but it optimises poorly, and apparently that's because LLVM can't jump-thread properly through a match/switch in a loop (which is apparently because, although the code for that exists, it's too slow to turn on by default)
00:51:11 <int-e> ais523: I'm afraid to ask what multi-threaded code might be then (scnr)
00:51:26 <ais523> int-e: this is an unfortunate clash of names
00:51:49 <int-e> we're so bad at terminology (we = humanity, collectively)
00:52:27 <ais523> I like trying to do simplifications that cross multiple levels of abstraction, but they are often hard to talk about because different levels use the same term to mean different things
00:53:34 <avih> https://0.vern.cc/B.txt
00:53:46 <ais523> "capability" has been coming up quite a bit recently, it means three different things that are relevant to the things I'm trying to reason about (and a fourth that isn't directly relevant but could be)
00:54:24 <ais523> avih: right, this is probably an issue with jump threading
00:54:36 <avih> "this"?
00:54:57 <ais523> actually no, the compiler isn't likely to be looking at *pc
00:55:03 <ais523> so jump threading wouldn't help
00:55:43 <avih> i would think it just needs to find out the probabilities of each case.
00:56:23 <ais523> you might want to look at the machine code to see how it differs
00:56:36 <avih> i ran few bf programs, big and small, and noticed that the probabilities, at least with my instructions set, are largely similar
00:56:49 <ais523> I don't think PGO would help the switch/case much because it's likely to compile into the same jump table regardless of the probabiities, unless they're extremely skewed
00:57:15 <avih> so that's how i constructed my if-else tree. it could differ with others though. e.g. in my case ADD also does zero.
00:58:00 <ais523> now I'm wondering how much work a truly branchless BF interpreter would be
00:58:19 <avih> ais523: yeah, i did want to check what it generates, but didn't get to that yet. but suffice is to say that neither gcc not clang got anywhere near with PGO. but clang got closer than gcc.
00:59:17 <avih> ais523: surely it would not be possible?
00:59:39 <avih> well.. i think it would not be possible
00:59:58 <ais523> it should definitely be possible (except for I/O which doesn't really need optimising because it's so slow naturally), a non-optimizing interpreter could represent each opcode by amount to add to current tape element, amount to add to tape pointer, amount to add to instruction pointer if current tape element is nonzero
01:00:15 <ais523> that only contains one "if" which could be replaced by a conditional select
01:00:19 <avih> but it is one of the things my code tries to minimize. almost no branching inside each of the instructions code do_XXX
01:00:50 <avih> like, input checks for EOF, but that's almost it.
01:00:50 <esolangs> [[ErrorFull]] https://esolangs.org/w/index.php?diff=168536&oldid=146279 * Sawyer.go0923 * (+400)
01:01:15 <ais523> your , and . will have a lot of branches inside the standard library routines you call into to do the I/O
01:01:24 <avih> the code which runs the most if by far the instructions selector
01:01:41 <avih> is*
01:02:17 <avih> sure, but that's out of my control, at least until (if) i merge consecutive outputs into one
01:02:42 <avih> i did try that btw. implement line buffer inside the interpreter. nearly zero impact.
01:02:53 <ais523> that isn't surprising
01:02:58 <ais523> , and . don't run often enough to need optimising
01:03:04 <avih> well, not even nearly. i couldn't measure a diff.
01:03:24 <avih> exactly. they're not the bottleneck.
01:04:01 <ais523> programming for when I/O is the bottleneck is really weird and significantly different from normal programming
01:04:36 <ais523> so I wouldn't worry about trying to micro-optimize I/O too much, when it's worth it your whole program changes
01:04:57 <avih> so to get the fastest, it needs to minimize the code and branching to reach the next instruction code. and the if-else tree does part of it, the fact that the main loop doesn't have a stop condition is another (a specific instruction stops it - not testing the stop condition on every instruction)
01:05:44 <ais523> I think that's almost equivalent, the advantage to the specific instruction is that it can be on the inside of the if-else tree rather than the outside
01:06:15 <avih> exactly. branch prediction makes it slow, but who cares
01:06:25 <avih> (i.e. exit)
01:07:10 <avih> but i didn't actually check a loop of: for (; is_exit; pc++). from the initial version my main loop was without a stop condition.
01:08:19 <ais523> <ais523> it means three different things ← in case someone in the logs asks, I'll give the answer pre-emptively in advance: capability bits of a pointer that specify the range it can access; object-capabilities; "capability passing style" in which the ability to do exclusive access to a piece of memory is passed into a function and returned from that function rather than being borrowed; and the fourth is Linux capabilities which split up the various
01:08:21 <ais523> aspects of being root
01:08:32 <ais523> anyway, I should go
01:08:33 <ais523> night
01:08:42 -!- ais523 has quit (Quit: quit).
01:09:27 <avih> :) night
01:23:29 <esolangs> [[WORST]] N https://esolangs.org/w/index.php?oldid=168537 * Sawyer.go0923 * (+6129) Created page with "{{Infobox language | name = WORST | year = 2025 | designer = User:Creator | website = | paradigm = Esoteric, intentionally hostile | license = Public domain }} '''WORST''' is an esoteric programming language designed to be as unpleasant, counter-intuitive, and err
01:35:20 <esolangs> [[WORST]] https://esolangs.org/w/index.php?diff=168538&oldid=168537 * Sawyer.go0923 * (-162)
01:52:08 <esolangs> [[Esolang talk:Community portal]] https://esolangs.org/w/index.php?diff=168539&oldid=166844 * NTMDev * (+40)
01:52:20 <esolangs> [[Esolang talk:Community portal]] https://esolangs.org/w/index.php?diff=168540&oldid=168539 * NTMDev * (+17) /* Discord */
01:57:40 <esolangs> [[Esolang talk:Community portal]] https://esolangs.org/w/index.php?diff=168541&oldid=168540 * Aadenboy * (+331)
02:21:08 -!- simcop2387 has joined.
02:25:10 -!- perlbot has joined.
02:32:37 -!- 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).
02:42:37 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168542&oldid=168527 * NTMDev * (+507) /* sort */
02:44:11 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168543&oldid=168542 * NTMDev * (+89) /* String Checkers */
02:44:43 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168544&oldid=168543 * NTMDev * (+56) /* String Checkers */
02:48:35 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168545&oldid=168544 * NTMDev * (+482) /* String Checkers */
02:52:14 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168546&oldid=168545 * NTMDev * (+158)
04:15:30 <esolangs> [[Resubmit]] https://esolangs.org/w/index.php?diff=168547&oldid=168237 * Yayimhere2(school) * (+86) /* Semantics */
04:15:46 <esolangs> [[Resubmit]] https://esolangs.org/w/index.php?diff=168548&oldid=168547 * Yayimhere2(school) * (-6) /* Semantics */
04:37:40 -!- b_jonas has quit (Ping timeout: 256 seconds).
04:37:55 <esolangs> [[Bitty]] https://esolangs.org/w/index.php?diff=168549&oldid=168192 * Nomnomnom * (+159) added comptational class
05:23:05 -!- impomatic has quit (Ping timeout: 250 seconds).
05:53:22 -!- int-e_ has joined.
05:53:36 -!- op_4_ has joined.
05:54:17 -!- pool2 has joined.
05:56:41 -!- pool has quit (Ping timeout: 256 seconds).
05:56:41 -!- perlbot has quit (Ping timeout: 256 seconds).
05:56:41 -!- int-e has quit (Ping timeout: 256 seconds).
05:56:41 -!- op_4 has quit (Ping timeout: 256 seconds).
05:56:41 -!- slavfox has quit (Ping timeout: 256 seconds).
05:56:41 -!- pool2 has changed nick to pool.
05:56:43 -!- op_4_ has changed nick to op_4.
05:56:43 -!- Melvar has quit (Ping timeout: 256 seconds).
05:58:15 -!- slavfox has joined.
05:59:23 -!- perlbot has joined.
06:10:31 -!- Melvar has joined.
06:22:05 -!- pool has quit (Read error: Connection reset by peer).
06:24:12 -!- pool has joined.
06:38:27 -!- impomatic has joined.
06:47:00 <esolangs> [[Sorted!]] https://esolangs.org/w/index.php?diff=168550&oldid=38970 * Tpaefawzen * (+84) /* External resources */ +1
06:59:52 <esolangs> [[JUSTIF]] https://esolangs.org/w/index.php?diff=168551&oldid=91381 * Tpaefawzen * (+58) /* External resources */ +1
07:53:01 <esolangs> [[Vixen]] https://esolangs.org/w/index.php?diff=168552&oldid=166918 * Corbin * (+5) /* Core */ Clean up quotation marks.
07:58:48 <esolangs> [[Vixen]] https://esolangs.org/w/index.php?diff=168553&oldid=168552 * Corbin * (+401) /* Objects */ More precisely explain parents and delegation as well as the asterisk convention.
08:06:57 -!- impomatic has quit (Quit: Client closed).
08:10:56 <esolangs> [[Vixen]] M https://esolangs.org/w/index.php?diff=168554&oldid=168553 * Corbin * (+0) /* Cloning */ Fix flag to execlineb. Yes, it almost doesn't matter. Yes, it can be the cause of subtle bugs when chaining calls.
08:26:21 -!- Sgeo has quit (Read error: Connection reset by peer).
08:31:27 -!- tromp has joined.
09:45:09 -!- Taneb has joined.
10:17:49 <APic> Hi
10:33:52 -!- impomatic has joined.
10:51:32 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168555&oldid=168451 * C++DSUCKER * (+40) I changed my mind, the langauge should no longer be allowed to be recursive. i wil add a finite recursion operator.
10:53:21 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:55:02 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168556&oldid=168555 * C++DSUCKER * (+9)
11:02:01 -!- tromp has joined.
11:15:53 -!- impomatic has quit (Quit: Client closed).
11:34:29 -!- int-e_ has changed nick to int-e.
11:53:42 -!- Everything has joined.
12:32:21 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:36:27 -!- Taneb has quit (Ping timeout: 252 seconds).
12:44:04 -!- Taneb has joined.
12:48:46 -!- tromp has joined.
13:18:32 <avih> int-e: i managed to improve my COND (==1) so that: 1. one '-' and one '+' instead of two of each. 2. restore the original value before entering the COND block. 1/2 combined is less complex (easier to document) and less moves/instructions (-4 chars). i think i'm now reasonably happy with it (bottom version). i said i really like your "one COND" approach... https://0x0.st/KfTu.txt
13:20:34 <avih> cheers
13:22:43 -!- pool has quit (Read error: Connection reset by peer).
13:23:10 -!- pool has joined.
13:31:31 -!- ais523 has joined.
13:38:58 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:05:55 -!- tromp has joined.
14:22:34 -!- impomatic has joined.
14:26:55 -!- impomatic has quit (Ping timeout: 250 seconds).
14:44:02 <esolangs> [[Luau]] https://esolangs.org/w/index.php?diff=168557&oldid=168535 * Sawyer.go0923 * (+4)
15:06:24 -!- Taneb has quit (Ping timeout: 244 seconds).
15:16:53 -!- wob_jonas has joined.
15:22:53 -!- pool has quit (Read error: Connection reset by peer).
15:23:11 <wob_jonas> ais523: re match in a loop optimizes badly, that sounds omnious because I want to compile Enchain into C (or C++) switch in a loop. this works better in C than in Rust because C switch has fallthrough between a cases, so when the Enchain code has a conditional jump it compiles to setting a variable to the target then a conditional break.
15:24:56 -!- pool has joined.
15:32:21 <wob_jonas> normally you'd just compile into if{goto} in C. I was thinking of a switch because for some reason I put it into my head that I want to allow nested functions and that you should be able to goto out from a function, so when that happens the compiled C function would return an integer telling the label to jump to, or zero to continue execution
15:32:22 <wob_jonas> normally. this is almost certainly a bad idea, I shouldn't do it, I don't think my original motivation for it is valid, and even if I do allow it it would be easier to just add a small switch{goto} at every call side of such a function, because most nested functions that you write in practice will have only very few jump targets.
15:35:30 <ais523> wob_jonas: you can avoid the performance penalty by manually using gotos between the switch arms rather than going round the loop
15:35:43 <ais523> even if the switch and loop exist, nothing forces you to use them, you can just goto instead
15:36:42 <wob_jonas> exactly, and I shouldn't use the looped switch at all, I should just compile to goto, if{goto}, switch{goto} in C.
15:37:09 <wob_jonas> if I don't use the case labels then I don't need the switch in first place
15:38:16 -!- wob_jonas has quit (Quit: Client closed).
15:38:29 -!- wob_jonas has joined.
15:38:52 <wob_jonas> the switch would be needed if I allowed jumps with runtime-computed targets, which I probably could do but probably shouldn't do. I should make all label values compile-time constants.
15:39:11 <wob_jonas> I mean all label values in Enchain compile-time consants.
15:40:17 <wob_jonas> ok, so then the big looped switch for the whole function body is just a bad idea that I confused myself into
15:40:38 <ais523> fwiw I don't know why compilers find it hard to optimise a loop-switch where an arm specifies a value for the switch constant on the next iteration into a direct goto between branches
15:40:58 <ais523> I've been told it's hard to get that particular optimisation to run efficiently, but don't know why
15:46:32 <wob_jonas> ais523: I was told that rust doesn't have a goto built-in because it would be hard to teach the old lifetime checker to handle it correctly, but the old lifetime checker isn't even around anymore so I'm not sure that applies. But at least even if goto is easy to compile in C, if you want to compile it in C++ the compiler has to figure out which
15:46:32 <wob_jonas> local variables to destroy (and prove that no local variables have to be initialized, that would be a compile error). I imagine there might be a similar but harder problem in rust, because in general the compiler has to update the initialized flags for all local variables, and it's very important that the compiler understands the control flow well
15:46:33 <wob_jonas> enough that it can completely optimize out initialized flags or their updates almost all the time.
15:47:25 <ais523> the current plans for Rust is to have some way to mark the end of a branch of a loop-switch to say that it's actually meant to be compiled as a goto
15:47:34 <ais523> err, a loop-match
15:48:16 <ais523> so that all the borrow checking, drop flags, etc. can be done on the loop-match and then all that changes is the code generation
15:48:45 <wob_jonas> oh yeah, "drop flags" is what they're called
15:55:27 <wob_jonas> ais523: I don't think that works. I thought the problem was that the liveness checker needs to understand goto to understand arbitrary control flow involving goto, because if it's phrased as loop-switch then the necessary information is hidden in some state variable of whose value the liveness checker doesn't need to track.
15:56:08 <ais523> wob_jonas: well there may be false positives (i.e. programs that would be sound but are rejected) doing it this way, but that doesn't create any soundness holes
15:56:24 <wob_jonas> sure
15:56:57 <wob_jonas> but then couldn't it also create cases when the compiler doesn't optimize away drop flags properly for the same reason?
15:58:17 <ais523> wob_jonas: possibly but I don't think that's seen as an issue
15:59:08 <wob_jonas> since gotos and conditional gotos (as well as function calls and function returns) are the main form of control flow in Enchain, I want the typechecker to understand the control flow, as in for each point statement I want to know what the next statement executed after it can be. this is why I shouldn't have computed gotos (or function pointers),
15:59:08 <wob_jonas> those make the control flow almost impossible to follow.
16:00:08 <wob_jonas> and the control flow graph seems an easier abstraction to understand than the high-level control structures like if/while anyway
16:09:20 -!- wob_jonas has quit (Quit: Client closed).
16:23:02 -!- pool has quit (Read error: Connection reset by peer).
16:24:15 <esolangs> [[Iterate/Math]] https://esolangs.org/w/index.php?diff=168558&oldid=168500 * Aadenboy * (-425) turning these into modules
16:24:57 -!- pool has joined.
16:28:55 <esolangs> [[!frjnrehrbwgyrigbyieurgbyfaerkhbvrwgtr.]] https://esolangs.org/w/index.php?diff=168559&oldid=168532 * Yayimhere2(school) * (+5) correct comp class
16:29:22 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
16:31:28 -!- Lord_of_Life has joined.
16:33:14 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168560&oldid=168546 * NTMDev * (-5) /* = */
16:40:59 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168561&oldid=168560 * NTMDev * (+833) /* String Operations 2 */
16:44:42 -!- pool has quit (Ping timeout: 256 seconds).
16:53:20 -!- pool has joined.
16:58:37 -!- impomatic has joined.
17:26:06 <esolangs> [[Iterate/Math]] https://esolangs.org/w/index.php?diff=168562&oldid=168558 * Aadenboy * (-727) fixes
17:36:32 -!- impomatic has quit (Quit: Client closed).
17:47:30 -!- amby has joined.
17:51:22 -!- impomatic has joined.
17:55:12 -!- sytra has joined.
18:25:03 <esolangs> [[Iterate/Compilation]] https://esolangs.org/w/index.php?diff=168563&oldid=168510 * Aadenboy * (+518) extra
18:28:04 -!- b_jonas has joined.
18:31:24 <b_jonas> ok, so there's a big problme with what I thought about Enchain gotos. we can't just have labels behave as zero-sized values whose types encode their label, because then figuring out the possible control flow and typechecking would mutually depend on each other. there are restricted versions of this that could work, but I have to figure out which, if any, are checkable at compile time, expressive enough,
18:31:30 <b_jonas> and don't feel kludgey like labels are completely unrelated to names. thank you #esolangs in the role of rubber duck.
18:43:31 -!- amby has quit (Read error: Connection reset by peer).
19:06:30 -!- impomatic49 has joined.
19:06:35 -!- amby has joined.
19:08:09 -!- impomatic has quit (Ping timeout: 250 seconds).
19:15:26 -!- tromp has quit (Read error: Connection reset by peer).
19:23:18 -!- pool has quit (Read error: Connection reset by peer).
19:23:42 -!- pool has joined.
19:35:47 -!- sytra has quit (Quit: sytra).
19:54:19 -!- sytra has joined.
20:00:13 <esolangs> [[Iterate/Math]] https://esolangs.org/w/index.php?diff=168564&oldid=168562 * Aadenboy * (+547) /* Logic */
20:23:24 -!- pool has quit (Read error: Connection reset by peer).
20:23:42 -!- pool has joined.
20:37:54 -!- impomatic49 has quit (Quit: Client closed).
20:38:25 -!- Everything has quit (Quit: Lost terminal).
20:40:44 <esolangs> [[G Sharp]] M https://esolangs.org/w/index.php?diff=168565&oldid=154461 * Ractangle * (-54) /* Functions */
20:41:28 <esolangs> [[G Sharp]] https://esolangs.org/w/index.php?diff=168566&oldid=168565 * Ractangle * (-5) /* Truth-machine */
20:42:38 <esolangs> [[Iterate/Math]] https://esolangs.org/w/index.php?diff=168567&oldid=168564 * Aadenboy * (+430)
20:42:52 <esolangs> [[Iterate/Math]] M https://esolangs.org/w/index.php?diff=168568&oldid=168567 * Aadenboy * (+2) /* Minimum/maximum of A and B */ h3
20:45:23 <esolangs> [[G Sharp]] M https://esolangs.org/w/index.php?diff=168569&oldid=168566 * Ractangle * (+260) /* Functions */
20:47:23 <esolangs> [[True (Ractangle)]] M https://esolangs.org/w/index.php?diff=168570&oldid=163114 * Ractangle * (-149) /* Infinite loop */
20:48:23 <esolangs> [[GTA6]] M https://esolangs.org/w/index.php?diff=168571&oldid=168481 * Ractangle * (-1)
21:21:37 -!- impomatic has joined.
21:37:37 <APic> Good Night * 😴
21:43:45 -!- JAA has changed nick to jinn7.
21:43:59 -!- jinn7 has changed nick to JAA.
21:58:49 -!- ais523 has quit (Quit: quit).
22:05:19 <esolangs> [[Iterate/Math]] https://esolangs.org/w/index.php?diff=168572&oldid=168568 * Aadenboy * (+221) /* If else */
22:09:40 -!- sytra has quit (Remote host closed the connection).
22:12:45 -!- impomatic has quit (Quit: Client closed).
22:36:57 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168573&oldid=168512 * Buckets * (+13)
22:37:53 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168574&oldid=168513 * Buckets * (+14)
22:38:12 <esolangs> [[BeeJazz]] N https://esolangs.org/w/index.php?oldid=168575 * Buckets * (+1783) Created page with "BeeJazz is an Esoteric Programming language created By [[User:Buckets]] in 2020, after They watched [https://en.wikipedia.org/wiki/Bee_Movie / A Certain Movie featuring bees And jazz.] {| class="wikitable" |- ! Commands !! Instructions |- | B || Assign The current hexe
22:38:33 <esolangs> [[BeeJazz]] M https://esolangs.org/w/index.php?diff=168576&oldid=168575 * Buckets * (-2)
22:39:00 <esolangs> [[110010000100110110010]] https://esolangs.org/w/index.php?diff=168577&oldid=147808 * Kaveh Yousefi * (+614) Added a hyperlink to my implementation of the 110010000100110110010 programming language on GitHub and altered the Unimplemented tag to Implemented.
22:44:58 -!- DOS_User_webchat has joined.
23:10:18 -!- pool has quit (Read error: Connection reset by peer).
23:10:41 -!- pool has joined.
23:13:03 -!- DOS_User_webchat has quit (Remote host closed the connection).
23:15:48 -!- pool has quit (Read error: Connection reset by peer).
23:15:55 -!- pool6 has joined.
23:30:42 -!- Sgeo has joined.
23:47:25 <avih> int-e: "if (==0) BODY":
23:47:25 <avih> int-e (3 tmps): >+<[>->]>[>>]<<[-< BODY >]<
23:47:25 <avih> avih (2 tmps): >+<[>-]>[-< BODY >>]<<
23:50:08 <avih> and this can also be used with your 1-COND while loop, resulting in much much shorter code, which can still be used as a generic template (in my case COND is (==1), which does need 2 '-' and 2 '+')
23:51:03 <avih> (i do need both "if (==0) BODY" and "while (==1) BODY")
23:56:24 <avih> the "trick" to use only 2 tmps is that the BODY "if" is also unbalanced.
23:57:42 <avih> well, both have 2 unbalanced while/end, but with two tmps the other one is instead together with BODY.
2025-11-18
00:20:14 -!- ajal has joined.
00:20:25 -!- amby has quit (Ping timeout: 264 seconds).
00:30:44 -!- chiselfuse has quit (Remote host closed the connection).
00:30:59 -!- chiselfuse has joined.
00:32:00 -!- ajal has quit (Ping timeout: 245 seconds).
00:32:10 -!- amby has joined.
00:34:12 <int-e> avih: Right, you can use one space less if you don't want to store result of the != 0 comparison anywhere.
00:35:05 <avih> yeah, my requirement is "if (==0) BODY" not "store (==0) someplace"
00:35:51 <avih> though i think this approach should work for that as well
00:38:23 <avih> as in >+<[>->]<<
00:38:43 <avih> err... not sure..
00:38:44 <int-e> you'd end up with >+<[>->]>[>>]<<<
00:39:00 <avih> i guess...
00:39:10 <int-e> which should look vaguely familar :P
00:39:45 <avih> lol
00:39:49 <avih> i think you're right
00:40:05 <int-e> Anyway, this is more of an idea than a fixed code pattern to me; I tend to consider various positions for landing pads and useful data and see what's shortest.
00:40:18 <int-e> All part of having dozens of variations of the code.
00:41:39 <avih> right. i'm more interested in having a catalog of patterns, but it doesn't mean there's no overlap. each case is a puzzle, but once solved, hopefully it's applicable elsewhere too
00:42:23 <int-e> the important thing is to have fun
00:42:33 <avih> i would _think_ that a pattern for "if (==X) BODY" and "while (==X) BODY" should be reusable
00:42:36 <avih> :)
00:43:59 <avih> in contrast to, i think, pattern i've seen more often of "if (!=X) BODY", and the same with while, but these are much simpler to code.
00:49:36 <avih> btw, i did look at bfmacro to see if/how if solves it. i don't think it does. its macros are useful but largely trivial. it just composes them together which can save a lot of headache, but not the kind which is needed to implement "if (==X) BODY" (without changing the cell).
00:51:13 <avih> both its "if" and "while" are destructive. if you don't want that, good lock finding a solution on your own.
00:51:27 <avih> luck*
00:51:56 <avih> (but you do have a macro to make a copy and use that)
00:53:39 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=168578&oldid=168447 * None1 * (-707)
00:53:56 <int-e> avih: https://esolangs.org/wiki/Asm2bf is a more serious BF generator
00:54:16 <esolangs> [[ALEFL]] N https://esolangs.org/w/index.php?oldid=168579 * None1 * (+2652) Created page with " '''ALEFL''' ('''A'''lpha-'''L'''ess '''E'''xception&'''F'''unction '''L'''anguage) is an esolang invented by [[User:None1]]. Just like its name, it uses no letters and control flow is done by exception and functions. ==Features== ===Type system=== There are only 2 types in
00:54:32 <avih> int-e: interesting. thx
00:54:41 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=168580&oldid=168578 * None1 * (+8)
00:55:32 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=168581&oldid=168574 * None1 * (+12) /* A */
01:01:11 <esolangs> [[Interpret Esolangs Online]] https://esolangs.org/w/index.php?diff=168582&oldid=166988 * None1 * (+39)
01:01:35 <esolangs> [[Interpret Esolangs Online]] M https://esolangs.org/w/index.php?diff=168583&oldid=168582 * None1 * (+3) used the correct word
01:05:55 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=168584&oldid=165925 * None1 * (+79)
01:10:05 <avih> int-e: actually: >+<[>-]>[>]<< so either the 1st or the 2nd are entered, one of them zeroes the ==0 cell, the other doesn't
01:11:10 <korvo> avih: Well, the standard tools are available, but they look more like `dup X = if BODY then` and `begin BODY dup X = until`; Brainfuck's model is not about preserving the contents of variable locations.
01:11:39 <esolangs> [[ALEFL]] https://esolangs.org/w/index.php?diff=168585&oldid=168579 * None1 * (+25)
01:12:04 <avih> korvo: right, but the mental model of the dev is
01:12:34 <avih> so something has to interface it. a copy is indeed a solution in such case
01:12:37 <esolangs> [[SLet]] https://esolangs.org/w/index.php?diff=168586&oldid=167151 * None1 * (+300) /* Implementation */
01:13:06 <esolangs> [[SLet]] M https://esolangs.org/w/index.php?diff=168587&oldid=168586 * None1 * (+465) /* Implementation */
01:13:30 <esolangs> [[SLet]] https://esolangs.org/w/index.php?diff=168588&oldid=168587 * None1 * (-229) /* Implementation */
01:13:53 <avih> well, at lease the general development mental model is non-destructive. but it's possible that "serious bf devs" do think in bf
01:15:45 -!- pool6 has quit (Read error: Connection reset by peer).
01:16:22 <korvo> I'm mostly thinking in Forth-like stack idioms. bfmacro was a non-trivial part of programs like https://github.com/MostAwesomeDude/bb-gauge/blob/main/bfm/laver.bfm which were originally written for stack automata.
01:16:49 <avih> i don't know Forth...
01:17:42 -!- pool has joined.
01:38:59 <korvo> No worries. It's rare today. Used to be rare too. Still is.
01:45:11 <avih> :)
01:45:58 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168589&oldid=168561 * NTMDev * (-23)
01:49:04 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168590&oldid=168589 * NTMDev * (+399) /* Formatting strings */
02:02:16 -!- 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).
02:06:12 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168591&oldid=168590 * NTMDev * (+1754) /* Max and Min */
02:06:43 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168592&oldid=168591 * NTMDev * (-3) /* = */
02:07:28 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168593&oldid=168592 * NTMDev * (+12) /* Getting Started */
02:09:16 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168594&oldid=168593 * NTMDev * (+266) /* Formatting strings */
02:10:19 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168595&oldid=168594 * NTMDev * (-4) /* Slicing = */
02:15:31 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168596&oldid=168595 * NTMDev * (+556) /* Filtering (based on Condition) */
02:15:56 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168597&oldid=168596 * NTMDev * (+4) /* Filtering (based on Function) */
02:19:34 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168598&oldid=168597 * NTMDev * (+438) /* Splitting a String */
02:20:05 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168599&oldid=168598 * NTMDev * (+10) /* Print */
02:20:25 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168600&oldid=168599 * NTMDev * (-160) /* Print */
02:23:27 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168601&oldid=168600 * NTMDev * (+518) /* Bugs */
02:24:25 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168602&oldid=168601 * NTMDev * (+152) /* Bugs */
02:24:50 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168603&oldid=168602 * NTMDev * (+12) /* Bugs */
02:27:14 -!- Melvar has quit (Ping timeout: 256 seconds).
02:35:58 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=168604&oldid=168526 * NTMDev * (+197)
02:40:08 -!- Melvar has joined.
02:41:06 <esolangs> [[Main Page]] M https://esolangs.org/w/index.php?diff=168605&oldid=168604 * Corbin * (-197) Undo revision [[Special:Diff/168604|168604]] by [[Special:Contributions/NTMDev|NTMDev]] ([[User talk:NTMDev|talk]]): Wikis are foundationally oriented around the principle that user edits are quick (Hawaiian: "wiki wiki") to appear for everybody. Like most wikis, we rely on co
03:11:43 <zzo38> The Minsky (nearly) circle algorithm can be made as a Matrix as [1,-epsilon;epsilon,1-epsilon^2]. If you set epsilon=i then you can make Fibonacci numbers.
05:16:13 -!- pool has quit (Read error: Connection reset by peer).
05:18:13 -!- pool has joined.
05:44:19 <esolangs> [[110010000100110110010]] https://esolangs.org/w/index.php?diff=168606&oldid=168577 * Yayimhere2(school) * (-9) not a stub
05:50:50 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168607&oldid=134565 * Yayimhere2(school) * (+9)
05:51:43 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168608&oldid=167950 * PhiPhiPHIpHi * (-61)
05:52:44 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168609&oldid=168607 * Yayimhere2(school) * (-12) /* syntax */
06:16:21 -!- pool has quit (Read error: Connection reset by peer).
06:18:17 -!- pool has joined.
06:40:44 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=168610&oldid=167918 * None1 * (+179) Explain why it isn't ambiguous
06:54:31 <esolangs> [[Readable]] https://esolangs.org/w/index.php?diff=168611&oldid=168610 * None1 * (+252) /* Commands */
06:55:55 <esolangs> [[Readable]] https://esolangs.org/w/index.php?diff=168612&oldid=168611 * None1 * (+223) Added Python interpreter and implemented category tag
06:57:16 <esolangs> [[Deadfish/Implementations (M-Z)]] https://esolangs.org/w/index.php?diff=168613&oldid=162603 * None1 * (+2289) /* Raku */ Add Readable implementation of deadfish
07:00:13 <esolangs> [[Hello world program in esoteric languages (N-S)]] https://esolangs.org/w/index.php?diff=168614&oldid=166421 * None1 * (+346) /* RASEL */ Add Readable implementation
07:01:37 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=168615&oldid=168584 * None1 * (+0) /* My Esolangs */
07:49:28 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168616&oldid=168608 * PhiPhiPHIpHi * (+2122)
07:50:22 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168617&oldid=168616 * PhiPhiPHIpHi * (+1)
07:55:16 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168618&oldid=168617 * PhiPhiPHIpHi * (+404)
08:01:43 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168619&oldid=168618 * PhiPhiPHIpHi * (+174)
08:36:05 -!- Sgeo has quit (Read error: Connection reset by peer).
09:26:54 -!- msv has quit (Remote host closed the connection).
09:31:43 -!- ais523 has joined.
09:56:31 <APic> Hi
09:56:34 <APic> Moin ais523 ☺
09:57:54 <ais523> morning APic
09:58:01 <APic> 😌
10:24:53 <b_jonas> zzo38: that seems correct, but it gives only every other Fibonacci number, so you might want to use the matrix [1,1;1,0] instead, as suggested by Concrete Mathematics
10:26:55 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168620&oldid=168609 * Yayimhere2(school) * (+32) /* overview */
10:28:40 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168621&oldid=168620 * Yayimhere2(school) * (+1) /* syntax */
12:16:52 -!- pool has quit (Read error: Connection reset by peer).
12:17:19 -!- pool has joined.
12:36:15 -!- wob_jonas has joined.
12:51:06 <wob_jonas> `python3 -cimport numpy as np; print(np.linalg.eig(np.float64([[0,1],[1,1]]))[0]) # one step of Fibonacci
12:51:08 <HackEso> ​[-0.61803399 1.61803399]
12:51:21 <wob_jonas> `python3 -cimport numpy as np; print(np.linalg.eig(np.float64([[0,1],[1,1]]))[0]**2) # two steps of Fibonacci
12:51:24 <HackEso> ​[0.38196601 2.61803399]
12:51:40 <wob_jonas> `python3 -cimport numpy as np; epsilon=1j; print(np.linalg.eig(np.complex128([[1,-epsilon],[epsilon,1-epsilon**2]]))[0]) # also two steps of Fibonacci
12:51:42 <HackEso> ​[0.38196601+0.j 2.61803399+0.j]
13:01:20 <wob_jonas> `python3 -cimport numpy as np, itertools as it; print([float(p[1,1]) for p in it.accumulate(it.repeat(np.float64([[0,1],[1,1]]),28),np.matmul)])
13:01:22 <HackEso> ​[1.0, 2.0, 3.0, 5.0, 8.0, 13.0, 21.0, 34.0, 55.0, 89.0, 144.0, 233.0, 377.0, 610.0, 987.0, 1597.0, 2584.0, 4181.0, 6765.0, 10946.0, 17711.0, 28657.0, 46368.0, 75025.0, 121393.0, 196418.0, 317811.0, 514229.0]
13:03:10 <wob_jonas> literal oeis
13:03:14 <wob_jonas> fact literal oeis
13:03:20 <wob_jonas> argh
13:26:02 <ais523> @oeis 1,2,3,5,8,13,21,34,55
13:26:02 <lambdabot> Sequence not found.
13:26:13 -!- wob_jonas has quit (Ping timeout: 250 seconds).
13:28:39 <fizzie> Such an obscure sequence, not even OEIS has heard of it.
13:28:45 <esolangs> [[MultiScript]] N https://esolangs.org/w/index.php?oldid=168622 * PrySigneToFry * (+4241) Created page with "MultiScript is designed by PSTF inspired from [[]]. Inspired by a problem from the 'Algorithm Training Camp,' I created this language. = Intro = As the name shown, MultiScript is multi-threaded. Each program has at least one and at most five threads. For ea
13:30:02 <fizzie> Oh, oeis.org gives a 500 in the browser too. "There is an internal server error on Cloudflare's network."
13:30:28 <fizzie> I guess I completely missed a huge Cloudflare outage.
13:31:31 <int-e> . o O ( Number 2 single point of failure provider for the Internet. )
13:31:47 <fizzie> What's #1, AWS?
13:31:56 <int-e> yeah
13:37:35 <fizzie> Here's something I don't like: this thing companies have nowadays of just reusing the same product name, and maybe adding a (non-visible) "generation" or "edition" disambiguator somewhere.
13:37:39 <fizzie> I'm trying to find the ports on these monitors without the incredible hassle of actually looking underneath, and they report themselves as "HP Z27n", but the first HP support specs page is clearly for a newer edition.
13:38:42 <fizzie> Apparently there's a "G2" and a "G3" but what I've got is the first-gen, no-G model.
13:39:12 <fizzie> (Managed to find it eventually, just had to use an external search engine rather than the HP support site's one.)
13:39:20 <int-e> zero G :)
13:40:02 <fizzie> The "full specifications" don't actually mention what inputs it has, that's pretty amazing.
13:40:16 <fizzie> "Ports: 4 USB 3.0 (four downstream and one upstream); 1 audio output".
13:40:53 <fizzie> At least it's arsenic-free, that's good.
13:42:45 <int-e> DDG found a third-party site that lists more, no clue how they source the infor though: https://www.displayspecifications.com/en/model/8c77109f
13:43:14 <int-e> also they say 2 USB upstreams which is weird
13:45:31 <fizzie> The on-screen input selector menu lists "DisplayPort 1", "DisplayPort 2", "DVI" and "MHL / HDMI", so that page's probably correct as far as the inputs go.
13:46:22 <fizzie> Dunno about USB upstreams. I guess it could make sense as a built-in KVM of sorts, if it also allowed to configure which upstream port goes with which output. But I only remember one hole down there when wiring these up.
13:47:03 <int-e> <3 https://jp.ext.hp.com/content/dam/jp-ext-hp-com/jp/ja/ec/lib/jp/ja/products/workstations/monitor/z27n_datasheet.pdf
14:11:43 -!- ais523 has quit (Quit: sorry about my connection).
14:39:55 -!- pr1sm has joined.
14:40:47 <esolangs> [[Iterate]] https://esolangs.org/w/index.php?diff=168623&oldid=168517 * Aadenboy * (+53)
14:40:59 <esolangs> [[Special:Log/move]] move * Aadenboy * moved [[Iterate/Math]] to [[Iterate/Library\]]
14:41:07 <esolangs> [[Special:Log/move]] move * Aadenboy * moved [[Iterate/Library\]] to [[Iterate/Library]]: Misspelled title: whoops
14:41:29 <esolangs> [[Iterate/Math]] https://esolangs.org/w/index.php?diff=168628&oldid=168625 * Aadenboy * (-1) fix redirect
14:44:31 <esolangs> [[Iterate/Library]] https://esolangs.org/w/index.php?diff=168629&oldid=168626 * Aadenboy * (+515)
14:57:09 <esolangs> [[Iterate/Floating-point]] https://esolangs.org/w/index.php?diff=168630&oldid=168318 * Aadenboy * (+4284) reimplement
15:08:24 -!- zzo38 has quit (*.net *.split).
15:16:17 -!- wob_jonas has joined.
15:20:56 -!- Everything has joined.
15:24:06 -!- ais523 has joined.
15:24:31 <ais523> <fizzie> I guess I completely missed a huge Cloudflare outage. ← yep, big Cloudflare outage happening today, it's affecting most of the Internet I think
15:24:40 <ais523> or, well, all the cloudflare-protected parts which is most of them
15:25:06 <ais523> Cloudflare's status page says they fixed it at 14:42
15:25:16 <ais523> and sites do seem to be back up now
15:26:05 <wob_jonas> is there a variant syntax for HTML where control characters are used as delimiters instead of the punctuation & < " > ]
15:26:38 <ais523> ]?
15:27:08 <ais523> also I think = is special in HTML, and occasionally ?, ! and -
15:27:16 <ais523> (and ; to end &-entities)
15:28:09 <wob_jonas> ais523: right bracket might be only for XML, in <![CDATA[text]]>
15:28:30 <ais523> oh, that reminds me, there is a rich text format that uses mostly the same control characters that terminals do, and which appears to aim to support an HTML-like set of features, but it isn't base on HTML
15:28:44 <ais523> https://en.wikipedia.org/wiki/Open_Document_Architecture
15:29:52 <ais523> nowadays it's almost completely dead, but it did inspire the codes that terminals use for 256-color and 24-bit color (although annoyingly they aren't exactly the same as the ODA codes)
15:30:17 <ais523> I don't know of anyone doing a similar principle with HTML itself, though
15:31:16 <wob_jonas> I see
15:31:54 -!- msv has joined.
15:36:05 <ais523> fwiw I think the recent Cloudflare outage might have affected more websites than the recent AWS US-East-1 ouage
15:36:23 <ais523> although the Cloudflare outage will probably have been easier/faster to recover from
15:36:40 <int-e> plausible, but AWS is leaving the building more often
15:37:54 <ais523> I'm not sure if there have been any recent or semi-recent outages that took down all of AWS at the same time
15:51:15 <avih> yeah, i think many sites i frequent were down today. more than other outages
15:58:32 <esolangs> [[Special:Log/newusers]] create * * New user account
15:59:08 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168631&oldid=168435 * * (+86)
16:00:05 <esolangs> [[User:]] N https://esolangs.org/w/index.php?oldid=168632 * * (+219) Created page with ""
16:00:14 <wob_jonas> perlbot oeis 2,3,5,8,13,21,34,55,89,144,233,377,610
16:00:32 <wob_jonas> perlbot?
16:00:48 <wob_jonas> perlbot echo 2,3,5,8,13,21,34,55,89,144,233,377,610
16:01:10 <wob_jonas> strange, it does answer in private message
16:01:21 <wob_jonas> what am I doing wrong?
16:01:28 <int-e> nothing
16:01:37 -!- ChanServ has set channel mode: -q perlbot!*@*.
16:02:28 <wob_jonas> oh
16:02:33 <wob_jonas> perlbot oeis 2,3,5,8,13,21,34,55,89,144,233,377,610
16:02:34 <perlbot> wob_jonas: http://oeis.org/searchs?q=2%2C3%2C5%2C8%2C13%2C21%2C34%2C55%2C89%2C144%2C233%2C377%2C610 A000045(1/18) Fibonacci numbers: F(n) = F(n-1) + F(n-2) with F(0) = 0 and F(1) = 1.: 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14... [Output truncated. Use `more` to read more]
16:02:43 <esolangs> [[User talk:]] N https://esolangs.org/w/index.php?oldid=168633 * * (+233) Created page with " <nowiki>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</nowiki> up up down down left right left right B A"
16:03:02 <int-e> wob_jonas: been that way for a while: https://logs.esolangs.org/libera-esolangs/2025-03-28.html#lQ ff.
16:04:17 <esolangs> [[WORST]] https://esolangs.org/w/index.php?diff=168634&oldid=168538 * * (+29)
16:04:46 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168635&oldid=168534 * * (+67) /* Tag your slop */ new section
16:06:05 <int-e> Hmm, I don't understand how that loop got started.
16:06:14 <esolangs> [[User talk:Sawyer.go0923]] https://esolangs.org/w/index.php?diff=168636&oldid=168635 * * (+83) /* Tag your slop */
16:07:51 <int-e> was it the (+ substring?
16:12:19 <wob_jonas> func oeis_r shall be ^eval substr ^quote d ^get ^eval use URI; $a=URI->new("https://oeis.org"); $a->query_form("q", ^arg d~ ); "$a"~ //div[@class="sequence"][1]//div[@class="seqnumname"] ~~, 0,280~
16:12:22 <wob_jonas> perlbot func oeis_r shall be ^eval substr ^quote d ^get ^eval use URI; $a=URI->new("https://oeis.org"); $a->query_form("q", ^arg d~ ); "$a"~ //div[@class="sequence"][1]//div[@class="seqnumname"] ~~, 0,280~
16:12:22 <perlbot> wob_jonas: Stored oeis_r shall be ^eval substr ^quote d ^get ^eval use URI; $a=URI->new("https://oeis.org"); $a->query_form("q", ^arg d~ ); "$a"~ //div[@class="sequence"][1]//div[@class="seqnumname"] ~~, 0,280~
16:13:02 <wob_jonas> perlbot oeis_r 279935,1679615,10077695,60466175
16:13:05 <perlbot> wob_jonas: A024062 a(n) = 6^n - 1.
16:13:45 <wob_jonas> oeis needn't be a built-in function of perlbot anymore, we can implement something close enough to it as a macro
16:14:20 <wob_jonas> perlbot oeis_r 4998,18321,67791,253288,952527,3603761
16:14:26 <perlbot> wob_jonas: Your Xpath didn't match anything
16:14:56 <int-e> @oeis 0,1,1,2,3,5,8,13,21,34,55
16:14:57 <lambdabot> Sequence not found.
16:15:08 <int-e> Well, I guess something broke.
16:17:38 <esolangs> [[Viktor's Divisibility Checker]] N https://esolangs.org/w/index.php?oldid=168637 * Yayimhere2(school) * (+2321) Created page with "'''Viktor's Divisibility Checker''', or just '''Viktor''' is an Esoteric Programming Language created by [[User:Yayimhere]], that checks the divisibility of different numbers in a list. It is based on a 1 register [[Minsky Machine]], as
16:22:59 <wob_jonas> perlbot oeis_r 279935,1679615,10077695,60466175
16:23:01 <perlbot> wob_jonas: A024062 a(n) = 6^n - 1.
16:23:23 <wob_jonas> I'll have to modify this to distinguish no sequence found from errors
16:25:40 <wob_jonas> the difficult part is that I still have no idea how to use Xpath.
16:27:08 -!- ChanServ has set channel mode: +o ais523.
16:27:43 <ais523> the trigger last time was someone writing -- in an edit summary, which caused esolang to post a message contianing -- in the chat and triggered perlbot: botloop--
16:27:55 <ais523> perlbot: karma botloop
16:27:56 <perlbot> ais523: botloop has karma of -1
16:28:06 <ais523> OK, so that isn't reproducing right now, at least
16:28:09 -!- ais523 has set channel mode: -o ais523.
16:28:37 <ais523> we should probaby get esolangs to ignore perlbot, though
16:28:47 <ais523> or the other way round, not sure which is easier
16:29:11 <ais523> int-e: ^
16:29:26 * int-e nods
16:29:30 <int-e> yeah I should've seen the --
16:29:35 -!- Lord_of_Life_ has joined.
16:29:43 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:29:59 <esolangs> [[Iterate/Library]] M https://esolangs.org/w/index.php?diff=168638&oldid=168629 * Aadenboy * (+2) /* Is number */ h3
16:30:22 <esolangs> [[Special:Log/newusers]] create * Aaaaaaaaaaaaaaaaaaaalol * New user account
16:30:24 <int-e> but it looks like the DB issue that perlbot had then (resulting in a noisy reply) has been resolved.
16:30:55 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:33:50 <esolangs> [[Iterate/Floating-point]] https://esolangs.org/w/index.php?diff=168639&oldid=168630 * Aadenboy * (-1700)
16:34:55 <esolangs> [[Iterate/Floating-point]] https://esolangs.org/w/index.php?diff=168640&oldid=168639 * Aadenboy * (+1808) Undo revision [[Special:Diff/168639|168639]] by [[Special:Contributions/Aadenboy|Aadenboy]] ([[User talk:Aadenboy|talk]])
16:36:17 -!- wob_jonas has quit (Quit: Client closed).
16:36:32 -!- wob_jonas has joined.
16:38:23 -!- wob_jonas has quit (Client Quit).
16:38:25 <esolangs> [[WUUI]] https://esolangs.org/w/index.php?diff=168641&oldid=145521 * Yayimhere2(school) * (+4) /* Control flow */ change to <code> instead of <tt> as its more consistent and less confusing
16:38:45 -!- wob_jonas has joined.
16:43:37 <wob_jonas> perlbot func oeis_r shall be ^eval substr ^quote d ^get ^eval use URI; $a=URI->new("https://oeis.org"); $a->query_form("q", ^arg d~ ); "$a"~ //div[@class="pagelinkbox"]//td/div | //div[@class="sequence"][1]//div[@class="seqnumname"] ~~, 0,280~
16:43:37 <perlbot> wob_jonas: Stored oeis_r shall be ^eval substr ^quote d ^get ^eval use URI; $a=URI->new("https://oeis.org"); $a->query_form("q", ^arg d~ ); "$a"~ //div[@class="pagelinkbox"]//td/div | //div[@class="sequence"][1]//div[@class="seqnumname"] ~~, 0,280~
16:44:33 <wob_jonas> perlbot oeis_r 3887,23327,139967
16:44:36 <perlbot> wob_jonas: A198796 3*6^n-1.
16:47:23 -!- pr1sm has quit (Remote host closed the connection).
16:49:44 <wob_jonas> perlbot oeis_r 2027,3208,78266,255031
16:50:14 <perlbot> wob_jonas: Sorry, but the terms do not match anything in the table. There were no advanced matches found for the numeric terms in your query. If your sequence is of general interest, please submit it using the form provided and it will (probably) be added to the OEIS! Include a brief descri
16:51:39 <esolangs> [[Viktor's Divisibility Checker]] https://esolangs.org/w/index.php?diff=168642&oldid=168637 * Yayimhere2(school) * (+128) /* Semantics */
16:55:51 -!- wob_jonas has quit (Quit: Client closed).
17:00:21 <ais523> perlbot: help
17:00:21 <perlbot> ais523: Provides help text for a specific command. Try 'help echo'. See also the command 'plugins' to list all of the currently loaded plugins.
17:00:28 <ais523> perlbot: help plugins
17:00:29 <perlbot> ais523: Returns a list of all of the loaded plugins for this bot. Syntax, plugins
17:00:34 <ais523> perlbot: plugins
17:00:34 <perlbot> ais523: 8ball allowpaste arg cache_check compose conf conf_dump default dumpsaid echo eval factoids geoip get google head help host host_lookup join karma karma_modify karmatop more nick_lookup null oeis package part pastebinadmin perldoc plugins quote reload_plugins restart rss rss_title save_config seen shorten talktome tell title translate twitter unicode utf8 zippit
17:00:55 <ais523> perlbot: help conf
17:00:55 <perlbot> ais523: Sorry, no plugin named conf found.
17:03:06 -!- wob_jonas has joined.
17:03:33 -!- Everything has quit (Quit: leaving).
17:03:48 -!- amby has joined.
17:10:41 -!- wob_jonas has quit (Quit: Client closed).
17:17:17 -!- pool has quit (Read error: Connection reset by peer).
17:19:25 -!- pool has joined.
17:23:07 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=168643&oldid=167782 * Yayimhere2(school) * (+63) /* A tree of all the languages */
17:26:37 -!- amby has quit (Remote host closed the connection).
17:28:34 <esolangs> [[Do Minsk Family]] M https://esolangs.org/w/index.php?diff=168644&oldid=168643 * Aadenboy * (+0) /* A tree of all the languages */
17:28:41 -!- amby has joined.
17:54:35 -!- tromp has joined.
18:11:28 <b_jonas> ais523: I should write a summary about perlbot (or its ancestor buubot3) on the esowiki, it's a language I helped create and has some esoteric properties, but so far I was lazy
18:11:44 <ais523> b_jonas: I was mostly trying to figure out if I could set an ignore on it
18:11:53 <ais523> i.e. for it, telling it to ignore esolangs
18:18:43 <b_jonas> simcop2387: ^
18:24:06 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:35:11 -!- Yayimhere has joined.
18:35:19 <Yayimhere> hello IRC.
18:35:38 <Yayimhere> I had an idea for an esolang recently
18:35:52 <Yayimhere> and I wanted to hear your guys thoughts on it
18:35:55 <Yayimhere> if your willing
18:36:01 <Yayimhere> now I'll describe it
18:36:28 <korvo> Go for it.
18:36:34 <Yayimhere> The program is made up of two coordinates x and y
18:36:46 -!- tromp has joined.
18:36:51 <Yayimhere> then check the color value of that x y coordinate on the Mandelbrot set
18:37:14 <Yayimhere> then add that to the *sequence*. The sequence holds every coordinate used
18:37:41 <Yayimhere> so for our little description here, it would be x,y,z where z is that color value I mentioned before
18:37:52 <Yayimhere> then our next coordinate set would be (y,z)
18:37:54 <Yayimhere> and so on
18:37:57 <Yayimhere> forever
18:38:06 <Yayimhere> yea thats it
18:39:09 <korvo> The color? Like, black for members of the set and some gradient for how fast non-members diverge?
18:39:17 <Yayimhere> yes
18:39:25 <Yayimhere> i forgot the actual name
18:39:29 <Yayimhere> no not name
18:39:33 <Yayimhere> what it actually is
18:40:45 <korvo> The main issue is that non-members diverge very quickly. In fact, if the absolute value of your two-coordinate vector is ever >= 2 then it is not a member.
18:40:59 <Yayimhere> korvo: hm
18:41:10 <Yayimhere> maybe I should pick another fractal
18:41:19 <korvo> This isn't really a language, but it might make for a pretty picture. When I was your age, it was popular to draw buddhabrots, another Mandelbrot variation: https://en.wikipedia.org/wiki/Buddhabrot
18:42:00 <korvo> Yayimhere: Why do you think that fractals ought to be languages? There are languages that describe fractals, but that's going in the other direction: https://en.wikipedia.org/wiki/L-system
18:42:40 <Yayimhere> korvo: i had no reason other than I like fractals. I just though it would be fun to try and make the function ofma language be based fractal based
18:42:48 <Yayimhere> *of a
18:42:50 <korvo> These would both be great projects for a beginning programmer, although they might take several nights to finish.
18:42:59 <Yayimhere> lol
18:43:47 <ais523> when I was younger I implemented the Mandelbrot fractal using floats
18:43:56 <ais523> it worked for a bit, but you could see it go wrong if you zoomed in far enough
18:44:04 <ais523> (because floats aren't accurate enough to calculate it properly)
18:44:14 <Yayimhere> ais523: nice
18:44:17 <Yayimhere> well
18:44:22 <Yayimhere> not very nice
18:44:24 <Yayimhere> but uh cool
18:45:05 <korvo> Mandelbrot's chaotic, which means that any attempt at computing it smoothly will fail. It doesn't ever have any sharp edges or boundaries; it's infinitely fuzzy. Raytracing chaos always leads to a jumbled rainbow of pixels in that chaotic region.
18:46:05 <ais523> korvo: right but there are some number of pixels, at various zoom levels, that can be calculated correctly
18:46:06 <Yayimhere> (also, if korvo ever wonders why I seemingly never actually code, I just dont have the time, because I balance esolanging with schoolwork, music, and other stuff)
18:46:14 <ais523> and if you zoom in far enough, floats don't calculate even those
18:46:50 <Yayimhere> also, just to make sure im not crazy, if a system has an undecidable question, is it turing complete?
18:47:03 <Yayimhere> because I remember that from somewhere
18:47:05 <ais523> I'm not sure it's been proven in that direction
18:47:11 <Yayimhere> but im not actually 100% sure on it
18:47:13 <ais523> in the other direction it's provable, all TC languages have an undecidable question
18:47:17 <Yayimhere> yea
18:47:24 <Yayimhere> hmmmmm
18:47:27 <ais523> but going the other way round, the language might be undecidable for reasons other than its computational class
18:47:34 <Yayimhere> like?
18:47:40 <Yayimhere> (just to get an example)
18:47:49 <ais523> e.g. because it has a command that computes something undecidable, but that doesn't generalise to be used in a larger program
18:48:08 <Yayimhere> true
18:48:18 <Yayimhere> thats kinda the hq9+ problem
18:48:23 <ais523> right
18:48:48 <Yayimhere> well
18:49:00 <Yayimhere> it is *literally* the hq9+ problem
18:49:22 <Yayimhere> for example ^
18:49:31 <korvo> Yayimhere: I know why you don't code. I'm trying to push you to start learning as young as possible so that you get a good intuition for it. I started at around 12 and started spending serious time on it when I was maybe 15.
18:49:32 <Yayimhere> a language where ^ computes the halting problem
18:49:43 <Yayimhere> korvo: k!
18:49:46 <Yayimhere> :]
18:50:12 <Yayimhere> its so weird to me that not even the square brackets escape
18:50:14 <Yayimhere> :}
18:50:18 <Yayimhere> lol
18:50:34 <Yayimhere> anyways
18:51:25 <korvo> Yayimhere: Think of TC-ness explicitly: A system is Turing-complete when any Turing machine's execution can be represented within it. Undecidability is about having a set of things; if a property of things is undecidable then we can't compute whether a thing has the property.
18:51:58 <korvo> It turns out that many properties of Turing machines (the "semantic" properties) aren't decidable. That's the entire connection between them.
18:52:05 <Yayimhere> korvo: hm
18:52:09 <Yayimhere> I guess that makes sense
18:52:59 <Yayimhere> on the point of "can be represented", how close does it have to be?
18:53:12 <Yayimhere> like if we say I simply generate a sequence
18:53:21 <Yayimhere> of characters that represents all the turing machines states
18:53:25 <Yayimhere> that counts right?
18:53:30 <Yayimhere> but what if I didnt do it
18:53:36 <Yayimhere> with the actual turing machine
18:53:39 <Yayimhere> if u know what I mean
18:53:46 <Yayimhere> if it just happened to happen
18:54:01 <korvo> It has to be "faithful" in the mathematical sense. If I choose a Turing machine, a starting tape, and a number of steps, then the system needs to represent the execution history that starts with that tape and runs for that number of steps.
18:54:36 <korvo> Yes, the system can just happen to do this. But usually we want a *proof* that it happens to do this.
18:54:44 <Yayimhere> makes sense
18:55:00 <Yayimhere> (I feel like thats kinda just what wang tiles do)
18:55:07 <Yayimhere> (but maybe thats just my option)
18:55:11 <Yayimhere> *opinion
18:56:16 <korvo> Wang tiles or Post tiles (as in Post correspondence machines) work by writing down the states and symbols on tiles, and only allowing tile edges to match when the TM would transition. Then the execution history emerges as a partial tesselation of those tiles.
18:56:51 <korvo> So it's not accidental but a deliberate thought experiment: what if we take Turing's piece of paper and pen, and instead of writing repeatedly with the pen on the paper, instead we ripped up the paper and wrote once on each piece?
18:58:03 -!- amby has quit (Remote host closed the connection).
18:58:20 -!- amby has joined.
18:58:32 <Yayimhere> im not saying its an. accident
18:58:48 <Yayimhere> imm just saying its like
18:59:09 <Yayimhere>  a very *non* turing machine way of simulating a turing machine
18:59:27 <Yayimhere> and i just find it interesting where the line goes!
19:00:38 <korvo> Well, it's worth remembering that Turing wasn't talking about Turing machines other than as a method of proof. He wanted to talk about computable sequences of natural numbers. Set the machine up with an input tape, turn it on, and it prints numbers forever; what can be done with that?
19:00:42 <Yayimhere> i have no idea how I got both a . and a (very partial) indent in by accident
19:01:16 <Yayimhere> korvo: thats quite the surprise to me
19:01:30 <Yayimhere> I guess its not much of a surprise there's some misinformation around
19:01:33 -!- Trigon has quit (Ping timeout: 250 seconds).
19:01:46 <ais523> some of the more important results in computer science were, oddly, discovered before the computer was invented
19:02:00 <ais523> and classified under "philosophy" as that was the closest available field at the time
19:02:05 -!- Trigon has joined.
19:02:16 <Yayimhere> ais523: is lambda calculus not in that category?
19:02:20 <Yayimhere> oh yea
19:02:40 <Yayimhere> I remember seeing some multiverse, esolang looking stuff being done in the field of "philosophy"
19:02:49 <ais523> I think lambda calculus predates the computer but am not sure, I've never had to compare the timings of those two branches of research before
19:03:11 <Yayimhere> ais523: if the truttle1 video is correct, it does
19:04:00 <ais523> I wonder how long, after the invention of the computer, it took to start implementing lambda-calculus concepts like closures
19:04:05 <korvo> https://esolangs.org/wiki/Computable has the relevant timeline. Lambda calculus was mid-1930s, before WW2. It was in response to Hilbert and friends, who had been asking about variations on the question for a few decades.
19:04:28 <ais523> they wouldn't initially have seemed a high priority
19:05:07 <Yayimhere> random little question, do you think "Viktor's Divisibility Checker" is a good esolang name?
19:05:18 <korvo> I'd say closures were introduced in 1964 by Landin for the SECD machine, part of a series of abstract machines for efficiently normalizing lambda calculus.
19:05:47 <korvo> Yayimhere: It's not a terrible name. I don't know the reference; is this Viktor from Arcane, or another character?
19:06:17 <Yayimhere> Korvo: its a painter, specifically, of "Knight at the Crossroads"
19:06:27 <Yayimhere> of which the language also goes across crossroads
19:06:37 <Yayimhere> (exeter style? I think?)
19:06:49 <korvo> TIL! Cool reference.
19:07:01 <Yayimhere> thanks!
19:07:51 -!- zzo38 has joined.
19:09:11 <Yayimhere> here is the wikipedia page I found it on: https://en.wikipedia.org/wiki/Fork_in_the_road_(metaphor)
19:09:19 <korvo> Yayimhere: So, the main thing to understand is that we discovered computability by asking "How do we solve mathematical problems with paper and pen?" and the answer is a surprising "We can't solve every problem that way!" Computability is about what we *can* solve.
19:09:41 <Yayimhere> korvo: yea that makes sense
19:09:44 <korvo> Aha. Okay, that's a pretty good reference. Good name.
19:09:50 <Yayimhere> thanks!
19:10:48 <Yayimhere> I also named another esolang of mine after Isaac Asimov's The Last Question
19:11:37 <korvo> So when we say that something *happens* to be Turing-complete, we're saying that it *happens* to be able to solve problems as well as paper and pen. That's all. If your esolang can be simulated with paper and pen then that merely means that your language is computable, not that your language can simulate paper and pen itself.
19:11:52 <Yayimhere> korvo: yea
19:12:37 <Yayimhere> also, on the note of names, ais523, where does the name WUUI come from
19:13:01 <ais523> it's an initialism for "while, unless, until, if" (possibly the two Us are the other way round)
19:13:25 <zzo38> I don't know of any variant of HTML with control characters, but there are some similar thinga that do use control characters for specifying formatting codes and hyperlinks and other stuff.
19:13:27 <Yayimhere> makes sense
19:14:26 <Yayimhere> also on names, what do you think is the cleverest name you've made?
19:14:31 <zzo38> (I think using control characters will be better to avoid needing escaping, and you can also use control characters to switch character sets etc)
19:16:45 <ais523> Yayimhere: Incident
19:17:02 <ais523> I put extra effort into that one because it was for a competition
19:17:07 <ais523> (the competition was never judged, as far as I know)
19:17:11 <Yayimhere> ais523: where does that name come from, actually=
19:17:52 <ais523> it's a blend of "incident" meaning an accident (double meaning between accident = bad thing happening and accident = thing happening accidentally) and part of "coincident"/"coincidence"
19:17:54 <korvo> Yayimhere: Monte is great, but it was technically dash's name, not mine. Still, Mont-E Python, wow. I've followed up on that with a flavor of Monte that can operate on top of Cammy, "Monte B.", short for Monte Bison.
19:18:18 <Yayimhere> ais523: ah thats smart
19:18:21 <ais523> plus it lets me use "incidence" to talk about a particular occurrence of a token
19:18:38 <Yayimhere> korvo: heh
19:18:41 <Yayimhere> thats nice
19:18:54 <korvo> Vixen's going to be great if I actually set up a Linux distro with it. I'm going to adopt Xenia, the *other* Linux mascot, who is a foxgirl.
19:19:07 <ais523> it also let me call the spec the Incident Report, which was a bonus
19:19:15 <Yayimhere> eyy
19:19:17 <Yayimhere> lol
19:20:08 <Yayimhere> for me, I think Viktor's Divisibility Checker is best
19:20:13 <Yayimhere> from me
19:20:42 <korvo> Still hacking on Vixen in the background. Writing one or two new objects every day. I currently have a SymlinkFarm and I'm figuring out an Editor. Vixen's a new kind of viroid for Nix stores.
19:20:47 <Yayimhere> however I do like distressed
19:22:19 <korvo> ais523: Oh wow, that's clever. I like that. Monte didn't have a complete formal spec, but I did have an opinionated roadmap which I updated every year, the "montefesto" https://github.com/monte-language/monte/blob/master/docs/source/montefesto.rst
19:22:35 <sorear> Yayimhere: "intermediate Turing degrees"?
19:22:49 <Yayimhere> sorear: what is this replying to?
19:22:53 <korvo> This is extra-funny if you know anything about the Esperanto-Lojban rivalry. Monte has lots of easter eggs for Lojbanists.
19:23:12 <ais523> I didn't realise that Esperanto and Lojban were rivals but somehow I'm not surprised
19:23:23 <sorear> " if a system has an undecidable question, is it turing complete?"
19:23:45 <b_jonas> I don't think they're rivals
19:24:05 <sorear> there's also the -complete versus -hard distinction
19:24:10 <ais523> the rivalry I'm most familiar with is Emacs-vim but it's very complex and multilayered, to the extent that I think most Emacs users and most vim users don't particularly dislike the other camp (and there's also a camp of people who use Emacs with vim keybindings)
19:24:17 <Yayimhere> sorear: i dont rlly know
19:24:27 <korvo> Esperanto was carried forward by a big international socialist movement. Lojban's authors were California neoliberals. There's always been a bit of a tension, although Lojban encourages the public domain and got swept up in Free Software, so lots of communists have supported it recently.
19:24:34 <sorear> I gave you something to look up
19:24:55 <APic> ais523: Emacs can emulate vi much better than the other Way round
19:25:07 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168645&oldid=168406 * Yayimhere2(school) * (+62) /* esolangs */
19:25:19 <korvo> Esperantists are concerned with "krokodilo", the act of speaking non-Esperanto, which is a social taboo. Lojbanists are often {xekce}, nitpicking each other's wording. Two different irritating pathologies.
19:25:25 <ais523> APic: yes – the interesting thing is that the Emacs and vi/vim philosophies are orthogonal and not really in conflict with each other
19:25:43 <ais523> so I think which side you prefer depends on what you value more
19:25:55 <ais523> Emacs solves some problems, vim solves some other problems
19:26:03 <ais523> if you have both sets of problems together you learn Emacs with vim bindings
19:26:04 <APic> ais523: Can You summarize both?
19:26:37 <APic> Emacs has M-x butterfly, thanks to Sepi, who i met often here in the µCCC in the Pasts 😌
19:26:48 <ais523> APic: vim is easier, it's primarily about editing speed – if you learn it fully (and are good at counting) you can very quickly fly across a document to find the places you want to change, and change them quickly
19:27:20 <ais523> Emacs is more about having the editor understand and be able to work with the structure of the file type you're using
19:27:21 <APic> (And of course originally thanks to https://xkcd.com/378/ )
19:27:44 <APic> ais523: Thanks!
19:28:14 <ais523> when writing most programming languages in Emacs (except Python), I immediately know when I've made a mistake matching brackets or quoting things because it indents to a column I wasn't expecting
19:28:22 <ais523> err, programs in most programming languages
19:28:37 <ais523> and this is true even if the brackets actually match, if they weren't matching the way I intended them to
19:29:02 <ais523> Emacs and vim have both got better at the other's speciality over time, though
19:29:14 <Yayimhere> APic: thats a pretty funny comic
19:29:27 <ais523> like, nowadays vim has syntax highlighting and auto-indentation and can probably even talk to language servers
19:29:29 <APic> Yayimhere: And a pretty epic Emacs Function!
19:29:38 <Yayimhere> Apic: lol
19:29:48 <APic> Yes, M-x butterfly really exists by now
19:30:11 <ais523> they did have to rearrange the sequence of keypresses from the comic in order to avoid clashing with other commands
19:30:33 <ais523> and the implemented version is just a joke command that isn't actually useful
19:31:39 <korvo> Yayimhere: There's always an xkcd. The Lojban word {xekce} is a Lojbanization of "xkcd"! It's a reference to https://xkcd.com/191/ (The alt text reads "haha that was a joke! please be my friend")
19:32:16 <ais523> I stopped reading xkcd after a while, some of them are good but most of them aren't the sort of thing I was interested in reading
19:33:40 <korvo> It's one of the few shared points of culture that we have, even if it's somewhat NASA- and MIT-specific. By contrast, stuff like Goomics https://goomics.net/ is probably not legible outside of Silicon Valley.
19:39:42 <APic> ais523: Yes
19:39:53 <APic> (To the Joke Command)
19:40:20 <Yayimhere> korvo: is there an esolang related xkcd?
19:40:56 * APic still reads XKCD regularly, and i even did not need https://ExplainXKCD.com/ very often in the Past
19:40:59 <ais523> there was one with a joke parser but its rules aren't consistent enough to implement (which I think was the joke)
19:44:06 <korvo> Yayimhere: https://xkcd.com/2309/ is one example.
19:44:33 <Yayimhere> korvo: lol
19:44:42 <Yayimhere> not that funny but oh well
19:45:54 <korvo> Sometimes satire stings.
19:46:05 <Yayimhere> yeaa
19:46:07 <korvo> Sometimes it just doesn't land.
19:46:31 <Yayimhere> true
19:47:43 <korvo> Yayimhere: It might help to know that there's a long tradition of people saying that introducing a bad programming language is morally bad, because when somebody learns to think in that bad language, they will have trouble imagining better possible ways of programming.
19:48:10 <korvo> There's a famous Dijkstra paper https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD498.html with quotes like "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
19:48:11 <Yayimhere> korvo: thats the state of me currently
19:48:32 <Yayimhere> also thats a wild qoute
19:50:02 <korvo> There's also a famous Paul Graham essay which I'm not linking because he's a bad writer, where he introduces the Blub paradox: people who only know one language, call it Blub, have a tough time imagining anything else. Everything's either weaker than Blub or more complex than Blub. https://wiki.c2.com/?BlubParadox
20:06:06 -!- Yayimhere has quit (Quit: Client closed).
20:13:05 <ais523> korvo: fwiw the first language I programmed in was BASIC
20:13:14 <ais523> but I was only about 6 years old at the time and didn't understand looops
20:13:44 <ais523> that said, my "main" language growing up was Visual Basic for Applications, with data I wanted to persist being stored in cells of an Excel spreadsheet
20:13:59 <ais523> (oddly, this lead to me giving up on Windows because it broke backwards compatibility too often)
20:15:14 <ais523> I'm really not sure what the best language for teaching is, atm
20:16:57 <zzo38> I think what Dijkstra wrote about that is not really accurate
20:17:35 -!- pool has quit (Read error: Connection reset by peer).
20:18:17 <ais523> zzo38: what's the first programming language you seriously used?
20:19:30 -!- pool has joined.
20:19:34 <zzo38> I do not remember, but I think it was BASIC
20:19:57 <ais523> I think that's probably common for a lot of people my age, it was readily available at the time
20:20:04 <ais523> (starting with BASIC, that is)
20:20:21 <ais523> nowadays it's still available but computers don't normally boot into it
20:21:05 <sorear> we got a good decade when every Mac booted into Forth but this didn't translate into a popularity boom
20:21:11 <ais523> oh right, I remember now – when I left primary school, the school was replacing its old 6502-based computers that booted into BASIC with newer ones, and they let the pupils/their parents buy them for very low prices as a result
20:21:33 <ais523> so I had a computer that booted into BASIC, but they also gave me a book on 6502 asm for some reason
20:21:36 <ais523> so I learned asm from that
20:22:02 <ais523> I don't think I wrote any complicated programs in 6502 asm but it was still a new skill to learn and it came in handy later
20:22:22 <zzo38> I think a computer design should have the option to boot into BASIC or Forth (and do this automatically if configured to do so or if there is no operating system to load)
20:22:31 <ais523> the house also had a couple of manuals for a Prolog implementation, for reasons I don't fully understand
20:22:43 <ais523> but I went and read those a lot, and eventually ended up implementing my own mini-Prolog in Microsoft Excel
20:22:53 <ais523> (because I didn't otherwise have a Prolog implementation to try it out in)
20:23:14 <ais523> I didn't do much with that, but I did start codegolfing in Prolog later on and already knew how to write it from reading the textbooks
20:23:34 <ais523> zzo38: it probably wouldn't be too hard to write a bootloader that does that, nowadays
20:23:43 <ais523> the difficult part would likely be file handling (it was the difficult part at the time, too!)
20:24:27 <ais523> the computers came with 5¼" floppy drives but nobody there really understood how to use them
20:24:46 <zzo38> I think it should be stored in ROM so that it will work even without a disk
20:24:50 <ais523> (software-wise, that is – the hardware side was much easier)
20:25:00 <ais523> zzo38: I mean, to save the program once you'd written it
20:25:41 <zzo38> Yes, the ability to read/write disks will still be useful to include
20:27:00 <sorear> that's what the block word set is for
20:27:39 <ais523> actually I feel like one thing that's really important in a teaching-programming environment (and useful even for programming generally) is a good way of handling persistence
20:27:51 <ais523> you want to be able to persist the program and data separately
20:28:22 <ais523> even when I was a child, I wanted to be able to write simple games and have a way to have separate save files, so a whole "mix up all the program and data" approach (like, e.g., Smalltalk uses) wasn't really appropriate
20:28:44 <ais523> I think I did it anyway (within Excel) by having a sort of "blank save" state and commands to copy it over the saved game
20:28:53 <zzo38> I agree that storing them separately is helpful
20:29:11 <sorear> it does however mean that you have to actually define your data model
20:30:05 <ais523> sorear: I'm not convinced, a "blank all *these* storage locations" can be implemented even without really understanding what you're doing
20:33:23 <APic> Humans built a Lot of Cities without understanding what they did
21:00:45 <b_jonas> why do I get a HTTP 500 error when I'm trying to pull anything from github from a http origin?
21:01:11 <ehmry> internet is old and tired
21:01:20 <ehmry> and made some bad decisions
21:03:18 <ais523> github has been becoming increasingly broken recently
21:03:38 <ais523> the most annoying to me is that the button to load more comments on an issue page loses your scroll position and normally jumps back up to near the top of the page
21:04:02 <ais523> (I don't actually understand why pages have that sort of button, just sending all the comments unconditionally would probably be less bandwidth than sending all the JS they send)
21:05:30 <JAA> b_jonas: https://www.githubstatus.com/incidents/5q7nmlxz30sk
21:05:47 <sorear> most of my page loads send 0 bytes of JS...
21:05:56 <JAA> As they should.
21:06:51 <b_jonas> JAA: I see
21:06:52 <JAA> Immich is a particularly ridiculous example. It loads over a hundred scripts to display an image.
21:07:08 <JAA> If only browsers knew what to do with a bare image file.
21:07:10 <ais523> the other thing that bothers me is that the Github pull-request-conversation and issue-conversation views have effectively the same functionality and requirements and yet are clearly implemented with entirely different code
21:07:27 <ais523> because the UI is different in a number of ways which are reasonable in each case but there's no reason for it not to match
21:07:42 <JAA> Heh
21:10:04 <ais523> (and because the annoying scrolling bug I mentioned above affects only issues, not pull requests)
21:10:34 <ais523> I'm wondering whether Github is implemented mostly with Copilot nowadays, that might explain why it doesn't work properly any more
21:11:13 <sorear> i think that particular bug predates copilot
21:12:40 <ais523> it isn't the only bug or even the only bug that's affected me, just the one that I most often hit and that most often annoys me personally
21:14:36 <ais523> (I dislike using Github in general but for some projects it's either the only, or the least objectionable, way to interact with them)
21:14:52 <JAA> Yeah, lots of things on GitHub mess up the scroll position.
21:15:18 <JAA> There's one I run into from time to time involving the tree and blob view.
21:15:46 <JAA> Going back to the tree from a blob retains the scroll position in the blob or something like that.
21:16:06 <JAA> Instead of going to the scroll position you had on the tree, as it would work if they were simply normal HTML pages.
21:16:34 <JAA> But no, everything needs to be JS and then fixed by adding more JS to remember and restore scroll positions.
21:17:45 -!- pool has quit (Read error: Connection reset by peer).
21:19:47 <ais523> this sort of conversation is frustrating because it is clear that everyone involved in it is likely to be agreeing with each other, and yet can't do anything about it
21:19:52 -!- pool has joined.
21:27:17 <b_jonas> func oeis_r.getraw is [get [eval use URI; $a=URI->new("http://oeis.org"); $a->query_form("q", [arg d] ); "$a"] .*]
21:27:22 <b_jonas> perlbot func oeis_r.getraw is [get [eval use URI; $a=URI->new("http://oeis.org"); $a->query_form("q", [arg d] ); "$a"] .*]
21:27:22 <perlbot> b_jonas: Stored oeis_r.getraw is [get [eval use URI; $a=URI->new("http://oeis.org"); $a->query_form("q", [arg d] ); "$a"] .*]
21:28:26 <b_jonas> func oeis_r.new [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:28:32 <b_jonas> perlbot func oeis_r.new [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:28:33 <perlbot> b_jonas: No factoid found. Did you mean one of these: [function p3rl] [functionalperl] [fursecute] [fnux] [felsius] [nomikos] [foo_macro] [on second] [punchcard] [finger print]
21:28:38 <b_jonas> perlbot func oeis_r.new is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:28:39 <perlbot> b_jonas: Stored oeis_r.new is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:29:00 <b_jonas> perlbot oeis_r.new 184,192,188
21:29:00 <perlbot> b_jonas: Compose failed to find a plugin named: oeis_r.getraw
21:29:12 <b_jonas> perlbot call oeis_r.new 184,192,188
21:29:13 <perlbot> b_jonas: Compose failed to find a plugin named: oeis_r.getraw
21:29:16 <ais523> perlbot: karma C
21:29:16 <perlbot> ais523: C has karma of 23884
21:29:34 <b_jonas> perlbot func oeis_r.new is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [#esolangs oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:29:35 <perlbot> b_jonas: Stored oeis_r.new is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [#esolangs oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:29:38 <b_jonas> perlbot call oeis_r.new 184,192,188
21:29:39 <perlbot> b_jonas: Compose failed to find a plugin named: #esolangs
21:29:47 <b_jonas> perlbot func oeis_r.new is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [call oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:29:48 <perlbot> b_jonas: Stored oeis_r.new is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [call oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:29:51 <b_jonas> perlbot call oeis_r.new 184,192,188
21:29:55 <perlbot> b_jonas: A310386 Coordination sequence Gal.6.368.1 where Gal.u.t.v denotes the coordination sequence for a vertex of type v in tiling number t in the Galebach list of u-uniform tilings.
21:29:58 <b_jonas> perlbot call oeis_r.new 184,192,186
21:30:02 <perlbot> b_jonas: Sorry, but the terms do not match anything in the table. The following advanced matches exist for the numeric terms in your query.
21:30:14 <b_jonas> perlbot func oeis_r is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [call oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:30:15 <perlbot> b_jonas: Stored oeis_r is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [call oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } $o{seqnumname}//$o{pagelinkbox} ]
21:30:24 <b_jonas> perlbot call oeis_r 184,192,18
21:30:27 <perlbot> b_jonas: Sorry, but the terms do not match anything in the table. The following advanced matches exist for the numeric terms in your query.
21:30:29 <b_jonas> perlbot call oeis_r 184,192,188
21:30:33 <perlbot> b_jonas: A310386 Coordination sequence Gal.6.368.1 where Gal.u.t.v denotes the coordination sequence for a vertex of type v in tiling number t in the Galebach list of u-uniform tilings.
21:30:43 <b_jonas> perlbot call oeis_r A390757
21:30:46 <perlbot> b_jonas: A390757 Numbers k such that (23^k - 4^k)/19 is prime.
21:30:48 <JAA> ais523: Yeah, very true. Venting can feel good personally, but indeed not constructive.
21:30:55 <int-e> . o O ( was unmuting perlbot really a good idea )
21:30:55 <b_jonas> perlbot forget oeis_r.new
21:30:55 <perlbot> b_jonas: Forgot oeis_r.new
21:31:19 <b_jonas> int-e: well we have a working OEIS command now
21:31:25 <b_jonas> or did lambdabot's work?
21:31:37 <ais523> @oeis 184, 192, 188
21:31:37 <lambdabot> Sequence not found.
21:31:46 <ais523> @oeis 184,192,188
21:31:47 <lambdabot> Sequence not found.
21:32:26 <ais523> perlbot: call oeis_r 1,1,1,3,5,9,17
21:32:30 <perlbot> ais523: A000213 Tribonacci numbers: a(n) = a(n-1) + a(n-2) + a(n-3) with a(0)=a(1)=a(2)=1. (Formerly M2454 N0975)
21:32:44 <b_jonas> perlbot oeis_3 184,192,188
21:32:44 <perlbot> b_jonas: No factoid found. Did you mean one of these: [oeis 1] [oic] [oogy] [.oh.us]
21:32:46 <b_jonas> perlbot oeis_r 184,192,188
21:32:49 <perlbot> b_jonas: A310386 Coordination sequence Gal.6.368.1 where Gal.u.t.v denotes the coordination sequence for a vertex of type v in tiling number t in the Galebach list of u-uniform tilings.
21:33:03 <ais523> b_jonas: is there a reason you're testing with that sequence specifically?
21:33:04 <b_jonas> I don't think you need the call in a top-level command, you need it inside a macro or compose command
21:34:37 <b_jonas> ais523: not really. I asked OEIS for a random recently added, sequence, got something like A390396 which has the infix 184,192,195, and I started to decrease the last term
21:36:40 <b_jonas> perlbot compose `eval "I was trying with this query first, but the title of the sequence is so short that the reply looks wrong"; `quote d `call oeis_r 3887,23327,139967'''
21:36:44 <perlbot> b_jonas: A198796 3*6^n-1.
21:37:03 <int-e> I guess I should've expected this: (github) remote: Internal Server Error
21:41:19 <int-e> anyway, lambdabot's issue is that OEIS force-forwards HTTP to HTTPS and the implementation used relies on a HTTP library that doesn't have TLS support.
21:41:35 -!- sytra has joined.
21:42:08 <int-e> I have an update for that and never got it to the actual bot :P
21:46:31 <b_jonas> I just like perlbot because I can implement a custom command to get info from any website and process it in any way, even in multiple steps with multiple website access. there happens to be an oeis builtin, but probably only for historical reasons. HackEso can't do this, it doesn't have a service that lets us send web queries.
21:46:51 <b_jonas> and this one supports https
21:47:11 <b_jonas> or.. um
21:47:26 <b_jonas> perlbot literal oeis_r.getraw
21:47:26 <perlbot> b_jonas: <*:##NULL> func oeis_r.getraw is [get [eval use URI; $a=URI->new("http://oeis.org"); $a->query_form("q", [arg d] ); "$a"] .*]
21:47:42 <b_jonas> perlbot func oeis_r.getraw is [get [eval use URI; $a=URI->new("https://oeis.org"); $a->query_form("q", [arg d] ); "$a"] .*]
21:47:43 <perlbot> b_jonas: Stored oeis_r.getraw is [get [eval use URI; $a=URI->new("https://oeis.org"); $a->query_form("q", [arg d] ); "$a"] .*]
21:47:51 <b_jonas> perlbot oeis_r 184,192,188
21:47:54 <perlbot> b_jonas: A310386 Coordination sequence Gal.6.368.1 where Gal.u.t.v denotes the coordination sequence for a vertex of type v in tiling number t in the Galebach list of u-uniform tilings.
21:48:03 <b_jonas> yep, supports HTTPS
21:53:43 <b_jonas> github may have fixed the problem, I could successfully pull now
21:55:05 <b_jonas> int-e: ^
21:55:47 <int-e> apparently so, what unlucky timing
21:55:53 <int-e> (thanks)
22:07:10 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168646&oldid=168573 * Buckets * (+16)
22:07:48 <zzo38> Many servers redirect from HTTP to HTTPS and in my opinion they should not do that (at least for read only files that do not require authentication to access). (My specification of Scorpion protocol also says it is not supposed to do that, unless the client is trying to authenticate with a X.509 certificate.)
22:08:50 <int-e> yeah but these windmills have sailed ;)
22:09:51 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168647&oldid=168581 * Buckets * (+17)
22:10:13 <esolangs> [[Befunge]] N https://esolangs.org/w/index.php?oldid=168648 * Buckets * (+2135) Created page with "Befunge is An Esoteric programming language created by [[User:Buckets]] in 2020 to be a 1-d [[Befunge]] before [[User:Buckets]] learned the existence of [[Befunge#History|Unefunge]]. Even though The esolang is 1-d, multiple Lines are Not banned, but If you use them You
22:11:10 <zzo38> Cookies have a secure flag but I think it could be implemented in a way that ignores that and instead any cookies set with TLS should not be sent without TLS, and could also warn before sending the cookies if the server's certificate does not match; however, cookies are not the best kind of authentication anyways and X.509 client certificates will be better.
22:15:32 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:16:29 -!- tromp has joined.
22:18:03 -!- pool has quit (Read error: Connection reset by peer).
22:20:01 -!- pool has joined.
22:21:13 <zzo38> (There are a few HTTP servers that do not automatically redirect to HTTPS, but do support HTTPS as well.)
22:37:02 <APic> Good Night
22:57:36 <esolangs> [[User talk:]] https://esolangs.org/w/index.php?diff=168649&oldid=168633 * * (+2)
23:00:26 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168650&oldid=168631 * * (+50)
23:01:17 -!- Sgeo has joined.
23:09:39 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:34:16 -!- sytra has quit (Remote host closed the connection).
23:41:32 <b_jonas> perlbot echo esolangs: what is the programming language created by Arthur Whitney called?
23:41:32 <perlbot> b_jonas: esolangs: what is the programming language created by Arthur Whitney called?
23:41:59 <b_jonas> ais523: so perlbot might be ignoring esolangs now, but I'm not sure how to test that
23:42:38 <b_jonas> `echo perlbot: echo +5409-2531-8837+6134
23:42:40 <HackEso> perlbot: echo +5409-2531-8837+6134
23:42:40 <perlbot> HackEso: +5409-2531-8837+6134
23:43:03 <ais523> I don't think esolangs can be made to answer something that perlbot will react to with a message, unless there's a way to add new triggers that look mid-message
23:43:15 <ais523> (reminder to everyone that the IRC spec says that bots should use PNs rather than PMs, but this is widely ignored)
23:43:42 <b_jonas> ais523: why did you ask for perlbot to ignore esolangs then?
23:43:51 <b_jonas> or did I misunderstand your ignore request?
23:44:00 <ais523> b_jonas: in case the same loop happens later
23:44:20 <ais523> it was caused by a malfunction in perlbot that caused anything it looks for to produce a message, even if it wouldn't normally react to it with a messag
23:44:28 <ais523> but if the malfunction isn't there you can't test
23:44:50 <int-e> ais523: IIRC mIRC decided that "notice" is something important that produces a popup, and that killed the notion completely, if it was ever adhered to
23:45:01 <ais523> oh right, mIRC ruining everytihng
23:47:42 <b_jonas> and bots disagree on the new protocol instead of notice. some bots like HackEso think they should only reply to messages that start with their invocation character(s), eg. HackEso. some think they should only reply to messages that start with their nick, eg. jevalbot. usually these only answer if the nick is right at the start of the message, but perlbot does not adhere to that convention. some bots
23:47:48 <b_jonas> answer to both nick and shortcut invocation, eg. jevalbot or lambdabot.
23:48:40 <b_jonas> also some bots answer to private messages without requiring any sort of prefix. that can be quite dangerous because if you make one bot like that private message another they'll often botloop.
23:50:43 <b_jonas> you can get the a similar problem with two bots that each respond to their own nick and reply with the sender's nick without a prefix, eg. perlbot
23:50:45 <perlbot> b_jonas: I am #perl's infobot and utility bot. I only answer if addressed. Type "perlbot: perl" to learn about "perl", "perlbot: re" to learn about "re", etc. I was originally written by Chris62vw but am currently maintained by simcop2387 and the codebase is based on "buubot". For more information see, perlbot: source
23:50:58 <b_jonas> NO YOU DON'T
23:51:39 <ais523> b_jonas: how did you trigger that? it could be used to test the ignore
23:51:53 <b_jonas> I don't know. perlbot?
23:52:09 <ais523> was it just a case of writing a message that ends with perlbot
23:52:17 <ais523> apparently not
23:52:41 <b_jonas> there might be a cooldown for that. let me search the source code
2025-11-19
00:00:01 <b_jonas> I found a line that checks if the message ends with his nick, at perlbot.git/lib/Bot/BB3/Roles/IRC.pm line 308, but I can't see what the bot does when that matches
00:00:43 <b_jonas> help
00:00:47 <b_jonas> perlbot help
00:00:48 <perlbot> b_jonas: Provides help text for a specific command. Try 'help echo'. See also the command 'plugins' to list all of the currently loaded plugins.
00:04:07 <ais523> ooh, looks like Rust is getting INTERCAL's select operator as a builtin: https://github.com/rust-lang/rust/issues/149069
00:04:25 <b_jonas> perlbot echo +6960-5709-8104+1009
00:05:54 <b_jonas> I think when I write an IRC bot again, I should make it use \x0F as the prefix before the nick in replies instead of the non-ascii prefix that HackEso uses, at least when it replies with a PRIVMSG rather than NOTICE
00:21:24 <esolangs> [[2 Bits, 1 Byte]] M https://esolangs.org/w/index.php?diff=168651&oldid=160703 * None1 * (+4) /* Operations */
00:24:47 <esolangs> [[Wsad]] M https://esolangs.org/w/index.php?diff=168652&oldid=140310 * None1 * (+0) /* Interpreter */ Fix typo
00:25:39 -!- ais523 has quit (Quit: quit).
00:25:44 <esolangs> [[PoeticFuck]] https://esolangs.org/w/index.php?diff=168653&oldid=137032 * None1 * (+71)
00:26:48 <esolangs> [[Random Brainfuck]] M https://esolangs.org/w/index.php?diff=168654&oldid=139263 * None1 * (+30) See also
01:13:26 -!- 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:18:06 <simcop2387> perlbot: literal you
01:18:06 -!- pool has quit (Read error: Connection reset by peer).
01:18:07 <perlbot> simcop2387: <*:##NULL> P:macro you is `compose `eval if (rand()<0.1) {"[echo I am a stick]"} else {"[fact _real_you]"}!!
01:18:29 -!- pool has joined.
01:19:41 <simcop2387> b_jonas: so perlbot will respond if you do, "<factoid> perlbot", and apparently i setup some weird trap on 'you ...' for something and now i don't remember why exactly other than it's part of a joke from The Stormlight Archive books by brandon sanderson.
01:19:50 <simcop2387> perlbot: literal _real_you
01:19:50 <perlbot> simcop2387: <*:##NULL> _real_you is I am #perl's infobot and utility bot. I only answer if addressed. Type "perlbot: perl" to learn about "perl", "perlbot: re" to learn about "re", etc. I was originally written by Chris62vw but am currently maintained by simcop2387 and the codebase is based on "buubot". For more information see, perlbot: source
01:20:23 <simcop2387> oh! for this:
01:20:26 <simcop2387> perlbot: you are a dummy
01:20:27 <perlbot> simcop2387: Stored you are a dummy
01:20:43 <simcop2387> except that works for me because i have override permissions, ugh
01:21:42 <simcop2387> or it's because of the namesapces actually, that set it here in #esolangs
01:23:11 <korvo> perlbot: you are a bot
01:23:12 <perlbot> korvo: Stored Insufficient permissions for changing protected factoid [you]
01:23:50 * korvo helping
01:25:27 <simcop2387> heh. it's been a while since i would have set that up so i probably tweaked other behavior that caused it to not work the same, quite possibly the namespace stuff
01:26:15 <b_jonas> func oeis_r is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [call oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } ($o=$o{seqnumname})?$o.$o{seqdata}:$o{pagelinkbox} ]
01:26:28 <b_jonas> perlbot func oeis_r is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [call oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } ($o=$o{seqnumname})?$o.$o{seqdata}:$o{pagelinkbox} ]
01:26:28 <perlbot> b_jonas: Stored oeis_r is [eval use HTML::Tree; for$e(HTML::Tree->new_from_content([quote d [call oeis_r.getraw [arg]]])->descendants){ $o{$e->attr("class")}//=$e->as_text } ($o=$o{seqnumname})?$o.$o{seqdata}:$o{pagelinkbox} ]
01:26:39 <b_jonas> perlbot oeis_r 4,40
01:26:43 <perlbot> b_jonas: A002322 Reduced totient function psi(n): least k such that x^k == 1 (mod n) for all x prime to n; also known as the Carmichael lambda function (exponent of unit group mod n); also called the universal exponent of n. (Formerly M0298 N0110)1, 1, 2, 2, 4, 2, 6, 2, 6, 4, 10, 2, 12, 6, 4, 4, 16, 6, 18, 4, 6, 10, 22, 2, 20, 12, 18, 6, 28, 4, 30, 8, 10, 1... [Output truncated. Use `more` to read more]
01:27:42 <b_jonas> perlbot oeis_r 61 160 221 2513
01:27:47 <perlbot> b_jonas: Sorry, but the terms do not match anything in the table. There were no advanced matches found for the numeric terms in your query. If your sequence is of general interest, please submit it using the form provided and it will (probably) be added to the OEIS! Include a brief description and if possible enough terms to fill 3 lines on the screen. We need at least 4 terms.
01:28:21 <b_jonas> simcop2387: I see
01:29:01 <b_jonas> oeis_r 15731 23276 perlbot
01:29:05 <perlbot> b_jonas: A373040 a(n) = (A084218(n) - 1)/12. 0, 1, 6, 17, 50, 79, 196, 273, 492, 651, 1210, 1247, 2366, 2549, 3656, 4369, 6936, 6397, 10830, 10267, 14314, 15731, 23276, 19935, 31300, 30759, 39858, 40197, 58870, 47529, 76880, 69905, 88336, 90169, 117846, 100877, 156066, 140791, 172724, 164123, 235340, 186083
01:29:50 <b_jonas> ais523: ^ so perlbot can reply when its nick is at the *end* rather than the start of the message. now that looks like we can abuse it to create bot loops.
01:53:28 <b_jonas> `` echo I0BpltRpNXO4ROdD # 7
01:53:30 <HackEso> I0BpltRpNXO4ROdD
01:54:27 <b_jonas> `` echo I0BpltRpNXO4ROdD perlbot
01:54:29 <HackEso> I0BpltRpNXO4ROdD perlbot
01:54:31 <perlbot> HackEso: `` echo I0BpltRpNXO4ROdD perlbot # 7
01:55:11 <b_jonas> right, that doesn't work because HackEso doesn't allow a nick prefix and perlbot insists on writing one
01:55:15 <b_jonas> should try with lambdabot then
01:55:33 <b_jonas> lambdabot echo w9yIsEfJ-PAAG-r7
01:55:55 <b_jonas> lambdabot run "qCb1gLbwh6i8q-_n"
01:56:06 <b_jonas> no, I think lambdabot wants a punctuation prefix too
01:58:09 <b_jonas> lambdabot: run "qCb1gLbwh6i8q-_n"
01:58:26 <b_jonas> lambdabot: @run "CcmI9RaPVjLnO_IS"
01:58:27 <lambdabot> "CcmI9RaPVjLnO_IS"
02:04:14 <b_jonas> perlbot I0BpltRpNXO4ROdD
02:04:17 <perlbot> b_jonas: @run const (var "perlbot I0BpltRpNXO4ROdD") 6
02:04:36 <b_jonas> @run var "perlbot I0BpltRpNXO4ROdD"
02:04:38 <lambdabot> perlbot I0BpltRpNXO4ROdD
02:05:08 <b_jonas> @run var "I0BpltRpNXO4ROdD perlbot"
02:05:10 <lambdabot> I0BpltRpNXO4ROdD perlbot
02:06:08 <b_jonas> @run var "I0BpltRpNXO4ROdD perlbot"
02:06:10 <lambdabot> I0BpltRpNXO4ROdD perlbot
02:06:36 <b_jonas> compose {echo {fact nYLoSe5MxIZZPjKl is 8} {fact macro I0BpltRpNXO4ROdD is ^compose ^eval $n= ^quote d ^fact nYLoSe5MxIZZPjKl''-1;$n<0 and $n=0; $s=1<$n? q/@run const (var "I0BpltRpNXO4ROdD perlbot") /.$n :"done"; "<eval <quote d <fact nYLoSe5MxIZZPjKl is $n>>; q/$s/>"''}}
02:06:40 <b_jonas> perlbot compose {echo {fact nYLoSe5MxIZZPjKl is 8} {fact macro I0BpltRpNXO4ROdD is ^compose ^eval $n= ^quote d ^fact nYLoSe5MxIZZPjKl''-1;$n<0 and $n=0; $s=1<$n? q/@run const (var "I0BpltRpNXO4ROdD perlbot") /.$n :"done"; "<eval <quote d <fact nYLoSe5MxIZZPjKl is $n>>; q/$s/>"''}}
02:06:40 <perlbot> b_jonas: Stored nYLoSe5MxIZZPjKl is 8 Stored I0BpltRpNXO4ROdD is ^compose ^eval $n= ^quote d ^fact nYLoSe5MxIZZPjKl''-1;$n<0 and $n=0; $s=1<$n? q/@run const (var "I0BpltRpNXO4ROdD perlbot") /.$n :"done"; "<eval <quote d <fact nYLoSe5MxIZZPjKl is $n>>; q/$s/>"''
02:06:45 <b_jonas> @run var "I0BpltRpNXO4ROdD perlbot"
02:06:46 <lambdabot> I0BpltRpNXO4ROdD perlbot
02:07:00 <b_jonas> @run var "nYLoSe5MxIZZPjKl perlbot"
02:07:01 <lambdabot> nYLoSe5MxIZZPjKl perlbot
02:07:10 <b_jonas> @run var "perlbot nYLoSe5MxIZZPjKl"
02:07:12 <lambdabot> perlbot nYLoSe5MxIZZPjKl
02:07:33 <b_jonas> maybe perlbot is just ignoring lambdabot?
02:07:52 <b_jonas> nYLoSe5MxIZZPjKl perlbot
02:07:52 <perlbot> b_jonas: 8
02:13:52 <int-e> that's okay, lambdabot is ignoring perlbot too
02:14:02 <b_jonas> fungot: ^ul (FRsj49pFzUGPbGn-)S
02:14:02 <fungot> b_jonas: ( a
02:15:14 <b_jonas> I don't know then, but this perlbot nick suffix invocation still sounds like it's ripe for a botloop, we just don't have enough other bots to potentiate that
02:17:37 <int-e> it wasn't ignoring esolangs though. added that
02:20:59 <int-e> (to be clear, my "it" was lambdabot. I don't even know who runs perlbot.)
02:25:38 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168655&oldid=168603 * NTMDev * (+19) /* Replace substrings */
02:26:32 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168656&oldid=168655 * NTMDev * (+146) /* Functions */
02:27:42 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168657&oldid=168656 * NTMDev * (+21) /* Slicing */
02:44:29 <esolangs> [[Chicken]] M https://esolangs.org/w/index.php?diff=168658&oldid=163435 * None1 * (-14) /* External resources */
03:25:11 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168659&oldid=168657 * NTMDev * (+192) /* Bugs */
04:18:27 -!- pool has quit (Read error: Connection reset by peer).
04:20:32 -!- pool has joined.
07:28:45 <esolangs> [[Special:Log/upload]] upload * None1 * uploaded "[[File:Readable.png]]": Logo of the [[Readable]] esolang
07:33:23 <esolangs> [[Readable]] https://esolangs.org/w/index.php?diff=168661&oldid=168612 * None1 * (+416) Add infobox for Readable
07:41:36 <esolangs> [[Wizzcake]] M https://esolangs.org/w/index.php?diff=168662&oldid=124596 * None1 * (+0) Fix typo
07:42:12 <esolangs> [[Wizzcake]] https://esolangs.org/w/index.php?diff=168663&oldid=168662 * None1 * (+29)
07:43:02 <esolangs> [[Wizzcake+]] M https://esolangs.org/w/index.php?diff=168664&oldid=139937 * None1 * (+1) Fix typos
07:43:31 <esolangs> [[Wizzcake+]] M https://esolangs.org/w/index.php?diff=168665&oldid=168664 * None1 * (+1) /* The Base Instructions */
07:44:06 <esolangs> [[Wizzcake+]] M https://esolangs.org/w/index.php?diff=168666&oldid=168665 * None1 * (-25) There is input
07:46:06 <esolangs> [[Brainfuck extended]] M https://esolangs.org/w/index.php?diff=168667&oldid=144901 * None1 * (+0) /* Register Commands */ Fix typo
07:49:39 <esolangs> [[B2C]] M https://esolangs.org/w/index.php?diff=168668&oldid=144777 * None1 * (+1) /* Introduction */ 3rd person
07:53:45 <esolangs> [[Braindeadcpu]] M https://esolangs.org/w/index.php?diff=168669&oldid=154883 * None1 * (-1) Fix typos
07:54:23 <esolangs> [[Braindeadcpu]] M https://esolangs.org/w/index.php?diff=168670&oldid=168669 * None1 * (+23)
07:54:41 <esolangs> [[B2C]] M https://esolangs.org/w/index.php?diff=168671&oldid=168668 * None1 * (+32) /* External resources */
08:05:06 -!- svm has joined.
08:07:42 -!- msv has quit (Ping timeout: 244 seconds).
08:20:09 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168672&oldid=168619 * PhiPhiPHIpHi * (-209)
08:20:14 -!- tromp has joined.
08:20:35 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168673&oldid=168672 * PhiPhiPHIpHi * (-52)
08:34:16 <esolangs> [[Push-up automaton]] https://esolangs.org/w/index.php?diff=168674&oldid=149868 * JIT * (+9)
08:35:39 -!- Sgeo has quit (Read error: Connection reset by peer).
08:40:14 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168675&oldid=168673 * PhiPhiPHIpHi * (+59)
09:03:22 <esolangs> [[Quests]] https://esolangs.org/w/index.php?diff=168676&oldid=122276 * ChuckEsoteric08 * (+859) Improved translation of Minsky machine
09:15:10 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=168677&oldid=168661 * None1 * (-1) /* Commands */
09:17:15 <esolangs> [[Readable/ASCII Readable]] N https://esolangs.org/w/index.php?oldid=168678 * None1 * (+208) Created page with ":{{Back|Readable}} It's a dialect of [[Readable]] that uses {{cd|=}} instead of {{cd|}} (U+2212). ==Implementations== The author's implementation of [[Readable]] actually interprets ASCII Readable as well."
09:17:32 <esolangs> [[Readable/ASCII Readable]] M https://esolangs.org/w/index.php?diff=168679&oldid=168678 * None1 * (+3)
09:17:55 <esolangs> [[Readable/ASCII Readable]] M https://esolangs.org/w/index.php?diff=168680&oldid=168679 * None1 * (+1)
09:20:23 <esolangs> [[Readable]] https://esolangs.org/w/index.php?diff=168681&oldid=168677 * None1 * (+171)
09:22:34 <esolangs> [[Viktor's Divisibility Checker]] https://esolangs.org/w/index.php?diff=168682&oldid=168642 * Yayimhere2(school) * (+1) /* Syntax */
09:23:58 <esolangs> [[Viktor's Divisibility Checker]] https://esolangs.org/w/index.php?diff=168683&oldid=168682 * Yayimhere2(school) * (+150) /* Syntax */
09:24:17 <esolangs> [[Template:Sub]] N https://esolangs.org/w/index.php?oldid=168684 * None1 * (+170) Created page with "<includeonly>[[{{{1}}}/{{{2}}}|{{{2}}}]]</includeonly><noinclude>==Usage== <nowiki>{{Sub|Deadfish|Constants}}</nowiki> Results in: {{Sub|Deadfish|Constants}}</noinclude>"
09:24:48 <esolangs> [[Viktor's Divisibility Checker]] https://esolangs.org/w/index.php?diff=168685&oldid=168683 * Yayimhere2(school) * (+4) /* Syntax */
09:25:26 <esolangs> [[Viktor's Divisibility Checker]] https://esolangs.org/w/index.php?diff=168686&oldid=168685 * Yayimhere2(school) * (+17) /* Syntax */
09:26:17 <esolangs> [[Viktor's Divisibility Checker]] https://esolangs.org/w/index.php?diff=168687&oldid=168686 * Yayimhere2(school) * (+74) /* Syntax */
09:45:03 <esolangs> [[Special:Log/newusers]] create * Timm * New user account
09:56:10 <esolangs> [[3x]] https://esolangs.org/w/index.php?diff=168688&oldid=161543 * Yayimhere2(school) * (-29) /* Implementations */ There's no proof of turing completeness, so I took of the tag.
09:56:13 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168689&oldid=168650 * Timm * (+89)
09:59:26 <esolangs> [[User:Timm]] N https://esolangs.org/w/index.php?oldid=168690 * Timm * (+51) Created page with "hi i don't have idea on this page =='''''bye'''''=="
10:44:00 <esolangs> [[ByteByteIfJump]] N https://esolangs.org/w/index.php?oldid=168691 * Timm * (+884) Created page with "hi ByteByteIfJump has this format: A B C D it does: B* = B* - A* if B* = C* then jump D* ?* is change or get address cell in code ?* output ? not get address cell all negative numbers in this esolang are fffffffffffffffffffffffffffffffffffffffffffffffff
10:44:21 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=168692&oldid=168691 * Timm * (+12)
10:46:06 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=168693&oldid=168692 * Timm * (+62)
10:46:57 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=168694&oldid=168693 * Timm * (-2)
10:48:36 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=168695&oldid=168690 * Timm * (+51)
11:07:56 <APic> Hi
11:25:37 -!- wob_jonas has joined.
11:26:36 -!- wob_jonas71 has joined.
11:27:09 -!- wob_jonas has quit (Killed (NickServ (GHOST command used by wob_jonas71))).
11:27:13 -!- wob_jonas71 has changed nick to wob_jonas.
11:31:47 -!- wob_jonas has quit (Ping timeout: 250 seconds).
11:36:20 <esolangs> [[Talk:Last ReSort]] https://esolangs.org/w/index.php?diff=168696&oldid=72385 * Yayimhere2(school) * (-49) It was *signed* with like the format and everything sooooo deleted the unsigned
12:25:27 -!- svm has changed nick to msv.
12:35:36 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:36:23 -!- tromp has joined.
12:51:49 -!- amby has joined.
13:34:26 -!- Yayimhere has joined.
13:35:17 <Yayimhere> hello
13:35:39 <Yayimhere> I have a name, and I wanna know your opinions on it: The Brezis-Krugman Drunkard
13:39:04 <esolangs> [[MultiScript]] https://esolangs.org/w/index.php?diff=168697&oldid=168622 * PrySigneToFry * (+39)
14:10:03 <esolangs> [[Talk:Plushie-complete]] https://esolangs.org/w/index.php?diff=168698&oldid=142462 * Yayimhere2(school) * (+154) /* A lot of Esolangs are Plushie-complete */
14:14:53 -!- pr1sm has joined.
14:20:52 -!- ais523 has joined.
14:24:12 <esolangs> [[Talk:Plushie-complete]] https://esolangs.org/w/index.php?diff=168699&oldid=168698 * Corbin * (+253) /* Plushie-completeness isn't isomorphism-invariant */ new section
14:35:54 <esolangs> [[Atamagaokashii]] M https://esolangs.org/w/index.php?diff=168700&oldid=168491 * RaiseAfloppaFan3925 * (+239) /* Examples */ I have no excuses to not put anything new in the language but I have no ideas for the language
14:39:40 -!- pr1sm has quit (Ping timeout: 264 seconds).
15:16:39 -!- pr1sm has joined.
15:27:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:28:20 -!- pr1sm has quit (Remote host closed the connection).
15:32:04 <esolangs> [[CARP]] M https://esolangs.org/w/index.php?diff=168701&oldid=167537 * TheCanon2 * (+61) Addition program
15:35:45 -!- Yayimhere has quit (Ping timeout: 250 seconds).
15:57:40 -!- tromp has joined.
16:02:00 -!- Yayimhere has joined.
16:23:53 <Yayimhere> hello ais
16:24:28 <Yayimhere> i hadet noticed you joined
16:26:32 <korvo> I'd like to either categorize joke concepts or start deleting pages like [[Plushie-complete]]. The cognitive load of constantly remembering that some concepts are jokes is starting to itch.
16:27:23 <Yayimhere> I think joke concepts definitely are a good idea
16:28:56 <ais523> I don't think Plushie-complete is necessarily intended as a joke, it's just an excessively childish view of programming
16:28:57 -!- Lord_of_Life_ has joined.
16:29:45 <Yayimhere> ais523: in fact
16:30:01 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
16:30:14 <ais523> ill-defined concepts like that get posted all the time, not just on esolangs.org, by people who don't realise how wide the field of programming actually is
16:30:19 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:30:49 <ais523> code golf stack exchange has struggled with challenges like "write a factorial function without using multiplication" which are likewise impossible to define when the languages get too general
16:37:27 <korvo> ais523: Worse, I think PSTF is often using a chatbot to hold a translation party. I think that we are merely used to what translation-party bot output looks like and don't think of it as slop.
16:38:07 <ais523> korvo: well such output is intended to be laughed at
16:38:55 <ais523> I do still think it's offtopic, but someone was working on gradually migrating it all away from esolangs.org which is a good outcome
16:39:15 <esolangs> [[Talk:Last ReSort]] https://esolangs.org/w/index.php?diff=168702&oldid=168696 * Aadenboy * (+50) the second message was placed after the fact
16:39:34 <korvo> ...Huh, none of the idiom dictionaries seem to know that one. Lucky 10000: A translation party is a repeated translation of text from one language to another, to another, to another... It's like the game of telephone, which I think is still called "Chinese whispers" in the Commonwealth.
16:40:17 <korvo> Yayimhere: I've asked before about a [[category:joke concepts]] but we don't have it yet. Some folks thought that we should delete joke concepts instead.
16:40:58 <Yayimhere> korvo: tbh, a lot of joke concepts are just filling the wiki with "nonsense" and such
16:42:36 <ais523> I imagine lots of people see the computational classes and think "I want to make one of those of my own"
16:43:10 <ais523> but don't know what makes a computational class interesting, and/or don't realise that it's likely that most of the interesting ones have already been discovered
16:43:12 <Yayimhere> true
16:43:13 <korvo> Yayimhere: Yes. However, I'm an inclusionist, so that's not a strong-enough reason for me to push for deletion as the only approach. Moreover, I see this wiki as an inclusionist refuge from deletionist English WP.
16:43:29 <int-e> hehe, compute n! as a probabilistic computable real by sampling random permutations of 1..n, recording unique ones, and reporting the number of unique ones seen so far for each sample. (converges to n! almost certainly)
16:43:30 <Yayimhere> korvo: I guess that makes sense
16:43:52 <ais523> (there are two computational classes that I haven't seen documented before but think are interesting, the https://esolangs.org/wiki/Conedy computational class and the https://esolangs.org/wiki/Feed_the_Chaos computational class, which are possibly the same as each other although probably not)
16:44:33 <korvo> I'm reminded of when I was a child and we played "wall ball". This is a game involving a wall and a bouncing ball; the rules aren't important. What is important is that the children would keep coming up with new rules which involved saying magic words and waving their hands near the ball, and learning those extra rules was how to win.
16:44:44 <int-e> (well it's a rather weak notion of computability... usually you want to satisfy given error bounds, not just convergence)
16:45:08 <ais523> korvo: there are some semi-formalized versions of that basic idea, such as Mao
16:45:25 <korvo> One day the physical education teacher came out and showed us the actual rules. There were like four of them. He then *forbade magic words* and required everybody to play using only the bare rules, and disqualified anybody who tried to wave their hands or chant.
16:45:50 <ais523> korvo: and that completely ruined the game?
16:46:10 <int-e> korvo: so Calvinball is real
16:46:50 <int-e> and scary dinosaur teachers
16:46:58 <korvo> ais523: Oh, no, it saved it! I'm a big fan of Kong Fuzi, who had similar opinions about the scholars around him; they played by magic and rumors rather than what was best for a then-sprawling empire.
16:47:51 <ais523> so when I was at school, we often played a game in the playground that the other players just called "longball", and I assumed it was just made up or custom to the school
16:47:54 <korvo> int-e: Watterson's from the same part of the USA, yeah. This is what the more secular parts of the States look like.
16:48:16 <ais523> and very recently I discovered it was based on an actual game https://en.wikipedia.org/wiki/Danish_longball and was following the real rules of that game very closely
16:48:30 <ais523> (the primary adaptation was that we didn't have a playing field of the correct dimensions, so we improvised)
16:48:51 <korvo> Anyway, Kong Fuzi's biggest idea, the one that he (obliquely) said that the emperor should do, was to "rectify the words" that the empire used to describe everything. Call eggs "eggs" and not something else.
16:48:58 <ais523> also we used our legs rather than a bat, but that's also probably a concession to not having the appropriate equipment
16:49:27 <ais523> but I was shocked to discover that it was actually a real game
16:49:54 <korvo> Oh, fun. TIL. Apparently ours was a real game too: https://en.wikipedia.org/wiki/Wallball_(children%27s_game)
16:50:28 <korvo> Oh no, the memories are real https://en.wikipedia.org/wiki/Four_square
16:55:15 <fizzie> Finland has its own spin-off version of baseball, which sometimes causes a little confusion because we don't have a separate word for the American one: https://en.wikipedia.org/wiki/Pes%C3%A4pallo
16:55:48 <fizzie> I guess not too dissimilarly from the whole football/soccer thing, except maybe the games aren't _quite_ as different.
16:55:59 -!- Yayimhere has quit (Quit: Client closed).
17:02:11 <fizzie> Oh, I'd forgotten (but now do vividly remember) that mechanism for determining which team bats first, which is this weird minigame where single representatives of both teams take turns grabbing the bat consecutively higher up (starting from where the referee grabbed it when it was thrown at them), and the winner's the one who gets the last grab.
17:04:56 <esolangs> [[Boinkfuck]] N https://esolangs.org/w/index.php?oldid=168703 * Esolangist alt * (+855) Esolangist alt
17:05:29 <fizzie> Sports terms could do with some straightening up. The ball game we call "polttopallo" is the one generally known as dodgeball, but apparently Swedish "brännboll" (which it is basically a literal translation of) is close to that longball you mentioned.
17:26:08 <esolangs> [[1AMB0A]] N https://esolangs.org/w/index.php?oldid=168704 * Esolangist alt * (+800) Esolangist alt
17:37:04 <ais523> <fizzie> Finland has its own spin-off version of baseball, which sometimes causes a little confusion because we don't have a separate word for the American one ← you could just call it "American baseball", like Brits say "American football"
17:38:08 <ais523> that said, descriptive terms can also work for this sort of thing – Canadians call the British version of hockey "field hockey"
17:43:13 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:50:09 <esolangs> [[Solus]] N https://esolangs.org/w/index.php?oldid=168705 * H33T33 * (+645) Created page with "{{WIP}} Solus is a language being developed in C++ by [[User:H33T33]]. Solus works by reading characters one by one from a file. It will only ever hold one character at a time, meaning characters cannot work together. They can only adjust the different states of the progra
17:50:42 <fizzie> We call it "maahockey", where fi:maa = en:earth, ground. I guess because it's not on ice. ("Normal" hockey we call "jääkiekko", lit. "ice disc".)
17:52:37 <fizzie> Which is a little misleading, because the puck isn't made of ice.
17:56:34 -!- tromp has joined.
18:02:57 <b_jonas> ais523: those kinds of descriptive terms are often bad in English. "diving" means two generalized sports: one where the goal is to be underwater, including scuba diving and freediving; one is for jumping from a raised platform into water in an aesthetic way. The latter is sometimes called "olympic diving", you can understand why that's a bad name. The former is sometimes called "scuba diving", but
18:03:03 <b_jonas> that's not inclusive enough. There's a similar problem with the sports of rhythmic gymnastics and "olympic" gymnastics.
18:05:31 <b_jonas> nope, the latter is called "artistic gymnatics", which sounds stupid because rhythmic gymnastics is artistic too.
18:06:08 <b_jonas> both of them are (or were) on the olympic games.
18:14:44 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:30:06 -!- tromp has joined.
19:28:00 <b_jonas> "<ais523> the Emacs and vi/vim philosophies are orthogonal […] Emacs solves some problems, vim solves some other problems" => a vi fan could take this as insulting emacs, as in, vi solves the problem of editing text files, emacs has lots of features but sucks at the supposed original purpose of editing text files. it's like that urban legend about the 2000s mobile phone that has all sorts of fancy
19:28:06 <b_jonas> modern features but they forgot to implement phone calls on it.
19:28:33 <ais523> b_jonas: I'm OK if they take it like that – Emacs has an editor but it isn't optimized for editing, the optimization priorities are different
19:29:44 <ais523> I guess another point of view is that my laptop has a similar feature set to a modern phone, and when combined with my cellular router it can be used for almost all the same purposes
19:29:47 <ais523> but it can't make phone calls
19:31:03 <ais523> (Emacs is pretty good for editing by now, though)
19:31:28 <ais523> there's also a philosophical question of whether the better way to switch modes is using esc or ctrl
19:31:51 <ais523> (if you think of Emacs as modal except you have to hold Ctrl while not in insert mode, it's a fairly good mental model)
19:32:00 <ais523> (although not fully accurate)
19:36:38 <ais523> I do feel like becoming fully productive with vi/vim takes much longer than becoming fully productive with Emacs – in vi you often want to say things like "go 19 lines forwards" for full efficiency but I find it hard to count the lines quickly enough
19:36:44 <ais523> it has to be done subconsciously to be worthwhile
19:37:15 <ais523> in Emacs you can do the same thing (C-19n) but it isn't idiomatic, holding down a "move down" input or using the mouse would be more common
19:41:28 <korvo> I don't use acme, but I recently re-read the acme paper, and it definitely solves some problems in a way that is neither vim nor emacs. The amount of mouse is interesting.
19:48:45 -!- impomatic has joined.
21:33:06 <esolangs> [[Talk:Plushie-complete]] https://esolangs.org/w/index.php?diff=168706&oldid=168699 * * (+188) /* !INTERNET is Plushie-complete */ new section
21:44:41 <esolangs> [[!itoe]] N https://esolangs.org/w/index.php?oldid=168707 * * (+523) Created page with "'''!itoe''' is an esolang made by [[User:]]. ==Commands== {| class="wikitable" |+ Caption text |- ! Command !! Definition |- | ti (a) (b) || Sets a variable. |- | ado (a) || Prints a value. |- | +-*/|| Math operators. |- | gozayiho (a) ja (b) ija (c) || If command |- | ikunude (a
21:45:16 <esolangs> [[Category:Esolangs made by ]] N https://esolangs.org/w/index.php?oldid=168708 * * (+36) Created page with "A list of esolangs [[User:]] made"
21:49:26 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=168709&oldid=168647 * * (+12) /* Non-alphabetic */
21:53:38 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Category:Esolangs made by ]]": unapproved category (you could keep a list on your userpage instead if you wanted to)
21:59:31 -!- joast has quit (Quit: Leaving.).
22:07:25 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=168710 * * (+412) Created page with "{{Distinguish/Confusion|}} is an esolang made by [[User:]]. It's basically [[bf]] but the symbols are replaced with squares. {| class="wikitable" |+ Caption text |- ! BF !! |- | + || |- | - || |- | . || |- | < || |- | > || |- | , || |- | [ || |- | ] || |} [[Category:Brainfu
22:07:31 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168711&oldid=147736 * * (+4)
22:08:37 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168712&oldid=168710 * * (+0)
22:11:36 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168713&oldid=168712 * * (-3)
22:11:51 <esolangs> [[!itoe]] https://esolangs.org/w/index.php?diff=168714&oldid=168707 * * (-16)
22:25:25 <esolangs> [[!itoe is Turing-complete]] N https://esolangs.org/w/index.php?oldid=168715 * * (+294) Created page with "Here, [[User:]] will prove the Turing-completeness of [[!itoe]]. Compared to [[bf]]: {| class="wikitable" |- ! !itoe !! BF |- | tasindu || , |- | ikunude || [ and ] |- | +-*/ || + and - |- | ado || . |} We also have variables, so < and > aren't a problem. As so
22:25:53 <esolangs> [[!itoe is Turing-complete]] https://esolangs.org/w/index.php?diff=168716&oldid=168715 * * (+20)
22:26:57 <esolangs> [[Special:Log/move]] move * * moved [[!itoe is Turing-complete]] to [[!itoe Turing-completeness proof]]: consistency with the rest of the proofs
22:35:57 -!- sytra has joined.
22:38:09 -!- sytra has quit (Client Quit).
22:38:40 -!- sytra has joined.
22:39:25 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168719&oldid=168646 * Buckets * (+9)
22:40:39 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168720&oldid=168709 * Buckets * (+10)
22:41:04 <esolangs> [[3-h]] N https://esolangs.org/w/index.php?oldid=168721 * Buckets * (+1556) Created page with "3-h is an Esoteric Programming language created By [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | 0a || It will Create 3 Children At the Root Index of a In ternary. |- | 1b || It will Share the Number in the Root At the Root Index of b In
22:42:50 <APic> Good Night
22:43:42 -!- sytra has quit (Remote host closed the connection).
22:47:54 <esolangs> [[100]] N https://esolangs.org/w/index.php?oldid=168722 * * (+529) Created page with "100 is an esolang made by [[User:]]. ==Commands== {| class="wikitable" |- ! Command !! What it does |- | + || Adds 1. |- | || Adds 100. |- | - || Subtracts 1. |- | || Subtracts 100. |- | !{} || Loops the amount of times on the current pointer location. |- | @{} || Loops 100 times
22:51:09 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=168723&oldid=168720 * * (+10) /* Non-alphabetic */
22:52:37 -!- DOS_User_webchat has joined.
23:01:39 -!- DOS_User_webchat has quit (Ping timeout: 250 seconds).
23:01:43 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:05:47 -!- DOS_User_webchat has joined.
23:11:16 <esolangs> [[15]] N https://esolangs.org/w/index.php?oldid=168724 * * (+438) Created page with "15 is an esolang made by [[User:]]. {| class="wikitable" |+ Caption text |- ! Code !! What it does |- | / || Adds |- | \ || Subtracts |- | || Multiplies |- | || Divides |- | || If operator |- | || Print top of the stack |- | || Request input |- | || True |- | || False |- | |
23:11:31 <esolangs> [[15]] https://esolangs.org/w/index.php?diff=168725&oldid=168724 * * (-3)
23:11:58 <esolangs> [[N15]] N https://esolangs.org/w/index.php?oldid=168726 * * (+19) Redirected page to [[15]]
23:12:03 -!- DOS_User_webchat has quit (Ping timeout: 250 seconds).
23:12:22 <esolangs> [[N15]] N https://esolangs.org/w/index.php?oldid=168727 * * (+19) Redirected page to [[15]]
23:14:15 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=168728&oldid=168723 * * (+18) /* Non-alphabetic */
23:15:39 <esolangs> [[15]] https://esolangs.org/w/index.php?diff=168729&oldid=168725 * * (+48)
23:24:57 <esolangs> [[Talk:Plushie-complete]] https://esolangs.org/w/index.php?diff=168730&oldid=168706 * * (+335) /* My esolangs are Plushie-complete */ new section
23:25:26 <esolangs> [[Talk:Plushie-complete]] M https://esolangs.org/w/index.php?diff=168731&oldid=168730 * * (+86) /* 15 */
23:27:40 -!- pool has quit (Ping timeout: 264 seconds).
23:31:40 -!- uparrow has joined.
23:32:57 <uparrow> Hi, i am ↑‎
23:33:11 -!- uparrow has quit (Client Quit).
23:33:41 <int-e> `unidecode ↑⇈
23:33:44 <HackEso> ​[U+2191 UPWARDS ARROW] [U+21C8 UPWARDS PAIRED ARROWS]
23:34:35 -!- Sgeo has joined.
23:35:54 <ais523> `welcome
23:35:56 <HackEso> 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.)
23:37:18 -!- pool has joined.
23:45:09 <esolangs> [[Esolang talk:Featured languages]] https://esolangs.org/w/index.php?diff=168732&oldid=130511 * * (+164) /* Please update the featured language */ new section
23:47:00 <ais523> the problem with asking to update the featured language is that we need multiple admins to make the decision, and there aren't really multiple admins
23:47:23 <ais523> also I'm not really involved in the featured languages process, so you'd probably need two admins who aren't me
23:47:57 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168733&oldid=168675 * PhiPhiPHipHi2.0 * (-9)
2025-11-20
00:48:33 -!- impomatic has quit (Quit: Client closed).
01:21:53 -!- 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:33:12 <zzo38> I am not sure if I remembered somewhere about the multi-byte characters in ISO 2022, how many bytes they are depending on the last byte of the escape code to select that character set. Is this correct?
03:08:58 -!- joast has joined.
03:11:34 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168734&oldid=168659 * NTMDev * (+1228) /* Defining Functions */
04:06:37 -!- ais523 has quit (Quit: quit).
05:29:03 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168735&oldid=168733 * PhiPhiPHIpHi * (+104)
05:35:16 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in).
05:41:59 -!- slavfox has joined.
05:48:29 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168736&oldid=168735 * PhiPhiPHIpHi * (+102)
05:49:30 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168737&oldid=168736 * PhiPhiPHIpHi * (+3)
07:18:00 <zzo38> Esolang wiki has 504 error
07:54:27 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168738&oldid=168645 * Yayimhere2(school) * (-47) /* esolangs */
07:56:26 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=168739&oldid=168738 * Yayimhere2(school) * (-37) /* esolangs */
07:59:00 <esolangs> [[/]] https://esolangs.org/w/index.php?diff=168740&oldid=166395 * Yayimhere2(school) * (+35) /* syntax */
08:04:16 <esolangs> [[Word worm]] https://esolangs.org/w/index.php?diff=168741&oldid=137922 * Yayimhere2(school) * (+38) /* types */
08:12:04 <esolangs> [[Brainhook]] https://esolangs.org/w/index.php?diff=168742&oldid=138528 * Yayimhere2(school) * (-32) /* commands */
08:50:18 <esolangs> [[Self destruct]] https://esolangs.org/w/index.php?diff=168743&oldid=126830 * JIT * (+36)
08:58:46 -!- tromp has joined.
09:00:08 -!- Sgeo has quit (Read error: Connection reset by peer).
09:06:03 <esolangs> [[Special:Log/newusers]] create * Redstoneboi * New user account
09:07:31 -!- APic has quit (Ping timeout: 264 seconds).
09:11:00 <esolangs> [[9786]] N https://esolangs.org/w/index.php?oldid=168744 * JIT * (+17) Redirected page to [[]]
09:25:48 <esolangs> [[Talk:7]] https://esolangs.org/w/index.php?diff=168745&oldid=50799 * Yayimhere2(school) * (+258)
09:36:33 -!- ehmry has quit (Ping timeout: 260 seconds).
09:59:37 -!- APic has joined.
10:31:25 -!- ehmry has joined.
11:14:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:16:05 <esolangs> [[Works in progress]] https://esolangs.org/w/index.php?diff=168746&oldid=167526 * Lampe2020 * (+133) Add Stackowey
11:17:14 <esolangs> [[Stackowey]] https://esolangs.org/w/index.php?diff=168747&oldid=157017 * Lampe2020 * (+48) /* Turing-completeness */ Add note of missing proof
11:22:02 -!- tromp has joined.
11:41:52 <esolangs> [[Readable]] https://esolangs.org/w/index.php?diff=168748&oldid=168681 * None1 * (+280) Turing-complete because of the [[brainfuck]] interpreter.
11:42:12 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=168749&oldid=168748 * None1 * (+23) /* Computational class */
11:42:36 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=168750&oldid=168749 * None1 * (+0)
11:48:44 <esolangs> [[Brainfuck/Esointerpreters]] https://esolangs.org/w/index.php?diff=168751&oldid=164112 * None1 * (+10717) /* Piet */ Add [[Readable]] implementation
11:55:01 -!- msv has quit (Remote host closed the connection).
12:04:43 <APic> Hi
12:12:52 <esolangs> [[Talk:Plushie-complete]] https://esolangs.org/w/index.php?diff=168752&oldid=168731 * None1 * (+318) /* Plushie-completeness isn't isomorphism-invariant */ I can't understand, please explain it.
12:24:05 <esolangs> [[Non-Plushie-complete]] https://esolangs.org/w/index.php?diff=168753&oldid=167034 * None1 * (+151)
12:24:39 <esolangs> [[Non-Plushie-complete]] M https://esolangs.org/w/index.php?diff=168754&oldid=168753 * None1 * (+18) Emphasis
12:34:13 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:35:21 <esolangs> [[Kolakoski sequence]] M https://esolangs.org/w/index.php?diff=168755&oldid=163384 * None1 * (+20) /* brainfuck */
12:35:26 <esolangs> [[Kolakoski]] N https://esolangs.org/w/index.php?oldid=168756 * None1 * (+32) Redirected page to [[Kolakoski sequence]]
13:15:52 -!- ais523 has joined.
13:19:52 <ais523> zzo38: ISO 2022 is complicated because it uses control sequences to select various character sets over the bottom half and top half of the encoding space, so it can reasonably be used by either a) selecting two character sets and then using them to represent all the characters, or b) treating the character set selection codes themselves as part of the encoding of the characters to get a larger space
13:21:33 <ais523> when using approach a), the number of bytes that characters use in each half is sort-of implied by the escape code to select the character set for that half, but it's based on the second byte, not the last byte; if the second byte is 0x24 then characteres in that half always use 2 or more bytes (but it doesn't say how many), if the second byte isn't 0x24 then characters in that half are formed of just a single byte
13:23:13 <ais523> also there is a third set of character set selection codes that are allowed break the normal ISO 2022 rules by adding encodings for characters that ISO 2022 normally doesn't allow, e.g. there's an ISO 2022 code to select UTF-8 but it is in the third set because a UTF-8 character can end with a byte in the range 0x80-0x9F which is not allowed in ISO 2022
13:23:28 <ais523> * allowed to break
13:25:14 <ais523> and those codes don't suggest character byte width at all because ISO 2022 doesn't make assumptions about how they work (except that you can ask it to make one assumption: that 0x1B 0x25 0x40 encodes to ESC 0x25 0x40 which is the control sequence for switching back to ISO 2022)
13:25:50 <ais523> UTF-8 does encode like that, so UTF-8 has the "standard return" assumption; UTF-16 and UTF-32 don't (they have extra NUL characters in) so they use a form of the code that doesn't have the standard return assumption
13:26:11 <ais523> err, in my last two lines I meant "decode" not "encode"
13:26:17 <ais523> and 0x00 not NUL
13:26:40 <ais523> I didn't answer this question last night because I was too tired, but apparently I'm still too tired to answer it accurately first time
13:46:21 <esolangs> [[Special:Log/newusers]] create * Jeff * New user account
13:54:04 -!- tromp has joined.
14:01:18 -!- ais523 has quit (Quit: quit).
14:12:10 <esolangs> [[Talk:Plushie-complete]] https://esolangs.org/w/index.php?diff=168757&oldid=168752 * Corbin * (+460) /* Plushie-completeness isn't isomorphism-invariant */
14:17:37 <esolangs> [[Talk:Non-Plushie-complete]] N https://esolangs.org/w/index.php?oldid=168758 * Corbin * (+240) Created page with "Because [[Plushie-complete]] is an incoherent joke, this article is also an incoherent joke. Yet more evidence supporting the need for a joke-concept category. ~~~~"
14:18:34 <esolangs> [[!itoe]] https://esolangs.org/w/index.php?diff=168759&oldid=168714 * * (+29)
14:18:48 <esolangs> [[!itoe]] M https://esolangs.org/w/index.php?diff=168760&oldid=168759 * * (+0)
14:19:59 <esolangs> [[Talk:7]] https://esolangs.org/w/index.php?diff=168761&oldid=168745 * PkmnQ * (+143) /* Passive substrings */
14:25:52 <esolangs> [[Plushie-incomplete]] N https://esolangs.org/w/index.php?oldid=168762 * * (+275) Created page with "Plushie-incomplete is an esolang made by [[User:]] made to be not Plushie-complete. It's Python but 4 turns into , 31 turns into 13 and 2 is cubed when attempted to be stored in a variable. [[Category:Joke languages]] [[Category:2025]] [[Category:Esolangs made by ]]"
14:27:51 <esolangs> [[Plushie-incomplete]] https://esolangs.org/w/index.php?diff=168763&oldid=168762 * * (+115)
14:30:46 <esolangs> [[Non-Plushie-complete]] https://esolangs.org/w/index.php?diff=168764&oldid=168754 * * (+25) /* Examples */
14:36:19 <esolangs> [[Kylin]] N https://esolangs.org/w/index.php?oldid=168765 * PrySigneToFry * (+12049) Created page with "Kylin is an Object-oriented programming language designed by PSTF. = Overview = == Basic Structure of Programs == <pre> class Main { main() { # Your code } } </pre> Yes, even a program is in class, just like Java! == Data types == # Integer # Floa
14:45:40 <esolangs> [[Nullinullinull]] N https://esolangs.org/w/index.php?oldid=168766 * * (+749) Created page with "Nullinullinull is an esolang made by [[User:]] made specifically to make the commands unreadable. Because we use P and (russian R), it will be very unreadable, so to facilitate, russian R will be represented as R, but you can't use R in actual code. You have to use russ
15:12:49 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:24:44 -!- tromp has joined.
15:31:23 <korvo> I see that The Network is a problem this morning. Ironic, given that I want to submit an article on a well-known concept: The Network! https://bpa.st/MBVA
15:52:56 <int-e> now which one of those covers "UDP packets always arrive in order"
15:54:15 <int-e> I guess "Topology doesn't change." is part of that.
15:54:27 <int-e> Oh and I'm failing to unpack "Messages can be versioned."
15:55:58 <int-e> Is it just the Byzantine generals problem?
15:57:03 <int-e> . o O ( everything leads to eventual inconsistency )
16:06:22 -!- Sgeo has joined.
16:08:18 <fizzie> >> There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery
16:08:21 <fizzie> (Old joke, but always worth reiterating.)
16:14:39 <int-e> I don't recall seeing this particular one before. Cute.
16:15:45 <int-e> . o O ( -39. Message integ*&^x^#@1 )
16:16:02 <esolangs> [[Golficator]] https://esolangs.org/w/index.php?diff=168767&oldid=79016 * Yayimhere2(school) * (+43) /* Characteristics */ added that argueably useful programs may not halt.
16:17:19 <korvo> int-e: The original guy said "Versioning isn't simple." He's a LinkedIn kind of guy. The book which supposedly introduced it doesn't actually talk about versioning!
16:17:58 <korvo> So I've patched it up after watching his video lessons. What he *means* is that there's no way to naturally version a message on The Network because it's been reduced to octets. Deciding which version of a handler should be used is equivalent to parsing.
16:18:39 <korvo> He also talks about the difficulties in updating machines so that they all use the same version of libraries, but that's a fallacy anyway, the fallacy that remote machines are observationally transparent.
16:18:54 <korvo> I also patched up that one; in the book, what he *means* is that you should buy Splunk or other log-management services.
16:19:42 <int-e> oh so it's just that you have to plan ahead and have a version indicator from the start
16:20:47 <int-e> And if you don't you'll have to find awkward niches in your grammar later, or, if you're high enough up in the network layers, switch to a different port.
16:21:42 -!- ais523 has joined.
16:22:37 <int-e> HTTP started out with just `GET /foo` and then awkwardly added a HTTP/<version> to the end. And then, hmm, I don't know what SPDY does to switch away from that to its binary mess. Some Upgrade: alike header I suppose. I probably don't care to find out.,
16:22:53 <korvo> Yes. And, from experience, it seems like the versions should be something like Capn Proto's UUID-length identifiers rather than a single byte.
16:28:12 <int-e> Fun fact... I still can't enumerate the OSI layers. They seem to never really come up. (The layer concept itself is very useful of course. Let's make onions!)
16:29:43 <int-e> Also, while the first 4 layers make sense to me, separating the application layer into session, presentation, and application feels very artificial.
16:29:44 -!- Lord_of_Life_ has joined.
16:30:15 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
16:30:17 <int-e> (and simultaneously removed from a reality that has tunnels everywhere)
16:31:04 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:38:48 <korvo> I'm trying to remember who it was and what it was called, but I ran into a hacker at a conference once (DEFCON?) and they explained a thing that they wrote: a layer 5 OSI daemon. The idea is that, instead of dialing port 80, one dials the HTTP service.
16:39:46 <int-e> `` grep ^http /etc/services
16:39:49 <HackEso> grep: /etc/services: No such file or directory
16:39:55 <int-e> hehehe
16:40:07 <korvo> Basically. But they had pushed the concept into a few interesting directions. It's a shame that I can't remember more details.
16:40:28 <int-e> korvo: cute, but obviously you've only replaced magic numbers by magic strings :)
16:41:09 <int-e> I guess TLS adding DNI is also in that boat.
16:45:50 <avih> int-e: i didn't work on the counter after we last talked, but i realized i didn't share my version, so here https://0x0.st/KOBo.txt still longer than yours, but only by 14 chars :) i'm reasonably happy with it
16:48:58 <avih> i'll update the gist too after i polish the comments. i ended up using your ideas: "while with 1 COND" construct, my version with 2 tmps of your "if" using unbalanced jumps, and also your idea of add/sub in place where the 1st add also sets up part of the multiplier towards the sub. the overall construct (where the digits and newlines are) remains unmodified from my initial version
16:49:32 <int-e> avih: hehe, we're now sharing this funny substring: ----------[++++++++++
16:51:36 <avih> :) yeah. i've evolved the "unbalanced if" into one of several possible constructs (differ mainly where the value is restored after the initial sub 10), and in this variant it ended up perfectly because i didn't need to restore it at all, because "if (==10) {=1}", so it ended up the smallest
16:51:46 <int-e> (I say "funny" but I don't actually like that the base is encoded twice)
16:51:55 <avih> i agree
16:52:36 <avih> because the original unbalanced if was "if (==0)", but if comparing to an actual value (10), then it starts with a sub and then needs to be restored
16:52:55 -!- Yayimhere has joined.
16:53:00 <Yayimhere> hello
16:53:24 <Yayimhere> ais523, can I ask you something about 7(the esolang)?
16:53:31 <avih> so the !=10 part restores it immediately, and the "==10" part starts with the value 0 after the sub, so we only need one + to set it to 1
16:53:33 <ais523> go on
16:53:52 <Yayimhere> ok
16:54:07 <Yayimhere> how did you come up with the "frame" thing?l
16:54:20 <Yayimhere> why didnt you just use a stack?
16:55:07 <ais523> Yayimhere: so the original idea of 7 was that you could build up arbitrary data structures that existed in the language purely by concatenation
16:55:22 <ais523> appending one digit at a time
16:55:22 <Yayimhere> hm
16:55:34 <Yayimhere> interesting
16:55:47 <ais523> that meant that I was thinking of the stack as just a list of characters that commands interpreted as though it had a stack structure, but without actually being stored like a stack
16:56:00 <ais523> and so I wrote a stack-equivalent that worked like that
16:56:05 <Yayimhere> hm
16:56:06 <Yayimhere> cool!
16:56:31 <ais523> I think you can represent it using an actual stack and 7 still works, but some of the commands make less sense from that viewpoint
16:56:34 <avih> int-e: the problem with literal +/- 10 is that it's too small to use anything else. if you use mul or whatever it's already longer than doing that literally, etc
16:56:40 <Yayimhere> yea
16:56:45 <Yayimhere> makes sense
16:56:57 <Yayimhere> also how did you come up with the pacified substring thing?
16:57:29 <ais523> same thing, was trying to make data structures work by pure concatenation, and trying to work out how to represent nested structures
16:57:36 <ais523> and the way you do that using string literals is recursively escaping them
16:57:41 <esolangs> [[Langton's ant]] https://esolangs.org/w/index.php?diff=168768&oldid=144301 * Hotcrystal0 * (+0) Better link
16:57:43 <Yayimhere> cool
16:58:00 <ais523> in 7, the escaping process, of changing a command to code that produces it, is done by changing active to passive commands, so I called it pacification
16:58:33 <Yayimhere> makes sense!
16:58:51 <int-e> avih: Oh I don't mind the +10 or the -10. I'd just prefer not having both, but obviously 10 is also rather small, so you can't add a whole lot of code to avoid the duplication if your goal is to minimize the size of the program.
17:00:03 <ais523> I'm not sure that I'm happy with where 7 ended up, it turned out more esoteric than I was planning on
17:00:26 <Yayimhere> I like 7, personally
17:01:38 <ais523> cycling and 5 are mostly redundant with each other, but both have reasons to exist (5 makes it possible to write subprograms without needing to use whole-program reasoning, cycling makes it very good at writing quines)
17:01:51 <avih> int-e: so for "if (==N)", i have 3 forms of where to restore the initial sub, depending on the size of N. 0 obviously doesn't need restore, other N can be restored once before entering the "true" clause, or using a copy, or restored both inside the "false" clause (like that string your pointed out) and inside the "true" clause, but in this case not restoring is good for us, so that's what i chose.
17:01:57 <ais523> but I still don't like the fact that there are two very similar but different apsects of the language
17:02:09 <Yayimhere> lol
17:02:16 <Yayimhere> but yea
17:02:45 <ais523> also 4 is weirdly overcomplicated and I'm not sure if whatever I was optimising for when I designed it was worth it
17:03:03 <ais523> (3 is also weirdly overcomplicated, but for 3, I think it was worth it)
17:04:15 <avih> int-e: btw, i did look again at your code, and still couldn't quite get what it does :) but i know it works!
17:04:47 <avih> (i could debug it, but i didn't)
17:05:57 <Yayimhere> what do you call bracket nesting where its like (()) or ((())) or such
17:06:12 <Yayimhere> (this is for a command specification)
17:06:45 <int-e> avih: I used a lot of trial and error for the [-<-<<--<] fixup
17:07:03 <avih> heh
17:07:18 <avih> but why? didn't you actually design it?
17:08:15 <avih> (with my code i also had few trials, but i knew what i was doing, just not keeping track correctly exactly where i am, but i knew it would work)
17:08:20 -!- Yayimhere has quit (Quit: Client closed).
17:08:32 -!- Yayimhere has joined.
17:09:36 -!- sprocket has quit (Ping timeout: 256 seconds).
17:09:36 <avih> i can't fathom how it can be reached with trial and error TBH...
17:09:36 -!- sprock has joined.
17:11:11 <avih> but yeah, i also agree having 10 only once would be nicer. the question is how :)
17:11:13 <int-e> avih: The code that I designed was >>+[[----------[+++++++++++[>>]]+>>]<<[>++++++++[<<++>++++++>-]<-.+<[>---<-]<]++++++++++.[-]>>] and it adds leading zeros all over the place
17:11:58 <avih> well, i can't read it before indenting it offline...
17:13:51 <avih> btw another option, at least with my code where \n is permanently at 0, might be top use one more tmp between digits, and simply copy it from the \n at 0, but i didn't try to actually do that
17:14:35 <avih> so between every two digits there would be 1 10 and two tmps
17:15:00 <int-e> avih: Well, you can see that relatively little has changed between that version and the final one: https://paste.debian.net/1409623/
17:15:59 <int-e> So basically the added >+< sets a flag to be tested by [-<-<<--<], and that conditional removes the extra leading zero. But there's no real idea here; it's an ad-hoc fixup.
17:16:01 <avih> int-e: i don't get it. the final one (bottom, yes?) is longer than the original?!
17:16:27 <int-e> avih: well the top one prints 01 / 002 / 0003 / ...
17:16:29 <avih> or is the initial one "base" but not actually working?
17:16:32 <avih> oh
17:16:50 <int-e> which is *almost* what we want but not quite
17:18:22 <avih> int-e: wait, every +1 to the number adds new '0'? so for 1000 numbers it would end up with 1000 '0' and then '1000' ?
17:18:53 <int-e> avih: I /can/ explain the fixed up code, of course, but it's "in the case that the first loop terminated without executing the inner loop, add a leading 1; otherwise, remove the extra leading 0 that was produced." and it won't make any sense if you don't also visualize the actual tape configurations.
17:19:18 <int-e> avih: yes, you end up with a string of length n+1 for each number n.
17:19:30 <avih> right (for both).
17:19:31 <int-e> avih: though no, it'll "only" be 997 leading zeros
17:19:35 <avih> :)
17:19:53 <avih> but from your example 1 has 1 leading 0, 2 has two, etc
17:20:11 <avih> so 1000 would have 1000...
17:20:33 <avih> oh, probably one less '0' whenever adding a digit
17:21:02 <int-e> Well it goes from 0000000009 to 000000000010, which is the one case where the number of leading 0s doesn't change.
17:22:07 <int-e> (same at 100, and 1000)
17:22:07 <avih> yeah, what i imagined
17:22:07 <avih> adding digit == not adding '0'
17:22:28 <avih> int-e: is that [-<-<<--<] code basically an if? or an actual loop?
17:22:38 <int-e> the former
17:22:42 <avih> right
17:24:30 <avih> anyway, fun excersize. i don't be reaching your 110 chars, but i'm content with 124 :)
17:24:35 <avih> won't*
17:25:47 <avih> it does end up very unoptimizable though. these unbalanced if's and loops completely throw the optimizer off, and it ends up just translating it very literally
17:25:58 <esolangs> [[Iterate/Floating-point]] https://esolangs.org/w/index.php?diff=168769&oldid=168640 * Aadenboy * (+2163) /* Parse string as float */
17:26:08 <avih> (mine and others too)
17:27:43 <avih> i bet using copies would be way more optimizable
17:28:30 <avih> (and dropping all the unbalanced while/wend)
17:32:31 <int-e> I'll say that the balanced BF fragment is certainly easier to abstract from ("this is an addition, this is a multiplication, this sets a constant) so spotting optimization opportunities is easier. With unbalanced stuff you always have to keep actual tape contents in mind along with the code patterns.
17:32:43 <esolangs> [[The Network]] N https://esolangs.org/w/index.php?oldid=168770 * Corbin * (+2739) Start an important page. They all laughed at me, but who's laughing now!?
17:33:18 <int-e> And everything interacts with everything else; it becomes a whole program optimization problem very quickly.
17:35:15 <korvo> Anybody want to talk me out of writing a uxn VM? I'm not looking forward to dealing with self-modifying code but otherwise it doesn't seem harder than a Game Boy.
17:35:37 <Yayimhere> i wanna see it happen so no
17:35:38 <Yayimhere> lol
17:36:32 <korvo> Well, *somebody* ought to write a fast uxn. I'm genuinely surprised that there's no RPython version yet.
17:37:30 <Yayimhere> does anyone wanna help me make a name?
17:37:37 <Yayimhere> i have an esolang but no name ideas
17:39:49 <korvo> Show interpreter?
17:40:09 <Yayimhere> hm?
17:40:23 <korvo> Show me a test.py or main.py and I'll tell you what to rename it to.
17:40:37 <Yayimhere> im still workin on it
17:40:41 <Yayimhere> ill return!!!
17:43:26 <esolangs> [[Iterate/Floating-point]] https://esolangs.org/w/index.php?diff=168771&oldid=168769 * Aadenboy * (+71)
17:47:33 -!- msv has joined.
17:49:37 <avih> int-e: well, i did try, and succeeded to avoid the "whole program optimization". my commented version shows it's constructed nicely, i think
17:52:03 <avih> but yeah, optimizing for size can reach this state indeed
18:04:23 -!- Yayimhere has quit (Quit: Client closed).
18:08:06 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:18:29 -!- Yayimhere has joined.
18:23:05 -!- amby has joined.
18:26:42 -!- tromp has joined.
18:34:03 <esolangs> [[Chick]] N https://esolangs.org/w/index.php?oldid=168772 * Hammy * (+737) Created page with "Chick is an esolang by [[User:Hammy]] which is the [[turning tarpit]] version of [[Chicken]]. ==Commands== {| class=wikitable |- | egg || run current instruction |- | chick || move wheel left, moving "pointer" to the right. |- | chicken || opposite of chick |} ===Wheel=== Sa
19:18:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:27:59 -!- Yayimhere has quit (Ping timeout: 250 seconds).
19:39:38 <esolangs> [[Egg]] N https://esolangs.org/w/index.php?oldid=168773 * * (+790) Created page with "Egg is an esolang made by [[User:]] based on [[Chicken]] but has 4 possible words. {| class="wikitable" |- ! Commands !! What they do |- | chicken || Print chicken |- | chicken chicken || Get input |- | chicken chicken chicken || Increment |- | chicken chicken chicken chicken || De
19:45:32 <zzo38> ais523: I know all of the things you said about ISO 2022, but I was asking about how many bytes a multi-byte G set uses (it is normally 2 as far as I can tell; I seem to remember reading somewhere that if the last byte is 0x60 to 0x6F then it uses three bytes and 0x70 to 0x7E uses four bytes, but I cannot find or confirm that, nor can I disprove it since it seems there are no registered 3-byte or 4-byte G sets
19:46:09 <esolangs> [[Oisg0ba328946vbser]] https://esolangs.org/w/index.php?diff=168774&oldid=163164 * Darkloyd255 * (+3006)
19:47:42 <esolangs> [[Special:Log/move]] move * Darkloyd255 * moved [[Oisg0ba328946vbser]] to [[SeTler]]: Misspelled title: Moving it back
19:49:41 <esolangs> [[User:TheSpiderNinjas]] https://esolangs.org/w/index.php?diff=168777&oldid=165583 * Darkloyd255 * (+46)
19:52:53 <zzo38> (I had also made up a list of some unofficial ISO 2022 assignments, some of which were made by others and some I added by myself)
19:53:50 <ais523> zzo38: it isn't determined and there are some that use varying numbers of bytes
19:53:51 <ais523> like UT-1
19:53:53 <ais523> * UTF-1
19:54:07 <zzo38> (including a code to switch to TRON-8 encoding, which also switches between character planes but in a much simpler way than ISO 2022 does (and has other things which are also simpler compared with ISO 2022 or with Unicode))
19:54:09 <esolangs> [[User talk:Hammy]] N https://esolangs.org/w/index.php?oldid=168778 * * (+208) Created page with "Hey, @[[User:Hammy]], do you have the email for your Esolangist account? If you do, you can reset the password and access it. ~~~~"
19:54:29 <ais523> it is hard for character encodings not to be simpler than ISO 2022
19:55:11 <zzo38> UTF-1 uses a DOCS code, not a multi-byte G set, so it is not what I was asking about (UTF-8 also uses DOCS code)
19:55:47 <ais523> hmm, interesting – UTF-1 was designed to fit into the ISO 2022 framework, if it's using DOCS anyway that's weird
19:56:25 <ais523> maybe ISO 2022 isn't really properly defined
19:56:50 <ais523> I wrote an ISO 2022 parser last year but I invented my own rules for it to be compatible with ISO 2022 that's seen in practice, rather than the theoretical version
19:58:31 <zzo38> Also, I think most uses of ISO 2022 do not need to implement all of it, so the actual use will be simpler; e.g. DER has restrictions on the use of ISO 2022. (Also, it is unlikely that all applications will need to handle all possible control characters in all C sets; usually only a few of them will be used.)
19:58:52 <zzo38> Do you have any documents about your ISO 2022 parser?
20:06:07 <esolangs> [[User talk:Hammy]] https://esolangs.org/w/index.php?diff=168779&oldid=168778 * Hammy2 * (+158)
20:07:11 <esolangs> [[User talk:Hammy]] https://esolangs.org/w/index.php?diff=168780&oldid=168779 * * (+115)
20:10:51 <esolangs> [[User:/nil]] https://esolangs.org/w/index.php?diff=168781&oldid=166852 * * (+65)
20:17:03 <ais523> zzo38: I don't tihnk so
20:17:46 <ais523> actually I can't even remember where it is on my filesystem
20:18:52 <esolangs> [[IExpress repeater]] N https://esolangs.org/w/index.php?oldid=168782 * * (+237) Created page with "{{lowercase}} The iExpress repeater is a program made by which you input a value and the code prints "IEXPRESS!". ==Example in Python== <pre> inp = input() for i in range(inp): print("IEXPRESS!") </pre> [[Category:Program forms]]"
20:19:33 <esolangs> [[Collabi]] https://esolangs.org/w/index.php?diff=168783&oldid=166943 * * (+125) /* Added commands */
20:20:03 <esolangs> [[Collabi]] M https://esolangs.org/w/index.php?diff=168784&oldid=168783 * * (+2) /* Added commands */
20:21:58 <esolangs> [[Classese assasend objendclassese assasend objendtsend!]] N https://esolangs.org/w/index.php?oldid=168785 * Hammy2 * (+719) Created page with "{{WIP}} Classese assasend objendclassese assasend objendtsend! is an esolang by [[User:Hammy]] where everything is a class. (at least, what the creator thinks a class is...) ==Etymology== The name is "Classes and objects!" w
20:29:25 <esolangs> [[15]] https://esolangs.org/w/index.php?diff=168786&oldid=168729 * * (+26)
20:29:27 <esolangs> [[Talk:Chicken]] M https://esolangs.org/w/index.php?diff=168787&oldid=133681 * Ractangle * (+198) /* Why is chicken Turing complete */
20:33:28 <esolangs> [[Print("Hello, World!")]] https://esolangs.org/w/index.php?diff=168788&oldid=155113 * * (+196) /* Implementations */
20:35:25 <esolangs> [[User:Aadenboy/Collapsing Building]] N https://esolangs.org/w/index.php?oldid=168789 * Aadenboy * (+13760) Created page with "This is an esolang I devised back in 2022/2023 after making [[Trampolines]]. Since I was determined to make the interpreter first before documenting it, I never finished the esolang. <pre class="rectwrap"> The gimmick is that the script is s
20:38:47 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=168790&oldid=167875 * Aadenboy * (+40) /* just some drafts */ add draft
20:41:06 <ais523> zzo38: I found it, and there are lots of notes as comments within the source code, so you might be interested: http://nethack4.org/pastebin/ecma35-decoder.rs
20:41:11 <esolangs> [[Print("Hello, World!")]] https://esolangs.org/w/index.php?diff=168791&oldid=168788 * Aadenboy * (+40) add golfed lua implementation that prints a golfed hello world implementation
20:57:44 <esolangs> [[User:Aadenboy/Forces and such]] N https://esolangs.org/w/index.php?oldid=168792 * Aadenboy * (+1002) Created page with "'''Forces and such''', which is written as a generic noun, is a 2D physics-based cellular automata. == Concept == * Arrows (<code></code>) immediately create a pushing force in their direction, disappearing as they do. * Boxes (<code></code>), wh
20:58:04 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=168793&oldid=168790 * Aadenboy * (+36) /* just some drafts */ list [[User:Aadenboy/Forces and such]]
21:06:45 -!- chiselfuse has quit (Remote host closed the connection).
21:06:59 -!- chiselfuse has joined.
21:14:08 <esolangs> [[User talk:Aadenboy/Forces and such]] N https://esolangs.org/w/index.php?oldid=168794 * * (+103) Created page with "What are the actors? ~~~~"
21:17:57 <zzo38> I can see that it handles the way that is used by some terminal emulators for PC characters; possibly a DOCS code should be assigned for such a thing, while ISO 2022 could still be used for some 7-bit controls (like it also does in UTF-8 mode). This can be called the default and only setting of some terminal emulators, but is usable if you make a terminal emulator that can switch between them.
21:22:18 <ais523> zzo38: it's intending to handle input that was intended for those emulators, though – even if ISO 2022 assigned a code, the existing input wouldn't use it
21:23:09 <zzo38> As far as I can tell, DOCS is not supposed to used in ASN.1, although it seem that it could be possible without conflicting for applications that support it (applications that do not support that specific DOCS set might not be able to use it, with concatenation etc), that would allow you to e.g. combine C0 and C1 sets of ISO 2022 with Unicode and TRON code, and possibly also with ISO 2022 characters in the same string.
21:26:19 <zzo38> ais523: Even if not used with that program, a code that is assigned could be used for other programs that are designed to support it.
21:27:39 <zzo38> (A more sophisticated decoder might have options to control some features, and might support arbitrary G sets; it might also be possible to use callback functions to support arbitrary C sets.)
21:28:15 <esolangs> [[PizzaScript]] M https://esolangs.org/w/index.php?diff=168795&oldid=166846 * Jay * (+52) /* PizzaScript */
21:35:47 <zzo38> I might consider to implement some of the subset of ISO 2022 used in ASN.1 in this way in the stuff I had written that deals with ASN.1. A graphic character might also be converted into a "stateless ISO 2022" format by one function, although usually what would probably be done is conversion to canonical form.
21:37:01 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168796&oldid=168792 * Aadenboy * (+8) wip
21:38:37 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168797&oldid=168796 * Aadenboy * (+154) /* Concept */ define what an actor is
21:38:47 <esolangs> [[Turing tarpit]] https://esolangs.org/w/index.php?diff=168798&oldid=162912 * * (+213) /* Survey */
21:39:03 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168799&oldid=168794 * Aadenboy * (+378) reply
21:42:13 <zzo38> The CATALOG.DER lump of a Super ZZ Zero world file uses some of the ISO-IR-67 control characters, although those conrtol characters are unlikely to be meaningful for terminal emulation (possibly with the exception of <95> and <96> which surround a text which is only used for collation, although probably a different program will strip them out before sending them to the terminal anyways).
21:48:18 <esolangs> [[Brainbonk]] N https://esolangs.org/w/index.php?oldid=168800 * * (+527) Created page with "Brainbonk is a [[turning tarpit]] made by [[User:]] that is a [[brainfuck]] equivalent. ==How to write in Brainbonk== There is a wheel. * < turns the wheel to the right, turning the pointer to the left; * > turns the wheel to the left, turning the pointer to the right; * !
21:49:07 <esolangs> [[Brainbonk]] https://esolangs.org/w/index.php?diff=168801&oldid=168800 * * (+70)
21:49:48 -!- tromp has joined.
21:51:16 <esolangs> [[Brainbonk]] https://esolangs.org/w/index.php?diff=168802&oldid=168801 * * (+49)
21:51:52 <esolangs> [[Brainbonk]] M https://esolangs.org/w/index.php?diff=168803&oldid=168802 * * (-2)
21:53:07 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168804&oldid=168799 * * (+131)
21:59:25 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168805&oldid=168804 * Aadenboy * (+360)
22:03:15 <esolangs> [[Ntsomgivl]] N https://esolangs.org/w/index.php?oldid=168806 * * (+371) Created page with "Ntsomgivl is an esolang made by [[User:]] which is basically [[bf]] but the commands are moved to the right by one. Result: {| class="wikitable" |- ! NG !! BF |- | > || < |- | < || + |- | + || - |- | - || . |- | . || , |- | , || [ |- | [ || ] |- | ] || > |} [[Category:Brainf
22:04:33 <APic> Good Night
22:05:07 <zzo38> Do any applications use multiple C0 sets and/or multiple C1 sets?
22:05:47 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168807&oldid=168805 * * (+198)
22:10:15 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168808&oldid=168807 * Aadenboy * (+349)
22:14:22 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168809&oldid=168797 * Aadenboy * (+536) add object
22:14:31 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168810&oldid=168808 * * (+188)
22:15:35 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168811&oldid=168809 * Aadenboy * (+112) additional scenario
22:19:17 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168812&oldid=168810 * Aadenboy * (+396)
22:21:25 -!- ais523 has quit (Quit: quit).
22:21:40 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168813&oldid=168811 * Aadenboy * (+89) edit last example
22:22:14 <esolangs> [[User:Aadenboy/Forces and such]] M https://esolangs.org/w/index.php?diff=168814&oldid=168813 * * (+7) Correction
22:23:08 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168815&oldid=168814 * * (+42)
22:28:24 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168816&oldid=168815 * Aadenboy * (+50) /* Examples */ vertical ellipses
22:35:36 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168817&oldid=168719 * Buckets * (+10)
22:36:23 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168818&oldid=168728 * Buckets * (+11)
22:36:40 <esolangs> [[Bace]] N https://esolangs.org/w/index.php?oldid=168819 * Buckets * (+924) Created page with "Bace Is An Esoteric Programming Language Created By [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | %n || Set the variable To n, But n has To be in Base 23 And 17q: Where The 1<sup>st</sup> Digit is In base 23 then The 2<sup>nd</sup> Digit
22:51:34 -!- ais523 has joined.
22:52:51 <esolangs> [[User talk:Buckets]] https://esolangs.org/w/index.php?diff=168820&oldid=168359 * * (+169) /* Did you truly make your esolangs before 2025? */ new section
22:53:34 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168821&oldid=168816 * Aadenboy * (-27)
22:54:05 <esolangs> [[User talk:Buckets]] https://esolangs.org/w/index.php?diff=168822&oldid=168820 * Aadenboy * (+351)
23:10:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:20:02 -!- tromp has joined.
23:30:44 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
2025-11-21
00:21:01 <esolangs> [[EsoInterpreters]] https://esolangs.org/w/index.php?diff=168823&oldid=164449 * None1 * (+598) /* Main table */ Add [[Readable]]
00:23:05 -!- ais523 has quit (Quit: quit).
00:23:11 <esolangs> [[EsoInterpreters]] M https://esolangs.org/w/index.php?diff=168824&oldid=168823 * None1 * (-13) Change link after the TOC was updated
01:03:27 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=168825&oldid=168737 * PhiPhiPHipHi2.0 * (+19)
01:28:57 -!- 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:38:53 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168826&oldid=168821 * Aadenboy * (+1698) new type + definitions
01:44:58 -!- Thelie has joined.
02:32:23 -!- Thelie has quit (Ping timeout: 244 seconds).
03:56:09 <esolangs> [[User:H33T33]] M https://esolangs.org/w/index.php?diff=168827&oldid=168166 * H33T33 * (+12)
04:04:31 <esolangs> [[Solus]] https://esolangs.org/w/index.php?diff=168828&oldid=168705 * H33T33 * (+1305)
04:04:54 <esolangs> [[Talk:Topple]] https://esolangs.org/w/index.php?diff=168829&oldid=154514 * H33T33 * (-298) Blanked the page
05:41:08 -!- msv has quit (Remote host closed the connection).
06:21:01 -!- sprock has quit (Quit: brb).
06:22:50 <zzo38> ZZT allows a program to contain multiple same labels, in which case only the first one is effective, but #ZAP will comment out the first one, making the next one effective; #RESTORE will uncomment all of them of the specified name.
06:24:56 <zzo38> MegaZeux, ZZ Zero, and Super ZZ Zero inherit that feature, although Super ZZ Zero adds some more stuff, such as the possibility for each instance of a label to have a numeric value associated with it, and the ability to read and modify the value associated with the first unzapped label with a specified name.
06:34:10 -!- sprock has joined.
07:28:16 <zzo38> (But, it does not have the "ALTER X TO PROCEED TO Y" like COBOL has)
07:31:51 <zzo38> (This use of numeric storage labels might be used like the DATA command in BASIC, although the data can be changed and you can have multiple lists of data to read at once with different label names; and these labels can still be used as branch targets and message targets too, like any other labels do.)
07:58:42 <esolangs> [[User:Zzo38/Programming languages with unusual features]] https://esolangs.org/w/index.php?diff=168830&oldid=146610 * Zzo38 * (+1500)
08:35:24 <esolangs> [[,(*+)]] https://esolangs.org/w/index.php?diff=168831&oldid=167691 * Yayimhere2(school) * (+29)
08:46:09 -!- tromp has joined.
08:48:52 -!- Sgeo has quit (Read error: Connection reset by peer).
09:07:50 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168832&oldid=168700 * RaiseAfloppaFan3925 * (-268) /* Etymology */ Cleaned up this section because it's so trash
09:29:27 <esolangs> [[Plushie-incomplete]] M https://esolangs.org/w/index.php?diff=168833&oldid=168763 * None1 * (-34) Remove non-existent category
09:29:40 <esolangs> [[!itoe]] M https://esolangs.org/w/index.php?diff=168834&oldid=168760 * None1 * (-34) Remove non-existent category
09:29:52 <esolangs> [[100]] M https://esolangs.org/w/index.php?diff=168835&oldid=168722 * None1 * (-34) Remove non-existent category
09:30:00 -!- Hooloovoo has quit (Quit: ZNC 1.8.2+deb2+deb11u1 - https://znc.in).
09:30:13 <esolangs> [[Brainbonk]] M https://esolangs.org/w/index.php?diff=168836&oldid=168803 * None1 * (-34) Remove non-existent category
09:30:26 <esolangs> [[Egg]] M https://esolangs.org/w/index.php?diff=168837&oldid=168773 * None1 * (-34) Remove non-existent category
09:30:40 <esolangs> [[Ntsomgivl]] M https://esolangs.org/w/index.php?diff=168838&oldid=168806 * None1 * (-34) Remove non-existent category
09:30:54 -!- Hooloovoo has joined.
09:30:54 <esolangs> [[Nullinullinull]] M https://esolangs.org/w/index.php?diff=168839&oldid=168766 * None1 * (-34) Remove non-existent category
09:31:13 <esolangs> [[15]] M https://esolangs.org/w/index.php?diff=168840&oldid=168786 * None1 * (-34) Remove non-existent category
09:31:31 <esolangs> [[]] M https://esolangs.org/w/index.php?diff=168841&oldid=168713 * None1 * (-34) Remove non-existent category
09:54:21 <esolangs> [[Atamagaokashii]] M https://esolangs.org/w/index.php?diff=168842&oldid=168832 * RaiseAfloppaFan3925 * (+33) the name is a romanization of a japanese word so the japanese word is also a valid name, if not the true name
10:11:27 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168843&oldid=168689 * Redstoneboi * (+248) Add Redstoneboi introduction
10:25:54 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=168844&oldid=168580 * None1 * (+621)
10:26:20 <esolangs> [[User:None1/InDev]] M https://esolangs.org/w/index.php?diff=168845&oldid=168844 * None1 * (-1215)
10:27:00 <esolangs> [[Brainterpart]] N https://esolangs.org/w/index.php?oldid=168846 * None1 * (+1347) Created page with " {{lang|a=User:None1|i=[[brainfuck]]|f=the counterpart of [[brainfuck]] without comments}} ==Definitions== Define the ''brainfuck charset'' (BC for short) as {{cd|+,-.<>[]}}. Define the ''non-brainfuck charset'' (NBC for short) as the charset which contains charact
10:27:08 <esolangs> [[Brainterpart]] M https://esolangs.org/w/index.php?diff=168847&oldid=168846 * None1 * (+0)
10:27:31 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=168848&oldid=168818 * None1 * (+19) /* B */
10:28:11 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=168849&oldid=168615 * None1 * (+57)
10:31:54 -!- msv has joined.
10:32:10 -!- msv has quit (Remote host closed the connection).
10:32:35 -!- msv has joined.
10:34:12 <esolangs> [[+]] M https://esolangs.org/w/index.php?diff=168850&oldid=154427 * None1 * (+363) /* Commands */
10:34:31 <esolangs> [[Talk:+]] M https://esolangs.org/w/index.php?diff=168851&oldid=141643 * None1 * (+285) /* Float numbers */
10:36:18 <APic> Hi
10:42:08 <esolangs> [[oxck]] https://esolangs.org/w/index.php?diff=168852&oldid=168031 * Yayimhere2(school) * (+31) /* other */
10:44:14 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=168853&oldid=168432 * Redstoneboi * (+877) /* brainfuck interpreter */
10:55:20 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=168854&oldid=168853 * Redstoneboi * (+145) numeric mode
11:04:06 -!- svm has joined.
11:06:38 -!- msv has quit (Ping timeout: 260 seconds).
11:13:00 <esolangs> [[User:Redstoneboi]] N https://esolangs.org/w/index.php?oldid=168855 * Redstoneboi * (+11) Created page with "i exist now"
11:37:55 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=168856&oldid=168854 * Redstoneboi * (+2101) /* Examples */
11:39:03 <esolangs> [[SletScript]] https://esolangs.org/w/index.php?diff=168857&oldid=168856 * Redstoneboi * (+9) add link to redstoneboi userpage
11:47:23 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:50:04 <esolangs> [[SletScript]] M https://esolangs.org/w/index.php?diff=168858&oldid=168857 * Redstoneboi * (-6) separate brainfuck declaration and usage
12:13:47 -!- wob_jonas has joined.
12:20:18 <wob_jonas> let's say I want to define tokenizing rules for an esoteric language. for example, if the source code says 'one+two three' it'll be split to four words, 'one' then '+' then 'two' then 'three', because letters are sticky and stick to longer words, '+' is a loner character that doesn't stick to anything, and the space ' ' is a comment that can
12:20:18 <wob_jonas> separate words but disappears from the word stream otherwise. so far so good.
12:24:20 <wob_jonas> but suppose that I want two phases. instead of grouping characters to words, I want to group the source characters into pre-tokens, and then group pre-tokens to words. let's say anything delimited by double quotes is a single pre-token so if you write '"one+two"' and then the '+' won't turn into a word on its own because only a '+' pre-token would.
12:24:21 <wob_jonas> and say some digraphs like '@+' form pre-tokens that also remove the meaning of the constituent characters, for example the pre-token '@+' could be sticky like word characters so 'one+two@+three' would split to three words 'one' then '+' then 'two@+three'. my question is, what should I call pre-tokens.
12:24:43 <wob_jonas> "pre-token" isn't a good name, and I'd like something better.
12:41:56 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=168859&oldid=168441 * RaiseAfloppaFan3925 * (+1657) change some things about my user page
12:43:15 -!- wob_jonas has quit (Quit: Client closed).
12:46:25 -!- Thelie has joined.
12:47:17 -!- wob_jonas has joined.
13:00:34 -!- tromp has joined.
14:30:18 <esolangs> [[Kylin]] https://esolangs.org/w/index.php?diff=168860&oldid=168765 * PrySigneToFry * (+5)
14:36:04 -!- Thelie has quit (Ping timeout: 264 seconds).
15:20:36 -!- ehmry has quit (Read error: Connection reset by peer).
15:21:08 -!- ehmry has joined.
15:30:42 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:31:15 -!- Sgeo has joined.
15:42:37 <wob_jonas> you know how C++11 modifies iostream so it can format machine floating-point values to C99 "%a" hex float format. But (I think for ABI compatibility reasons) they didn't add a new formatting flag for the hex float format, but just changed the meaning of previously undefined combination of when both the ios::scientific bit (which normally enables
15:42:38 <wob_jonas> "%e" format) and the ios::fixed bit (which normally enables "%f" format) is set. when neither of the ios::scientific big nor the ios::fixed bit is set then floats are printed in the "%g" format, which is similar to automatically choosing between "%f" and "%e" except that the precision is always interpreted as the number of significant digits
15:42:38 <wob_jonas> printed like in "%e". so far this makes sense.
15:47:20 <wob_jonas> so today I found out that C++17 adds a new function std::to_chars to format numbers. this has signatures like `namespace std { to_chars_result to_chars(char *out_begin, char *out_end, double val, chars_format fmt, int precision); }`. here the fmt argument is a bitmask where you can set the chars_format::scientific bit for "%e" format, or the
15:47:20 <wob_jonas> chars_format::fixed bit for "%f" format. with me so far?
15:48:29 <wob_jonas> but they specified in the standard that if you set both the chars_format::scientific and the chars_format::fixed bit then you get the automatic "%g" format rather than the hex float "%a" format. WHAT WERE THEY SMOKING? this is designed to deliberately confuse expert users!
15:49:05 -!- wob_jonas26 has joined.
15:49:16 -!- wob_jonas26 has quit (Client Quit).
15:52:08 -!- tromp has joined.
15:52:51 -!- ais523 has joined.
15:53:01 -!- wob_jonas has quit (Ping timeout: 250 seconds).
15:56:13 <esolangs> [[User:Aadenboy/fixpre]] N https://esolangs.org/w/index.php?oldid=168861 * Aadenboy * (+47) Created page with "style="font-family: Noto Sans Mono, monospace;""
16:01:37 <esolangs> [[User:Aadenboy/fixpre]] https://esolangs.org/w/index.php?diff=168862&oldid=168861 * Aadenboy * (-47) Blanked the page
16:02:10 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:02:40 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168863&oldid=168812 * * (+168) /* How does bias work? */ new section
16:05:50 <esolangs> [[User:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168864&oldid=168826 * Aadenboy * (+43) /* Concept */ forgot this
16:11:37 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168865&oldid=168863 * Aadenboy * (+686) /* How does bias work? */ reply
16:12:42 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168866&oldid=168865 * * (+129) /* How does bias work? */
16:14:16 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=168867&oldid=168866 * Aadenboy * (+439)
16:22:44 -!- tromp has joined.
16:29:25 -!- Lord_of_Life_ has joined.
16:30:13 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
16:30:44 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:38:19 -!- Thelie has joined.
17:05:03 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:07:06 <b_jonas> this would also be bad for library implementors if they wanted to implement iostream using to_chars. though that won't be happening often for historical reasons because to_chars is new.
17:15:32 -!- lynndotpy6093 has quit (Quit: bye bye).
17:16:18 -!- tromp has joined.
17:16:18 <ais523> b_jonas: so I don't think there are many cases where the tokenizer needs its own tokenizer, and as such I don't think there's that much terminology or them
17:16:24 <ais523> C has pp-tokens which are a similar concept
17:16:40 <ais523> but the relationship between the two tokenizers is different I think
17:16:40 -!- lynndotpy6093 has joined.
17:17:14 <ais523> my suggestion is that you name the two lexers and then call them "lexer A tokens" and "lexer B tokens" (except you use the lexers' actual names rather than calling them "lexer A" and "lexer B")
17:19:01 <b_jonas> ais523: TeX handles ^^X escapes before the tokenizer, C handles \u0041 escapes and ??= trigraphs before the tokenizer, what I want is more only because I want to handle double-quoted strings of variable length instead of just fixed-length pre-tokens
17:19:51 <b_jonas> multiple layers in a lexer isn't that strange I think, I'm just planning to abuse it a bit more
17:19:55 <ais523> "provisional token" would make sense for some two-tokeniser setups but I don't think it applies to yours
17:20:26 <ais523> C's trigraphs are called "trigraphs" even though they're a sort of first-lexer token
17:20:38 <ais523> i.e. just a description of what they are
17:20:53 <ais523> (Java has a similar concept, which I called "hexagraphs" when writing about them because I didn't think they had a name)
17:21:07 <ais523> "token component", perhaps?
17:22:51 <b_jonas> I don't like to call them 'provisional token', I think that would be confusing because the typical use case is that a sequence of multiple letters and some letter-like punctuation is grouped into a word, but each letter is its own pre-token.
17:23:53 <ais523> b_jonas: hmm, it's almost like you're inventing your own encoding
17:24:00 <ais523> and your pre-tokens are characters of the encoding
17:24:01 <b_jonas> yes, and I just wanted digraphs then I wouldn't have a problem, but I also want double-quoted sequences (any length, almost any character allowed inside other than double quote and newline) as pre-tokens
17:25:16 <b_jonas> ais523: yes, if you're just adding a few digraphs or you're decoding a character encoding, like five-bit baudot or murray code with letter and number shifts, or unicode, then you could call your pre-tokens "characters", but with long double-quoted sequences I think "character" would be a confusing name
17:25:59 <ais523> now I'm wondering about a language which somehow has infinitely many lexers/parsers and uses that to get TCness somehow
17:26:35 <ais523> but I think that only works if the lexers or parsers can somehow split a single character into multiple tokens, and am not sure how it would be interestingly different from a string-rewriting language
17:26:39 <ais523> so it's probably a dead end
17:27:54 <b_jonas> ais523: I have considered a language that is an infinitely stacked preprocessor, all it does is preprocess code for itself, and the program can mention how many layers deeper you want to escape something for, and there's no bottom so if you want your program to do something you'll just make the side effects of repeated preprocessing do it, but I couldn't come up with a good language from this yet
17:28:28 <ais523> b_jonas: Wiki Cyclic Tag is basically that (but I'm not convinced it's actually a good language)
17:28:47 <ais523> it's only interesting because it uses an existing preprocessor, and even that isn't super-interesting
17:29:26 <b_jonas> but what I'm thinking of wouldn't be reasonably called a lexer, it would be a preprocessor more like TeX's mouth or Metafont's mouth or SIMPLE are, with functions and conditionals
17:30:05 <ais523> maybe just define the preprocessor and language itself as entirely different things? so both can just say "tokens" and there's no ambiguity
17:30:36 <b_jonas> I may also want a layer for every binary rational number depth or even more numbers than that, rather than just for every integer depth, so there's a preprocessing layer between any two preprocessing layers where you can insert operations, but this is not a strict requirements
17:34:14 <b_jonas> ais523: I don't think I can do that in this case, because I want this double preprocessing eventually for Enchain, though the specific examples I gave might not match it, and Enchain does tokenizing mostly independently of counting columns, so instead of variable names you use columns, and what matters is for some tokens that refer to a variable what column that token is in. I don't think you can really
17:34:20 <b_jonas> imagine this as a preprocessor entirely separate from the language. what I could do is to make the tokenizer much simper without changing Enchain significantly, and maybe I *should* do that, because Enchain would be a better esolang if the only esoteric parts in it were related to the strange columns layout of its source code.
17:36:00 <ais523> complexity for the sake of complexity is *usually* uninteresting in esolangs
17:36:21 <ais523> Malbolge and INTERCAL both sort-of pull it off, but in each of them there's an alternative reason for the complexity, rather than just to be complex
17:39:19 <b_jonas> yes, and I wasn't really trying to do this *just* for the sake of complexity, at least at first, it's more like I added some digraphs because ASCII has too few characters to make everything both single-character and mnemonic, but then I couldn't stop
17:40:05 <b_jonas> but the double quoted string part is very likely a bad idea and I should figure out something better, though I don't yet know what, and I should simplify the digraphs part until it can just be described in one pass
17:41:51 <b_jonas> for the first Enchain-like language that is; if I get that one working then afterwards it'd be fine to make more complicated versions later
17:49:43 -!- Thelie has quit (Ping timeout: 240 seconds).
17:59:47 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:24:58 -!- tromp has joined.
18:58:20 <esolangs> [[Talk:(top, height)]] https://esolangs.org/w/index.php?diff=168868&oldid=135849 * Yayimhere2(school) * (-408) me being a dumbass for the sixth millionth time
19:04:27 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:09:12 -!- tromp has joined.
19:28:54 -!- Thelie has joined.
19:29:09 -!- chloetax5 has joined.
19:29:34 -!- chloetax has quit (Read error: Connection reset by peer).
19:29:34 -!- chloetax5 has changed nick to chloetax.
19:29:42 <esolangs> [[Also?]] https://esolangs.org/w/index.php?diff=168869&oldid=167914 * Yayimhere2(school) * (+6) /* Also?'s computational class */ add extra symbol for clarity.
19:31:49 -!- ais523 has quit (Quit: sorry about my connection).
19:34:55 -!- Thelie has quit (Ping timeout: 245 seconds).
19:57:53 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=168870&oldid=167979 * Yayimhere2(school) * (+2) /* Semantics */
19:58:24 <esolangs> [[Do you remember me?]] https://esolangs.org/w/index.php?diff=168871&oldid=168870 * Yayimhere2(school) * (+34) /* Semantics */
20:26:02 -!- ais523 has joined.
20:34:41 <korvo> Deliberately resisting the urge to add a Vixen expression language.
20:35:50 <korvo> I'm at the point where I can imagine doing nested sends; I have a top-level that can do $(./top vixen import: objects/CoolObject) but not $(./top vixen import: (objects/CoolObject clone: vixen/TempAllocator)) because it's literally just argv with a carefully-chosen envp.
20:36:18 -!- callforjudgement has joined.
20:36:46 <korvo> Also I have a sort of fixpoint in the sense that $(./top vixen makeTop: top) will regenerate the top-level script.
20:38:00 -!- slavfox_ has joined.
20:38:23 <korvo> So I think that, with some hacking, I could write in e.g. awk and do something that parses lines like `# $result := (self do: $arg) ifTrue: $this ifFalse: $that`. But then I'd be stuck writing the implementations of blocks and closures in awk too, and overall I think it'd be overly precommittal to a One True VM, which is an anti-goal.
20:39:46 <korvo> avih: Regarding literate programming, I'm resisting a related pattern that is very tempting. A perennial problem with compiled methods, where there's both source code and also a compiled bytecode object, is that if the source can be edited then the code either has to be immediately recompiled or cached and invalidated later.
20:40:59 <korvo> Immediate recompilation is not that bad as long as the source is easy to keep around. My execline scripts are super-short. What if I just kept the source as *comments* in the compiled method? Then I can use sed/awk/etc. to convert the compiled script back to the original instructions, and I can regenerate the object easily.
20:41:25 -!- ais523 has quit (*.net *.split).
20:41:25 -!- slavfox has quit (*.net *.split).
20:41:25 -!- joast has quit (*.net *.split).
20:41:26 -!- slavfox_ has changed nick to slavfox.
20:41:43 <avih> korvo: what's the novelty and/or value of that, compared, for instance, to an interpreted language which supports extensive comments?
20:42:17 <korvo> See also https://github.com/brismu/zaha where I add a custom PNG chunk to rendered diagrams; the chunk contains JSON which can regenerate the diagram from scratch. This is *not* the same as Kell & Jakubovic's self-describing diagrams, although it's got the same shape.
20:42:21 <avih> (admittedly, i still don't really get the value in lit programming other than stylistic)
20:43:10 <avih> (off topic, that lit programming github bash script is highly unprofessional bash coding)
20:43:24 <korvo> avih: Ah, sorry, I'll give context. Vixen's a Smalltix: a Unix filesystem that happens to behave like a Smalltalk. Part of the goal is avoiding One True VM because that leads to fragmentation; instead, we want to focus on maintaining the calling convention over any one language.
20:45:37 <korvo> But at the same time, we want to express something like an applicative tree, where we want to arrange existing objects. We want composition! So that means that we need some sort of compositor. How do we express ourselves on that compositor?
20:45:39 <avih> (also, that zaha repo, not your repo, but all the commits are yours...)
20:46:58 <korvo> No accident that Bracha, Jakubovic, and Kell all assume that we'll just port Smalltalk. Like, we'll copy the exact same objects that have been used since the time of Squeak and we'll use objects that have existed for decades.
20:48:05 <korvo> avih: Yes. First time seeing that? GitHub lets us have organizations even if there's few contributors, and it's useful for organizing lots of Free Software that I've already shared with folks. I've had *three* different experiments in brismu for that kind of ontological work; in addition to zaha, there's klesi and zatske.
20:48:19 <avih> gotcha
20:48:25 <avih> (re repo owner)
20:49:11 <avih> we also have an org in mpv (i'm a not currently very active maintainer)
20:49:56 <zzo38> You can store the original data in a custom PNG chunk (I had once made up a custom PNG chunk for a different reason, which is to specify symbolic colour names like XPM does), although I probably would not use JSON. I might use PostScript if it is the source code that you intended to edit, or DER if I want a binary format for the data. JSON, SVG, etc, would also work though if you wanted them
20:49:57 -!- joast has joined.
20:50:15 <zzo38> Also, I think there are some PNG files that are also a ZIP archive file, so you can also include stuff in that way
20:50:29 <avih> korvo: so where does this lit/compiled thing come in?
20:50:33 <korvo> For both brismu and rpypkgs, I wanted to ensure that the barrier to enrolling a new contributor is minimal. I'm trying to attract folks who want to do logic in Lojban or write interpreters using RPython and Nix, respectively.
20:51:24 <korvo> avih: I'll mark up a small file. I forget; can you read execline?
20:51:46 <avih> (to be clean, i'm unfamiliar with any of the nicks/projects mentioned so far)
20:51:51 <avih> clear*
20:52:22 <avih> korvo: i understood your description, but i don't get the context and or value
20:52:50 <avih> and not that i know of (execline, or even what it is)
20:53:47 <zzo38> When I have closely related things that are not too large I usually put them into the same repository, although for larger projects it might make sense to separate them.
20:54:08 <avih> it's basically source+binary+docs in one file, and i asked how it differs inherently from a script with extensive comments
20:54:23 <korvo> avih: Okay, no worries. One moment. In order of popularity, you'll probably first want to know about Nix (package manager for Linux), then Lojban (conlang for international collaboration, like Esperanto but not), then RPython (fork of Python 2.7 that can turn interpreters into JIT compilers).
20:55:10 <avih> i know about both, but not first hand
20:55:48 <avih> and RPython too, following our discussion in the past
20:56:10 <korvo> Ah, okay. Sorry, I currently am not really remembering the past.
20:56:22 <avih> heh
20:57:43 <avih> no worries. i think my maybe unasked question is what's the context for your initial "avih: Regarding literate programming, ..."
20:58:27 <korvo> Oh! I'm trying to avoid making an expression language for Vixen. Like, I have a desire to express applicative trees, but also I don't want to force the system to have One True Syntax.
20:59:37 <avih> iirc someone (you?) brought it up in the past and i didn't know what it was, and then you referred me to a github repo and i read a bit about it but didn't really get what it changes and for whom, and that's my last interaction with lit programming (i did look a bit at the code, read the wikipedia entry, but couldn't really get the value in it)
21:01:02 <avih> (compared to well structured and documented source code)
21:01:32 <zzo38> Literate programming might sometimes be helpful for making it in a book with index and cross-referencing and also might be usable for describing precisely something together with the implementation of it (this can sometimes be helpful in case of otherwise unclear documentation; it is usually not a substitute for proper documentation but sometimes it helps)
21:01:41 <korvo> Well, for example, what if the source code isn't available? Not because it's not open source, but because it's not encapsulated in a way that can be accessed for a grep or rewrite.
21:02:10 <korvo> Is a Unix system self-documenting because the kernel's C is in a standard directory, or because there's a $(man) or $(info) command?
21:04:18 <avih> that's a maintenance problem (keeping the binary and losing the source), hence my question today about your lit/compiled thing was compared to a well documented script, where the code can't be normally lost because it's also the runnable thing, as typically a possibly resulting binary is not distributed
21:04:56 <avih> and/or considered cache etc (jit-like)
21:05:52 <avih> but also, if one manages to lose the source to their binaries, what prevents them from losing the lit source as well?
21:06:39 <korvo> Yeah, those are great points from a traditional sysadmin POV.
21:08:49 <korvo> Okay, here's a couple annotated methods. This one's called reflect: https://bpa.st/HX4A and this one's called intern: https://bpa.st/QATA
21:09:23 <korvo> This isn't quite Smalltalk syntax (or Ruby or whatever dialect you prefer), but hopefully the gist is there. These are basically Smalltalk CompiledMethods.
21:10:32 <avih> i don't get the specifics, but i get the overview. what about it?
21:10:59 <avih> (and i did check what execline it, so i roughly get that too now)
21:11:04 <avih> is*
21:12:55 <korvo> Well, the idea is that, if I were to just accept having an expression language, then I could echo a string like "Mirror << reflect: [ | $target | (self clone: (self allocator*)) assign: obj* ref: $target ]" into a top-level compiler and magically have the method appear on the filesystem.
21:13:55 <korvo> Indeed, in the 2000s, this is the trap that everybody fell into. Piumarta made like four or five languages exploring this. But by choosing One True Syntax, we are effectively now in the One True VM implied by what we can get the machine to do with that syntax.
21:16:41 <avih> so the goal here is a compiled program (system?) which is implemented as a file structure, and compilation happens implicitly and automatically, and for contributors it appears that merely adding files makes them part of the program automatically?
21:17:04 <korvo> avih: Oh, also this is an instance of a pattern I call Bikeshed Generator. There are questions that didn't exist before, like how to delimit a string (note that "obj*" needs to be a string literal, and we rely on execline's grammar!) or how to give names to intermediate temporary references.
21:17:36 <avih> but i have to admit i'm overall a bit lost here.
21:18:49 <avih> (that was an understatement...)
21:18:56 <korvo> Let me start at the goal and then we'll work backwards. Quoting Jakubovic, "In the default state of Unix, the source code can be evolved without synchronising the binary. The compiler must be manually invoked after changing the source. Continuous Integration (CI) infrastructure must be set up to do this automatically."
21:19:04 <korvo> "In Smalltalk, the default way of editing code is via the class browser GUI. Upon committing the edit (Ctrl-S), the method is recompiled automatically."
21:19:38 <avih> i've not used smalltalk but i get both quotes
21:20:09 <korvo> The big difference is that, in Smalltalk, recompilation is linear-time and fast, taking only one pass over the inputs. This is parallel to the Pascal tradition, like in Oberon or Go.
21:20:22 <korvo> But C compilation can take a long time. C++ compilation can be quadratic-time.
21:20:23 <avih> so, if i get it right, your goal is something along the lines of the smalltalk model, but over the filesystem instead of gui, yes?
21:21:07 <korvo> Yes. I actually laid it out in a table on wiki: https://esolangs.org/wiki/Smalltix
21:21:14 <avih> but these are all practical concerns. you could use tcc to compile in O(N) too
21:21:20 <avih> or use -O0
21:21:54 <korvo> Yeah, this is the second time that tcc's come up. When something comes up thrice, I go take a serious look and evaluate it.
21:22:26 <avih> so basically you want to make the filesystem an apparently-live implementation of whatever runs it
21:22:45 <korvo> Wait, maybe this is the third time? Hm. At any rate, yeah, that's a fair-enough point. But also note that the execline maps fairly closely to the messages that I actually want to send; there's not much overhead aside from parsing.
21:22:47 <avih> (or maybe even actually live)
21:23:34 <korvo> Yes! The idea is to program the machine from the inside.
21:24:04 <avih> tcc is just a nice almost c99 unoptimizing compiler which is very fast and portable. but if you take a step back, it's just a quick unoptimizing compiler.
21:24:17 <zzo38> If you pass messages by argv then it will only use null-terminated strings as messages (although other way around might work)
21:24:46 <avih> korvo: yeah, i do get the idea.
21:25:19 <esolangs> [[Special:Log/upload]] upload * Buckets * uploaded "[[File:ThisIsACatProgram.png]]": This is A Cat program.
21:26:34 <avih> (for reference how quick it is, long time ago someone made a linux system bootable in seconds from source which is compiled on boot from source)
21:27:33 <avih> i.e. you could shut it down, make some changes to kernel source files, boot it again, and it will include these changes
21:27:39 <korvo> zzo38: Yes, that's a real limitation right now. Also, there's some stuff not quite used, like stdin, that is left free for users to provide. I'm slowly making it more complex, and will eventually pass file descriptors too, but I want a convention which can call remotely from one machine to another over plain old SSH.
21:29:06 <zzo38> I had a idea about passing capabilities in a capability-based system (it would be similar to passing file descriptors), using the network, although this does not necessarily work with SSH (my guess is that SSH probably does not do this, although a protocol could be made which does do it).
21:29:09 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168873&oldid=168556 * C++DSUCKER * (-14) Change muh mind about recursion
21:29:42 <avih> korvo: is it supposed to be live, like the smalltalk quote you mentioned? i.e. is it one system which is always "running"? or is it code on disk which can be instanciated into a system whenever the user needs it?
21:30:20 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=168874&oldid=168817 * Buckets * (+12)
21:30:29 <zzo38> (I might be wrong about SSH though)
21:31:12 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=168875&oldid=168843 * HeckYeah100 * (+26)
21:31:12 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=168876&oldid=168848 * Buckets * (+13)
21:31:26 <korvo> avih: Both. I should explain some features of Nix. Packages live in the *Nix store*, a big directory at /nix/store/ where each package gets its own subdirectory. The store is read-only. It's also garbage-collected and GC roots are symlinks that are made with a specific command (not ln!)
21:31:46 <esolangs> [[Dision]] N https://esolangs.org/w/index.php?oldid=168877 * Buckets * (+1241) Created page with "Dision Is An Esoteric Programming Language Created By [[User:Buckets]] In 2022. {| class="wikitable" |- ! Number Combonation !! Instructions |- | 0,0 || Swap the Current cell to the One To The Right. |- | 0,1 || Swap the Current cell to the One To The left. |- | 0,2 || M
21:31:54 <avih> korvo: i'm roughly familiar with this, yes
21:32:11 <avih> (i do know what nix is, just no 1st hand experience with it)
21:32:26 <korvo> Right now, Vixen objects can recursively copy themselves into a Nix store. It turns out that this isn't that hard. They can also copy themselves from one machine to another.
21:32:42 <esolangs> [[Non]] N https://esolangs.org/w/index.php?oldid=168878 * HeckYeah100 * (+1624) Created page with "== Non == This programming language is designed for people who want to purposfully hurt their brains. Similar to BF, it is intentionally designed to hurt. ===CHARACTERS=== the characters of non are the following:. ^ //increments the object on stack. , //decrements th
21:33:16 <korvo> Ah, sure. I just thought you might not understand why it's non-trivial to do what I'm currently working on: allowing an object to edit itself by making a temporary copy, spawning an editor and file browser, and recursively copying itself back to the Nix store.
21:34:08 <korvo> Doing `foreground { vim $1 }` is not a big deal. It's all of the check-in, check-out logic, as well as chasing and rewriting symlinks, that gives me headaches.
21:35:29 <korvo> avih: Oh, maybe I totally missed the aim of your question? In terms of what's "running", the Linux kernel's always tracking a cached version of the filesystem, and we can think of Linux itself as the running process with the resident memory.
21:36:06 <avih> is nix inherently related here? i.e. is this intended to be part of nix and/or used exclusively with nix? or is nix here just a convenient platform for it?
21:36:30 <int-e> zzo38: What does SSH have to do with this at this stage? You either need native OS support for remote capabilities, or support to virtualize capabilities so that a user program like SSH can intercept and forward requests.
21:37:26 <int-e> Unless I'm missing a link to some existing but obscure OS like Plan 9
21:37:42 <korvo> The Nix store is essential, yes. This could all work on Tvix or Guix too; what matters is the shape of the filesystem. Nix is a package-capability system; a reference to a package in the Nix store is a (weak unguessable) capability!
21:37:42 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168879&oldid=168873 * C++DSUCKER * (+202) Also, i think recursion may be possible without paradoxes. i hope
21:37:44 <avih> (as i mentioned, i'm overall quite lost here, and i'm unfamiliar with vixen too, or your other attempts...)
21:38:07 <zzo38> int-e: If you have proxy capabilities then you can implement forwarding them to network without the kernel implementation of them.
21:38:39 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168880&oldid=168879 * C++DSUCKER * (+2)
21:38:40 <int-e> zzo38: that's what I called "virtual"
21:38:41 <zzo38> (In the case of UNIX, this would only apply to UNIX sockets and not other kind of file descriptors, and SCM_RIGHTS can be used but SCM_CREDENTIALS would not be available.)
21:38:43 <korvo> int-e: The P9 link is tenuous but real. Spent last night looking again at Inferno and the Limbo language; awful language, but not the worst VM to host internally.
21:39:15 <zzo38> (This is not quite the same way that I would intend proxy capabilities to work, but it might be the closest thing in UNIX.)
21:40:13 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168881&oldid=168878 * HeckYeah100 * (+323) /* Non */
21:40:51 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168882&oldid=168881 * HeckYeah100 * (+3) /* Non */
21:41:40 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168883&oldid=168882 * HeckYeah100 * (-3)
21:44:51 <korvo> avih: Maybe starting with the threat model is better. It turns out that a capability-aware system is safe when loading code is safe. Part of this is extremely subtle "taming": taking away standard authorities like unrestricted filesystem and network access. But part of this is having an assurance that loading code onto the system will not compromise it.
21:45:46 <korvo> A Vixen object can invoke nix-copy-closure and copy itself across the network, if there's SSH credentials available. But loading code into a Nix store is safe! It doesn't conflict with anything else and it's only executed if somebody calls it.
21:46:01 <avih> korvo: start even earlier. what problem are you trying to solve, if it is indeed solving a problem.
21:46:51 <korvo> Oh. Further back than the problem of fragmentation on Unix?
21:47:12 <avih> fragmentation of what?
21:47:27 <avih> date oh a storage device? memory? implementations?
21:47:41 <avih> data* on*
21:47:48 <zzo38> I thought designing the hardware could be done in combination with software design to improve the safety, although VM codes and emulation could also be used, they would not be as good but still would be usable in order to make the program work on multiple computers. This alone is not sufficient; you would also check that the loaded code is what you intended to load, etc.
21:48:06 <int-e> zzo38: Part of the problem here is the joke: Q: Name 20 UNIX system calls. A: ioctl
21:48:54 <korvo> avih: Fragmentation of the programming model as a consequence of compilation of behavior into early-bound static binaries.
21:49:06 <zzo38> Yes, that is a part of it too.
21:49:34 <avih> korvo: ok, i understand the problem. and vixen is your attempt to come up with a model which addresses it?
21:50:00 <korvo> avih: Vixen's just a fork of Smalltix trying to incorporate many more lessons from other corners of Unix.
21:50:38 <korvo> But further, Vixen's going to be yet another E: an attempt at secure distributed computation which isn't hard to use. Something that can simplify real tasks in my homelab.
21:50:50 <avih> sure, but overall you're trying to come up with a unix model to address the issue of "detached" binary from source?
21:51:38 <avih> gotcha. i get the goal.
21:51:39 <int-e> (Ironically, ioctl is half of the right thing in this context, which is a *uniform* interface for interacting with capabilities that could easily be intercepted and forwarded. But in practice, ioctl is a mess.)
21:51:51 <korvo> Oh, I haven't come up with anything. You might not have noticed the degree to which I am a blender that summarizes whitepapers. But yeah. What I'm looking at right now is how to do something like a CompiledMethod.
21:51:53 <avih> and i also roughly get the means.
21:52:16 <esolangs> [[Non]] M https://esolangs.org/w/index.php?diff=168884&oldid=168883 * HeckYeah100 * (+250)
21:52:28 <zzo38> Yes, that is what I thought about ioctl too, although I would not have such a thing like that; you will have messages sending instead, and the messages can include references to other capabilities.
21:52:55 <avih> korvo: ideas can be considered an output which came up :)
21:53:06 -!- callforjudgement has quit (Quit: sorry about my connection).
21:53:07 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168885&oldid=168884 * HeckYeah100 * (-104)
21:53:35 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168886&oldid=168885 * HeckYeah100 * (-33)
21:53:36 <korvo> int-e: The flat buffers are definitely part of the issue, too. Userspace doesn't have type information for rich structures just from the interface; it's not self-describing. Same problem with SysV/POSIX message queues too, but Linux kernel devs don't force people to use mq.
21:54:09 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168887&oldid=168886 * HeckYeah100 * (+1)
21:54:16 -!- callforjudgement has joined.
21:54:21 <int-e> korvo: right
21:54:37 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168888&oldid=168887 * HeckYeah100 * (+1)
21:55:54 <korvo> Kell's liballocs is an interesting solution to this. A program compiled/linked with liballocs can ask where a pointer came from: who allocated it, how big is it, what are its original bounds, what's its DWARF-style type info, etc.? I don't know if it works with pointers from the kernel but it hints at the possibility of just *asking* the kernel what it returned in ioctl().
21:57:17 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168889&oldid=168888 * HeckYeah100 * (+81)
21:57:45 -!- callforjudgement has changed nick to ais523.
21:58:25 <esolangs> [[HeckYeah100]] N https://esolangs.org/w/index.php?oldid=168890 * HeckYeah100 * (+7309) Created page with "I'm a chill guy who likes flowers... ..."
21:59:53 <zzo38> I had thought, depending on the use, the type information (and structure information) can be stored in a file which describes the types of messages, or it can use a type/length/value format such as DER (although I had thought to use a different format which I would make up for a new system, you can use DER with existing systems)
22:00:12 <b_jonas> yeah. an interface similar to ?etsockopt would probably be better for ioctl. still not quite describing the types, but slightly better than the vararg arguments of ioctl. but ioctl is like really old, and there are so many ioctl subfunctions defined, it's hard to change now.
22:02:58 <ais523> int-e: prctl is also over 20 system calls on Linux, as is fcntl
22:03:12 <ais523> now I'm wondering why two of those end "ctl" and one ends "cntl"
22:03:46 <ais523> oddly, one of the fcntl calls duplicates a non-fcntl call: dup, so dup is duplicated
22:04:00 <int-e> ais523: because you aim for 5 letters length
22:04:30 <ais523> so a new version of dup was needed because "dup" is only 3 letters and thus too short?
22:04:36 <b_jonas> ais523: fcntl also duplicates an ioctl call, but I think that might be because of a sysv/bsd duplication of interface
22:04:40 <int-e> (what was that, early C export symbol length limit?)
22:04:58 <ais523> would have to be very early, I think the length limits became larger very early on
22:05:05 <int-e> (it was 5 or 6, can't remember for sure; 5 seems more likely in this moment)
22:05:27 <b_jonas> isn't ioctl from before unix got rewritten in C though?
22:05:35 <ais523> although thinking about it, maybe this is why related functions from early C like malloc/calloc differ in their prefix rather than their suffix
22:05:39 <b_jonas> like wasn't it a native level syscall in ancient pre-C unix?
22:05:42 <int-e> ais523: it didn't limit the symbol length per se, but allowed implementations to treat symbols as equal if a short prefix matched
22:05:48 <ais523> b_jonas: huh, what was Unix written in before C?
22:05:49 <b_jonas> I mean they had to control hardware somehow
22:06:26 <b_jonas> ais523: assembly for the machine that they were using. but it's the user-space programs running on it and their syscall interface that's more relevant here than unix itself.
22:06:36 <korvo> ais523: Handwritten! I think I put the story at [[Tmg]]; C was a sort of best-effort hack after Fortran failed to fit on the target machine.
22:06:38 <ais523> right, I know UNIX and C were developed in parallell
22:06:39 <b_jonas> both both started before C
22:07:03 <ais523> also the computer they were using for it originally ran dc as its only non-asm programming language – I was mildly hoping that UNIX had been written in dc but I guess it would be too unlikely
22:07:08 <int-e> b_jonas: which came first, the C language or the C compiler
22:07:12 <b_jonas> ais523: yes, they got paired quickly, so unix became a good motivation and use case for C, and C made unix more portable and allowed it to spread
22:07:34 <ais523> ouch, writing an OS kernel in Fortran would be terrible I think
22:08:07 <ais523> I guess you don't technically need dynamic memory allocation to be able to write a kernel, but it surely helps
22:08:27 <korvo> I don't think that they originally hoped for the kernel to be in C. I think even as late as v4 Unix it was still in assembly, along with most of the small common tools.
22:09:02 <esolangs> [[Contains everything]] M https://esolangs.org/w/index.php?diff=168891&oldid=168880 * C++DSUCKER * (+91)
22:10:55 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168892&oldid=168889 * HeckYeah100 * (+115) /* Non */
22:12:05 <b_jonas> korvo: I still think the user-space programs are more important here. unix made them small and mostly independent, so they were easy to rewrite in C one by one.
22:13:18 <korvo> b_jonas: Yeah. I think that you're exactly right about the syscall interface, too. A program written in C can interoperate with an awk script written a few years later, too, so the entire system can evolve past C eventually.
22:15:10 <esolangs> [[Special:Log/move]] move * Aadenboy * moved [[HeckYeah100]] to [[User:HeckYeah100]]: Misspelled title: wrong namespace
22:15:36 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168895&oldid=168891 * C++DSUCKER * (+185)
22:21:18 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168896&oldid=168895 * C++DSUCKER * (+19)
22:29:42 <zzo38> Valgrind will sometimes report memory as lost even if the program is immediately terminated after the contents of the memory is written to the output
22:32:22 <APic> Night
22:34:46 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168897&oldid=168734 * NTMDev * (+2) /* Calling a Function */
22:37:14 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168898&oldid=168897 * NTMDev * (+33) /* Calling a Function */
22:37:49 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168899&oldid=168898 * NTMDev * (+91) /* Dictionaries (Hash Maps) = */
22:50:44 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168900&oldid=168899 * NTMDev * (+413) /* Dictionaries (Hash Maps) */
22:58:04 -!- amby has joined.
23:05:17 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168901&oldid=168900 * NTMDev * (+721) /* Dictionaries (Hash Maps) */
23:05:48 -!- yc has quit (Remote host closed the connection).
23:10:50 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:14:30 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168902&oldid=168901 * NTMDev * (+791) /* Key */
23:26:14 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168903&oldid=168902 * NTMDev * (+12) /* GetItems */
23:26:33 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168904&oldid=168903 * NTMDev * (-12) /* GetItems */
23:34:33 <int-e> ais523: I went to check the historical minimum limit for external identifiers was 6 (and 31 for internal identifiers)
23:34:45 <ais523> int-e: that matches my memory
23:51:15 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168905&oldid=168904 * NTMDev * (+413) /* GetItems */
23:54:19 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168906&oldid=168905 * NTMDev * (+491) /* Get item in Dictionary */
23:57:51 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168907&oldid=168906 * NTMDev * (+169) /* Bugs */
2025-11-22
00:01:21 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168908&oldid=168907 * NTMDev * (-105) /* Bugs */
00:02:35 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168909&oldid=168908 * NTMDev * (+13) /* SliceVal */
00:03:08 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168910&oldid=168909 * NTMDev * (+13) /* Get item in Dictionary */
00:03:39 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168911&oldid=168910 * NTMDev * (+12) /* PrimitiveWrapper */
00:04:02 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168912&oldid=168911 * NTMDev * (+0) /* del */
00:04:32 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=168913&oldid=168912 * NTMDev * (+14) /* Max and Min */
00:06:27 <b_jonas> yes, six characters of identifiers in C https://www.seebs.net/faqs/c-iaq.html#question-10.8
00:06:53 <b_jonas> and that's for extern ones; statics don't have such a limitation
00:07:12 <b_jonas> and I believe it wasn't really determined by C but by the linker or similar tools on an old platform
00:07:47 <esolangs> [[Special:Log/newusers]] create * CalimariWebDev * New user account
00:08:37 <b_jonas> macros can also be longer
00:14:31 -!- yc has joined.
00:16:22 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=168914&oldid=168875 * CalimariWebDev * (+47)
00:19:44 <ais523> b_jonas: the IAQ is a joke page, so I wouldn't necessarily rely on it as a source of accurate information (although in this case it probably is accurate because it's the setup for the joke rather than the joke itself)
00:23:52 <b_jonas> ais523: yes, I know
00:34:55 <b_jonas> C99 says at least 31 significant characters for extern names (if they're all ascii), so the 6 characters must be earlier than that
00:36:20 <esolangs> [[Talk:ROTfuck]] https://esolangs.org/w/index.php?diff=168915&oldid=101862 * None1 * (+394) /* Questions */ new section
00:37:57 <b_jonas> https://www.c-faq.com/ansi/extidsignif.html is more relevant, that one is in an actual FAQ, not a joke IAQ
00:38:09 <b_jonas> "The limitation was to six characters in the original ANSI Standard, but has been relaxed to 31 in C99."
00:39:20 <b_jonas> I just find the IAQ more memorable
00:43:47 -!- ais523 has quit (Quit: quit).
00:45:54 <b_jonas> oh, and C99 has casinh and casinhf functions in the standard library, those match to six characters, though I think the standard might allow them to be implemented as macros
00:46:30 <int-e> dym cosinh{,f}?
00:46:38 -!- 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).
00:47:25 <b_jonas> no, casinh and casinhf, as in complex inverse sine hyperbolic for doubles and floats resp
00:47:34 <int-e> ah
00:47:58 <int-e> I must've mistyped my `man` command
00:49:40 <int-e> And I never use C's complex number support? Interesting.
00:50:59 <b_jonas> but if you're like on an old system with only six significant characters in the linker then you might actually have only one precision of complex trigonometric functions in your system libraries, or, worse, just one floating point precision supported so float, double, long double all have the same representation, so you might be able to get away with six significant characters
00:57:25 <b_jonas> int-e: it has kind of an unfortunate history. so C's keyword complex clashes with C++'s library name complex in such a way that it's hard to use C complex types in C++. this was originally probably an innocent mistake where C invented complex and clog independently of Stroustrup, but then they both doubled down on it, so much that a more recent version of C standard declares that complex is no longer a
00:57:31 <b_jonas> macro that expands to _Complex but a keyword, which makes it even more incompatible with C++. and even now the C++ standards committee could solve this if they just said that, say, std::rcomplex is a type alias template to std::complex, you tell the compiler whether complex is a keyword with a switch, code that wants to use C complexes should refer call the type std::scomplex, and the compiler writers
00:57:36 <esolangs> [[/mbif/]] https://esolangs.org/w/index.php?diff=168916&oldid=143225 * Skip Broke * (-67) Technically, the IPA transcription is a spelling
00:57:38 <b_jonas> should use whatever magic they need to name the std::complex type for ABI compatibility even when complex is a keyword. but no, the two committes are in kind of a love-hate relationship and can't solve complex and atomic for like two decades and a decade respectively
01:00:09 <b_jonas> it's just so stupid, both the C standard and the C++ standard specifies that the complex types are represented exactly the same as a two-element array with real part in the first element and imaginary in the second part, so the types even have the exact same ABI, it would be trivial to allow both in a C++ program and even add implicit conversions between them for C++, we could have the best of the same
01:00:15 <b_jonas> words (for complex that is; atomic is a bit harder)
01:00:19 <b_jonas> s/best of the same words/best of both worlds/
01:00:50 -!- yc has quit (Remote host closed the connection).
01:01:00 <b_jonas> all C++ compilers are already developed together with C compilers that support complex, so it's not like this would make the C++ compilers harder to implement either
01:03:05 -!- yc has joined.
01:11:56 <esolangs> [[-]] M https://esolangs.org/w/index.php?diff=168917&oldid=147706 * None1 * (+28)
01:12:12 <esolangs> [[Readable]] M https://esolangs.org/w/index.php?diff=168918&oldid=168750 * None1 * (+11) /* See also */
01:47:53 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=168919&oldid=168892 * HeckYeah100 * (+1248)
01:48:55 -!- yc has quit (Remote host closed the connection).
01:49:12 -!- yc has joined.
02:00:19 -!- yc has quit (Remote host closed the connection).
02:00:42 -!- yc has joined.
02:04:44 -!- Sgeo has quit (Read error: Connection reset by peer).
02:05:23 -!- yc has quit (Remote host closed the connection).
02:08:36 -!- yc has joined.
02:19:52 <esolangs> [[Brainterpart]] https://esolangs.org/w/index.php?diff=168920&oldid=168847 * None1 * (+44) /* Programs */
03:33:32 -!- Sgeo has joined.
03:48:07 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=168921&oldid=168694 * Timm * (+280)
04:15:11 -!- svm has changed nick to msv.
04:47:24 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=168922&oldid=168859 * RaiseAfloppaFan3925 * (+32) /* random stuff idk */ plainlinks make it look better
05:30:00 <esolangs> [[User:RaiseAfloppaFan3925/Testing Facility]] https://esolangs.org/w/index.php?diff=168923&oldid=168440 * RaiseAfloppaFan3925 * (+181) Test my new signature
05:43:03 <esolangs> [[Racist Lua]] N https://esolangs.org/w/index.php?oldid=168924 * CalimariWebDev * (+3469) Racist Lua is a challenge where Lua follows similar rules to Lambda Calculus.
05:59:46 <esolangs> [[User:RaiseAfloppaFan3925/Testing Facility]] M https://esolangs.org/w/index.php?diff=168925&oldid=168923 * RaiseAfloppaFan3925 * (+55) fixed signature
06:19:58 <esolangs> [[Racist Lua]] M https://esolangs.org/w/index.php?diff=168926&oldid=168924 * CalimariWebDev * (+1)
06:34:05 <esolangs> [[Brainterpart]] https://esolangs.org/w/index.php?diff=168927&oldid=168920 * None1 * (+1928) Added Python interpreter and implemented category tag
06:36:45 <esolangs> [[Brainterpart]] https://esolangs.org/w/index.php?diff=168928&oldid=168927 * None1 * (+333)
07:24:20 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=168929&oldid=168921 * Timm * (-1)
07:42:23 <esolangs> [[Atamagaokashii]] https://esolangs.org/w/index.php?diff=168930&oldid=168842 * RaiseAfloppaFan3925 * (+1703) add some extra yapping
07:48:18 -!- tromp has joined.
08:01:57 <APic> Hi
08:16:21 <esolangs> [[Brainterpart]] https://esolangs.org/w/index.php?diff=168931&oldid=168928 * None1 * (+55) /* Examples */
08:39:03 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168932&oldid=166603 * Yayimhere2(school) * (-497) /* Info */
08:40:47 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168933&oldid=168932 * Yayimhere2(school) * (+1) /* Info */
08:41:46 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168934&oldid=168933 * Yayimhere2(school) * (-5) /* Info */
08:42:40 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168935&oldid=168934 * Yayimhere2(school) * (+81) /* Info */
08:43:02 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168936&oldid=168935 * Yayimhere2(school) * (+9) /* Info */
08:44:13 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168937&oldid=168936 * Yayimhere2(school) * (+62) /* Info */
08:50:44 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168938&oldid=168937 * Yayimhere2(school) * (+69) /* Info */
08:51:07 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168939&oldid=168938 * Yayimhere2(school) * (+6) /* Info */
08:56:00 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168940&oldid=168939 * Yayimhere2(school) * (+2) /* Info */
09:14:04 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168941&oldid=168940 * Yayimhere2(school) * (+904) /* Info */
10:02:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:07:17 -!- tromp has joined.
10:10:16 <esolangs> [[Brainterpart]] https://esolangs.org/w/index.php?diff=168942&oldid=168931 * None1 * (+185) /* Examples */
10:10:39 <esolangs> [[Brainterpart]] M https://esolangs.org/w/index.php?diff=168943&oldid=168942 * None1 * (+30) /* Interpreter */
10:11:39 <esolangs> [[Brainterpart]] M https://esolangs.org/w/index.php?diff=168944&oldid=168943 * None1 * (+4) /* Examples */
10:24:02 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:28:19 -!- tromp has joined.
10:32:57 <esolangs> [[User:None1/ToDo]] M https://esolangs.org/w/index.php?diff=168945&oldid=128430 * None1 * (+1) /* Content */
10:40:06 <esolangs> [[User:Win7HE]] https://esolangs.org/w/index.php?diff=168946&oldid=156341 * Win7HE * (+105)
10:46:11 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168947&oldid=168941 * Yayimhere2(school) * (+10) /* Examples */
10:49:11 <esolangs> [[Backjump]] N https://esolangs.org/w/index.php?oldid=168948 * Hammy * (+813) Created page with "Backjump is a [[bf]] derivative where you get to go back. ==Commands== Same as BF, but loops are removed. There are new commands so this is still Turing Complete New commands: <code>!</code> takes the current amount in the cell, and jumps back that many cells. <code>?<
11:35:49 -!- Sgeo has quit (Read error: Connection reset by peer).
11:55:27 <esolangs> [[Unicode image representation thingy]] N https://esolangs.org/w/index.php?oldid=168949 * Hammy * (+1406) Created page with "This article is about systems for writing images with text by [[User:Hammy]]. They can be considered esolangs with no input and graphical output. Note: Unprintable characters (but not space) are replaced by control pictures. ==Encryption!== Fi
11:55:49 <esolangs> [[Unicode image representation thingy]] https://esolangs.org/w/index.php?diff=168950&oldid=168949 * Hammy * (-2)
12:19:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:19:38 -!- Everything has joined.
12:25:34 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168951&oldid=168947 * Yayimhere2(school) * (+652) /* Examples */
12:44:14 <esolangs> [[Hammy-complete]] N https://esolangs.org/w/index.php?oldid=168952 * Hammy * (+787) Created page with "An esolang is Hammy-complete if it satisfies these conditions: * it can output and input * if it's not a bf derivative (nice try though! bf itself doesn't count) * if it was created after 2010 (new esolangs are better. except bf and befunge, those don't count) * if
12:47:43 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168953&oldid=168951 * Yayimhere2(school) * (+561) /* Examples */
13:02:48 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168954&oldid=168953 * Yayimhere2(school) * (-561) /* Examples */
13:14:28 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168955&oldid=168954 * Yayimhere2(school) * (+111) /* Info */
13:15:20 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168956&oldid=168955 * Yayimhere2(school) * (-5) /* Info */
13:19:47 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168957&oldid=168956 * Yayimhere2(school) * (+349) /* Examples */
13:20:53 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168958&oldid=168896 * C++DSUCKER * (+9)
13:22:59 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168959&oldid=168957 * Yayimhere2(school) * (+337) /* Examples */
13:26:30 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168960&oldid=168959 * Yayimhere2(school) * (+843) /* Examples */
13:27:39 <esolangs> [[Talk:Contains everything]] https://esolangs.org/w/index.php?diff=168961&oldid=168470 * C++DSUCKER * (+422)
13:38:46 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=168962&oldid=168929 * Timm * (+14)
13:39:46 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=168963&oldid=168962 * Timm * (+0)
13:41:02 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=168964 * HeckYeah100 * (+1946) Created page with "== == {{infobox proglang |name= |paradigms=math-only, base 2 |year=2025 |author=[[HeckYeah100]] |influence=[[Non]] |class=[[:Category:Finite state automata|Finite state automata]] (FSA) }} This is a very esoteric programming language developed by [[HeckYeah100]]. It is a
13:42:03 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168965&oldid=168964 * HeckYeah100 * (+166)
13:43:08 <esolangs> [[]] https://esolangs.org/w/index.php?diff=168966&oldid=168965 * HeckYeah100 * (-75)
13:44:20 <esolangs> [[User:HeckYeah100]] https://esolangs.org/w/index.php?diff=168967&oldid=168893 * HeckYeah100 * (+79)
13:46:42 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168968&oldid=168958 * C++DSUCKER * (+465)
13:47:03 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168969&oldid=168968 * C++DSUCKER * (-2)
13:50:40 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168970&oldid=168969 * C++DSUCKER * (-41)
13:51:29 <esolangs> [[User talk:Hammy]] https://esolangs.org/w/index.php?diff=168971&oldid=168780 * PrySigneToFry * (+683) /* I-Caph */ new section
13:52:14 <esolangs> [[Waves]] N https://esolangs.org/w/index.php?oldid=168972 * Timm * (+305) Created page with "[[User:Timm]] waves X X X X do nothing X is any int value X X+1 X+1 if change to +1 + in brainfuck similar to -1 - X X+1 X if change to +1 in one int > X X-1 X similar X X+2 X and X X-2 X is [] similar to +/-3 in one int is out and in to +7 0 2 0 -3 0 ... ed
13:53:11 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=168973&oldid=168695 * Timm * (+43)
13:55:45 -!- tromp has joined.
14:01:44 -!- amby has joined.
14:35:17 <esolangs> [[Eh]] N https://esolangs.org/w/index.php?oldid=168974 * HeckYeah100 * (+746) Created page with "==Eh== {{infobox proglang |name=Non |paradigms=[[Declarative]] |author=[[HeckYeah100]] |year=[[:Category:2025|2025]] |class=[[:Category:Turing complete|Turing complete]] |influence=[[BF]] |files=<code>.non</code> }} Eh is an assertion based programming language created by
14:38:42 -!- Everything has quit (Quit: leaving).
15:00:58 <esolangs> [[Bomberman]] N https://esolangs.org/w/index.php?oldid=168975 * * (+1558) Created page with "'''Bomberman''' is an esolang made by [[User:]]. It was made to be [[Hammy-complete]]. It has a stack and variable system. If a command is not using the variable parameter, the value is used from and to the stack. ==Commands== {| class="wikitable" |- ! Command !! What it doe
15:03:56 <esolangs> [[Deadfish/Implementations (nonalphabetic and A-L)]] https://esolangs.org/w/index.php?diff=168976&oldid=148068 * * (+372)
15:05:31 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168977&oldid=168960 * Yayimhere2(school) * (+1256) /* Examples */
15:07:30 <esolangs> [[User talk:Hammy]] https://esolangs.org/w/index.php?diff=168978&oldid=168971 * * (+339) /* I think I made a Hammy-complete language */ new section
15:13:13 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168979&oldid=168977 * Yayimhere2(school) * (+372) Add free variables section
15:19:28 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=168980&oldid=168876 * * (+16) /* B */
15:21:29 <esolangs> [[User talk:Zip]] https://esolangs.org/w/index.php?diff=168981&oldid=94803 * Yayimhere2(school) * (+307)
15:23:24 <esolangs> [[Subleq+]] https://esolangs.org/w/index.php?diff=168982&oldid=104271 * Yayimhere2(school) * (-30) Its not *proven* TC, so ill take the tag away
15:43:14 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168983&oldid=168979 * Yayimhere2(school) * (+25) /* Info */
15:47:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:59:28 -!- Yayimhere has joined.
15:59:31 <Yayimhere> hello
15:59:56 <Yayimhere> how powerful is the combinator N x f = f(xTRUE)(xFALSE)
16:05:01 <esolangs> [[User talk:Hammy]] https://esolangs.org/w/index.php?diff=168984&oldid=168978 * Hammy * (+95) /* I-Caph */
16:05:33 <Yayimhere> atleast what would you guess
16:08:03 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168985&oldid=168983 * Yayimhere2(school) * (+4) /* Info */
16:11:11 -!- tromp has joined.
16:12:41 <esolangs> [[Hammy-complete]] https://esolangs.org/w/index.php?diff=168986&oldid=168952 * Hammy * (+494)
16:13:42 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=168987&oldid=168985 * Yayimhere2(school) * (+65)
16:25:12 <avih> int-e: so i commented the bf counter (PITA) and while at it noticed that the "if (==0 i.e. past most significant digit) {=1}" can be placed at the "not 10" clause of the while loop, which ended up saving 4 chars, so overall 120 :) https://gist.github.com/avih/3c7733e251e7edaf161f7f71c840ce69
16:25:18 <esolangs> [[Contains everything]] M https://esolangs.org/w/index.php?diff=168988&oldid=168970 * C++DSUCKER * (-1)
16:28:36 <esolangs> [[Contains everything]] M https://esolangs.org/w/index.php?diff=168989&oldid=168988 * C++DSUCKER * (+0) EXTERMINATE!!!
16:30:07 -!- Lord_of_Life_ has joined.
16:30:55 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
16:31:27 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:31:43 <esolangs> [[Bomberman]] https://esolangs.org/w/index.php?diff=168990&oldid=168975 * * (+122)
16:43:07 <esolangs> [[AAAAAAAAAAAAAA!!!!]] https://esolangs.org/w/index.php?diff=168991&oldid=74334 * Hammy * (+1) fixed the external link to uncyclopedia
16:58:03 <esolangs> [[Talk:Hammy-complete]] N https://esolangs.org/w/index.php?oldid=168992 * Corbin * (+160) Created page with "Yet another joke concept. We really ought to either delete or categorize these. ~~~~"
17:11:25 <esolangs> [[HalfText]] N https://esolangs.org/w/index.php?oldid=168993 * GolferHome * (+1055) Created page with "= HalfText == HalfText is a non-turing-complete text format where assuming little-endianness, turning code to array of binary bits and grouping into 7 bit groups, printing character with ASCII code of each 7-bit group. It will limit maximum ASCII code to 127. Turn
17:17:25 <esolangs> [[AAAAAA!]] N https://esolangs.org/w/index.php?oldid=168994 * Hammy * (+2289) Created page with "AAAAAA! is an esolang by [[User:Hammy]] based on [https://uncyclopedia.com/wiki/AAAAAAAAA%21 this] ==Commands== ===Numbers=== Numbers are represented by '''n'''-1 A's, where '''n''' is the number you are representing. Don't forget the dot!! Example: <code>AAAAA.</code> =
17:20:35 <esolangs> [[AAAAAA!]] https://esolangs.org/w/index.php?diff=168995&oldid=168994 * Hammy * (+5) /* Numbers */
17:33:18 <APic> cu
17:38:13 <avih> bye
17:44:47 -!- Yayimhere has quit (Ping timeout: 250 seconds).
17:49:03 -!- Yayimhere has joined.
17:58:55 <esolangs> [[,()]] https://esolangs.org/w/index.php?diff=168996&oldid=147809 * Yayimhere2(school) * (+10) /* Quine */ It ist cheating
18:14:15 -!- Yayimhere has quit (Ping timeout: 250 seconds).
18:20:25 -!- Everything has joined.
18:20:54 <Everything> Hi all. IOCCC websites for other PLs? Are there? Should be, I believe.
18:22:09 <int-e> it's called github ;-)
18:37:10 <Everything> It's too unfiltered
18:38:15 <int-e> yeah despite being in stealth mode, the contest became too popular so sorting through the entries is taking longer than expected
18:50:29 <korvo> I didn't get invited back. One of my code snippets was used as an example of not being underhanded enough. Weird compliment but okay.
18:50:35 -!- Sgeo has joined.
18:50:47 <korvo> Oh, the obfuscated contest, not the underhanded contest. Sorry, didn't read carefully.
18:52:46 <int-e> Everything: The best serious answer is probably various golfing competitions, where obfuscation is not the primary objective, but arises naturally as a consequence of pursuing the primary objective.
18:55:10 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=168997&oldid=168989 * C++DSUCKER * (+414) Diagrom
18:56:03 <Everything> int-e: yeah, maybe. stack exchange, or other websites?
18:57:19 <Everything> Ouch, I had no idea about https://en.wikipedia.org/wiki/Underhanded_C_Contest thanks korvo
19:03:18 <korvo> Everything: https://web.archive.org/web/20160304003728/https://www.underhanded-c.org/ It was a decade ago! I would love to see another one someday. The unattributed NaN-poisoning example is a perfect match for my submission, so I'm flattered that he thought my attempt would be caught on review and was too simple.
19:04:19 <Everything> korvo: good sense of humor. can you publish it for us?
19:04:36 <int-e> Everything: There was an attempt to do this for Haskell: https://wiki.haskell.org/Obfuscation
19:06:55 <int-e> korvo: ouch the font there does not work well for me: https://int-e.eu/~bf3/tmp/hinting.png
19:07:52 <int-e> (Though I can zoom in a bit and that makes it a lot better.)
19:07:55 <korvo> Ugh, what a smear.
19:08:54 <korvo> Everything: Sure. I set myself the additional constraint that the bug should survive porting to a more reasonable language; after all, if being truly underhanded, shouldn't the specification have a bug too~? So here's corbin.py https://bpa.st/OQ4PUKNJOSLAPPOWLHN4ZYQNKU and corbin.c https://bpa.st/RZZLY4WRKQ3OPO5RESDECIFKFQ
19:09:13 <korvo> Making a note to myself to permanently archive this. I just happened to still have it sitting around.
19:10:09 <Everything> 10x
19:14:08 <korvo> ...This version of corbin.c is *not* an exact match for the example in the contest writeup. I'm going to assume that the evidence is correct and my memories are wrong, and that my code *wasn't* used in the contest writeup.
19:56:28 <esolangs> [[QuaternaryImaged]] N https://esolangs.org/w/index.php?oldid=168998 * Esolangist alt * (+849) Esolangist alt
19:56:34 <esolangs> [[Racist Lua]] https://esolangs.org/w/index.php?diff=168999&oldid=168926 * Oshaboy * (+181) Added Categories
21:08:15 -!- Everything has quit (Quit: leaving).
21:25:15 <esolangs> [[ITF,P]] M https://esolangs.org/w/index.php?diff=169000&oldid=168515 * Buckets * (+0)
21:58:17 -!- SGautam has joined.
22:04:45 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169001&oldid=168874 * Buckets * (+9)
22:04:59 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169002&oldid=169001 * Buckets * (+0)
22:05:39 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169003&oldid=168980 * Buckets * (+10)
22:05:58 <esolangs> [[4dB]] N https://esolangs.org/w/index.php?oldid=169004 * Buckets * (+2631) Created page with "4db is An Esoteric programming language created By [[User:Buckets]] in 2022, It is not Shorthand for '4 decibels', But An acronym For '4-dimensional Beads'. {| class="wikitable" |- ! Commands !! Instructions |- | g || Add A bead, When making Another bead, The Bead Selector
22:06:08 <esolangs> [[4dB]] M https://esolangs.org/w/index.php?diff=169005&oldid=169004 * Buckets * (+1)
23:54:38 <isabella> Meow
23:57:23 <korvo> Rawr. What's up?
23:58:04 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:58:07 <korvo> I gotta stop posting on Lobsters. It's just not a good use of my time.
23:59:19 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=169006&oldid=168997 * C++DSUCKER * (+242) Examples!
2025-11-23
00:06:14 <zzo38> Is there a way to make a kind of general text editor which can also be used for binary files and with a reveal codes function to reveal formatting codes and also allows arbitrary character sets? This way, extensions and other stuff can be made to work with multiple file formats (including plain ASCII text files, ASCII-separated-values, etc)
00:08:43 <isabella> Is that just set list in vim
00:10:33 <zzo38> That is a specific case of that
00:27:39 -!- SGautam has quit (Quit: Connection closed for inactivity).
00:36:01 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=169007&oldid=169006 * C++DSUCKER * (+92)
01:17:07 <esolangs> [[Xonovile]] N https://esolangs.org/w/index.php?oldid=169008 * PrySigneToFry * (+6770) Created page with "Xonovile is designed by PSTF. It uses pictograms as commands, to let the program understandable. = Overview = Xonovile is Turing-Complete, has I/O manipulation and functions(including R&R). Also known as "|L". == Command Set == === Comments === Things between
01:19:08 <esolangs> [[Hammy-complete]] https://esolangs.org/w/index.php?diff=169009&oldid=168986 * PrySigneToFry * (+29) Many languages use bang as operator "NOT" or factorial.
01:20:19 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169010&oldid=169003 * PrySigneToFry * (+150)
02:20:43 <esolangs> [[Z-complete]] N https://esolangs.org/w/index.php?oldid=169011 * PrySigneToFry * (+4172) Created page with "Z-complete is a concept proposed by PSTF. Because I accidentally lost a software that generates strange text, making it difficult to input Fraktur script, the title here should actually be <span style='font-family: Fraktur;'>Z</span>-complete. = Requirements
02:32:16 -!- 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).
03:00:48 -!- tromp has joined.
03:01:26 -!- tromp has quit (Client Quit).
03:02:06 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=169012&oldid=167730 * PrySigneToFry * (+60)
03:05:02 -!- op_4 has quit (Remote host closed the connection).
03:05:34 -!- op_4 has joined.
04:04:02 <esolangs> [[Talk:Z-complete]] N https://esolangs.org/w/index.php?oldid=169013 * Corbin * (+103) Created page with "What's the motivation? ~~~~"
04:33:35 <esolangs> [[Hello,world!]] https://esolangs.org/w/index.php?diff=169014&oldid=163998 * PrySigneToFry * (+39591)
04:34:10 <esolangs> [[Hello,world!]] M https://esolangs.org/w/index.php?diff=169015&oldid=169014 * PrySigneToFry * (+17)
04:38:21 <esolangs> [[Storm-complete]] https://esolangs.org/w/index.php?diff=169016&oldid=154211 * PrySigneToFry * (+1632)
04:42:29 <esolangs> [[Talk:Storm-complete]] https://esolangs.org/w/index.php?diff=169017&oldid=154255 * Corbin * (+252) Found another one.
04:42:50 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169018&oldid=158390 * PrySigneToFry * (-45)
04:47:15 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=169019&oldid=168987 * Yayimhere2(school) * (-1) /* Examples */
04:53:48 <esolangs> [[Utral]] https://esolangs.org/w/index.php?diff=169020&oldid=169019 * Yayimhere2(school) * (+1264) /* Examples */
05:08:19 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Universe No.284436]] https://esolangs.org/w/index.php?diff=169021&oldid=167321 * PrySigneToFry * (+541)
06:08:36 <esolangs> [[Combinatory logic]] https://esolangs.org/w/index.php?diff=169022&oldid=166653 * Yayimhere2(school) * (+1) /* Completeness */ SKI is used more than just SK, and also reads nicer, so I changed it.
06:53:01 <esolangs> [[Attached]] N https://esolangs.org/w/index.php?oldid=169023 * Yayimhere2(school) * (+1932) Created page with "'''Attached''' is an esoteric programming language by [[User:Yayimhere]], to create a more unique [[Combinator calculus]]. Attached gets its name from two things. First it describes the main command and two, I can now attach it to any other documentation as
06:59:17 <esolangs> [[SMITH]] https://esolangs.org/w/index.php?diff=169024&oldid=122722 * Yayimhere2(school) * (+6) add short for
07:01:31 <esolangs> [[User:Ractangle/Sandbox/Timeline 1832]] M https://esolangs.org/w/index.php?diff=169025&oldid=164608 * Ractangle * (+162) /* Countries */
07:53:59 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=169026&oldid=168922 * RaiseAfloppaFan3925 * (+2945) Add constants + completeness concepts idk
07:56:23 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=169027&oldid=169026 * RaiseAfloppaFan3925 * (+39) /* Teto-completeness */ forgot one constant
08:30:31 -!- tromp has joined.
08:30:59 <esolangs> [[Normalcalc]] https://esolangs.org/w/index.php?diff=169028&oldid=151352 * Itoh Shimon * (+69) Online interpreter link
08:45:31 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=169029&oldid=169027 * RaiseAfloppaFan3925 * (+239) Added the missing piece in the Japanese translation
09:39:46 <APic> Hi
09:43:53 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
09:43:53 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
09:52:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:03:54 -!- simcop2387 has joined.
10:11:22 -!- tromp has joined.
10:12:57 -!- perlbot has joined.
10:37:46 <esolangs> [[Special:Log/upload]] upload * Hammy * uploaded "[[File:Cats-logo.png]]"
10:38:02 <esolangs> [[Brainfuck, but every + is replaced with the bee movie script]] https://esolangs.org/w/index.php?diff=169031&oldid=86671 * PrySigneToFry * (+96)
10:38:06 -!- simcop2387_ has joined.
10:39:01 -!- simcop2387 has quit (Ping timeout: 264 seconds).
10:39:34 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:39:44 -!- simcop2387_ has changed nick to simcop2387.
10:40:47 <esolangs> [[Cats]] N https://esolangs.org/w/index.php?oldid=169032 * Hammy * (+766) Created page with "Cats is an esolang by [[User:Hammy]] which is [[Skinny pig]] but cat. also it is a [[bf]] equivalent... [[File:Cats-logo.png|thumb|alt=oh no you cant view it|The logo for Cats]] ==Commands== {| class="wikitable plainpres" |+ Commands |- ! What the cat does !! What you type !
10:41:07 <esolangs> [[DFS]] M https://esolangs.org/w/index.php?diff=169033&oldid=116897 * None1 * (+18) Add year
10:45:30 -!- tromp has joined.
10:51:29 <esolangs> [[User:ChuckEsoteric08/Interpreters]] https://esolangs.org/w/index.php?diff=169034&oldid=163757 * ChuckEsoteric08 * (+1282) Added Self-interpreter for SUBBIG
10:52:59 <esolangs> [[SUBBIG]] https://esolangs.org/w/index.php?diff=169035&oldid=121628 * ChuckEsoteric08 * (+1280)
10:56:49 <esolangs> [[EsoInterpreters]] https://esolangs.org/w/index.php?diff=169036&oldid=168824 * ChuckEsoteric08 * (+546) Added SUBBIG Self-interpreter
10:58:16 <esolangs> [[User:ChuckEsoteric08]] https://esolangs.org/w/index.php?diff=169037&oldid=165541 * ChuckEsoteric08 * (-12) /* TODO list */ Removed SUBBIG self interpreter from TODO list
11:05:40 <esolangs> [[0 Bits, 0 Bytes]] M https://esolangs.org/w/index.php?diff=169038&oldid=151145 * None1 * (+30) /* See also */
11:07:42 <esolangs> [[Constant language]] M https://esolangs.org/w/index.php?diff=169039&oldid=167864 * None1 * (+34)
11:08:11 <esolangs> [[No-code esolang]] M https://esolangs.org/w/index.php?diff=169040&oldid=117833 * None1 * (+37)
11:12:21 <esolangs> [[ConstantLanguage()]] https://esolangs.org/w/index.php?diff=169041&oldid=164136 * None1 * (+272) Add interpreter and categories
11:12:49 <esolangs> [[ConstantLanguage()]] M https://esolangs.org/w/index.php?diff=169042&oldid=169041 * None1 * (+2) /* Python */
11:13:28 <esolangs> [[ConstantLanguage()]] M https://esolangs.org/w/index.php?diff=169043&oldid=169042 * None1 * (+4)
11:14:01 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=169044&oldid=168849 * None1 * (+38) /* My Implementations */ Add ConstantLanguage()
11:14:23 <esolangs> [[ConstantLanguage()]] M https://esolangs.org/w/index.php?diff=169045&oldid=169043 * None1 * (+18)
11:16:23 <esolangs> [[OCPL]] M https://esolangs.org/w/index.php?diff=169046&oldid=139748 * None1 * (+27)
11:24:27 <esolangs> [[Meow/libs/logic.meow]] N https://esolangs.org/w/index.php?oldid=169047 * None1 * (+486) Created page with "logic.meow: Logic gates. <pre> func and poparg arg1 poparg arg2 addret 0 big arg1 0 big arg2 0 addret 1 end end endf func or poparg arg1 poparg arg2 addret 1 small arg1 1 small arg2 1 addret 0 end end endf func not poparg arg1 sub 1 arg1 ret endf add 0 1 TRUE
11:32:55 <esolangs> [[Meow/libs/time.meow]] N https://esolangs.org/w/index.php?oldid=169048 * None1 * (+281) Created page with "time.meow: Functions for sleeping. <pre> func slp run clock popret t sub t u g small g l run slp end endf func wait poparg h run clock popret u add 0 h l run slp endf </pre> Functions: * <code>wait</code>: wait for given time (in milliseconds). Helper functions
11:34:12 <esolangs> [[Talk:Ascenic]] https://esolangs.org/w/index.php?diff=169049&oldid=123282 * ChuckEsoteric08 * (+205)
11:36:42 <esolangs> [[Meow/libs/logic.meow]] M https://esolangs.org/w/index.php?diff=169050&oldid=169047 * None1 * (+13)
11:38:11 <esolangs> [[Meow/libs/math.meow]] N https://esolangs.org/w/index.php?oldid=169051 * None1 * (+1448) Created page with "math.meow: Math functions. <pre> func pow poparg arg1 poparg arg2 equal arg2 0 addret 1 end big arg2 0 sub arg2 1 arg2 run pow popret ret mul ret arg1 ret addret ret add arg2 1 arg2 end endf add 0 1 fby func fb poparg arg1 add fbx fby temp add 0 fby fbx add 0
11:38:26 <esolangs> [[Meow/libs/time.meow]] M https://esolangs.org/w/index.php?diff=169052&oldid=169048 * None1 * (+3)
11:41:26 <esolangs> [[Meow/libs/rand.meow]] N https://esolangs.org/w/index.php?oldid=169053 * None1 * (+532) Created page with "rand.meow: RNGs. <pre> func rint mul rintseed 37 rintseed add rintseed 2017 rintseed mod rintseed 65537 rintseed addret rintseed endf func rflt mul rfltseed 1.61803339887 rfltseed add rfltseed 0.61803339887 rfltseed mod rfltseed 1 rfltseed addret rfltseed endf
11:41:49 <esolangs> [[Meow/libs/rand.meow]] M https://esolangs.org/w/index.php?diff=169054&oldid=169053 * None1 * (+7)
11:42:05 <esolangs> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=169055&oldid=167612 * None1 * (+1) /* Cat */
11:43:42 <esolangs> [[Talk:Ascenic]] https://esolangs.org/w/index.php?diff=169056&oldid=169049 * ChuckEsoteric08 * (-61)
11:45:50 <esolangs> [[Meow/libs/meowlib.meow]] N https://esolangs.org/w/index.php?oldid=169057 * None1 * (+162) Created page with "meowlib.meow: Imports all other standard libraries (Just like <code>bits/stdc++.h</code> in C++) <pre> library math library logic library rand library time </pre>"
11:46:39 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=169058&oldid=169007 * C++DSUCKER * (+57)
11:47:20 <esolangs> [[Meow/libs]] N https://esolangs.org/w/index.php?oldid=169059 * None1 * (+293) Created page with "The following are the supported standard libraries in the [[Meow]] esolang: * {{Sub|Meow/libs|logic.meow}} * {{Sub|Meow/libs|math.meow}} * {{Sub|Meow/libs|rand.meow}} * {{Sub|Meow/libs|time.meow}} * {{Sub|Meow/libs|meowlib.meow}} These libraries should be put in the path
11:47:41 <esolangs> [[Meow/libs]] M https://esolangs.org/w/index.php?diff=169060&oldid=169059 * None1 * (+8)
11:48:29 <esolangs> [[Meow (None1)]] https://esolangs.org/w/index.php?diff=169061&oldid=119677 * None1 * (+104)
11:49:14 <esolangs> [[Meow/libs]] https://esolangs.org/w/index.php?diff=169062&oldid=169060 * None1 * (+23)
11:49:30 <esolangs> [[Meow/libs/logic.meow]] https://esolangs.org/w/index.php?diff=169063&oldid=169050 * None1 * (+20)
11:49:52 <esolangs> [[Meow/libs/math.meow]] M https://esolangs.org/w/index.php?diff=169064&oldid=169051 * None1 * (+20)
11:51:01 <esolangs> [[Meow/libs/rand.meow]] M https://esolangs.org/w/index.php?diff=169065&oldid=169054 * None1 * (+20)
11:51:15 <esolangs> [[Meow/libs/time.meow]] M https://esolangs.org/w/index.php?diff=169066&oldid=169052 * None1 * (+20)
11:51:28 <esolangs> [[Meow/libs/meowlib.meow]] M https://esolangs.org/w/index.php?diff=169067&oldid=169057 * None1 * (+20)
12:00:32 -!- Sgeo has quit (Read error: Connection reset by peer).
12:02:17 <esolangs> [[Talk:2KWLang]] M https://esolangs.org/w/index.php?diff=169068&oldid=139846 * None1 * (-5) /* Computational class */
12:12:24 <esolangs> [[Anti-Plushie language DIY]] N https://esolangs.org/w/index.php?oldid=169069 * None1 * (+693) Created page with "'''Anti-Plushie language DIY''' ('''APLD''' for short) is an esolang invented by [[User:None1]]. It's [[Anti-Plushie language]], but it's you ''who'' decide the restrictions! ==Syntax== It's [[Deadfish]], but you can add restrictions: * <code>''x'' ''"err
12:12:37 <esolangs> [[Anti-Plushie language DIY]] M https://esolangs.org/w/index.php?diff=169070&oldid=169069 * None1 * (+0)
12:12:48 <esolangs> [[Anti-Plushie language DIY]] M https://esolangs.org/w/index.php?diff=169071&oldid=169070 * None1 * (+0) /* Examples */
12:14:40 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=169072&oldid=169044 * None1 * (+106) /* My Esolangs */
12:16:28 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=169073&oldid=169072 * None1 * (+0) /* My Esolangs */
12:16:44 <esolangs> [[APLD]] N https://esolangs.org/w/index.php?oldid=169074 * None1 * (+39) Redirected page to [[Anti-Plushie language DIY]]
12:17:06 <esolangs> [[Anti-Plushie language]] https://esolangs.org/w/index.php?diff=169075&oldid=154188 * None1 * (+85)
12:24:08 <esolangs> [[Ascenic]] M https://esolangs.org/w/index.php?diff=169076&oldid=122969 * None1 * (-1) /* A+B Problem */
12:24:18 <esolangs> [[Ascenic]] M https://esolangs.org/w/index.php?diff=169077&oldid=169076 * None1 * (-1) /* A+B Problem */
12:32:15 <esolangs> [[Contains everything]] https://esolangs.org/w/index.php?diff=169078&oldid=169058 * C++DSUCKER * (+419)
12:49:31 <esolangs> [[ConstantLanguage()]] https://esolangs.org/w/index.php?diff=169079&oldid=169045 * None1 * (+68) /* Python */
12:59:32 -!- amby has joined.
14:03:31 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=169080&oldid=169029 * RaiseAfloppaFan3925 * (+303) Corrected some mistakes in my Japanese + added some more Japanese sentences
14:15:02 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:21:22 <esolangs> [[Constant language]] https://esolangs.org/w/index.php?diff=169081&oldid=169039 * * (+69)
14:26:12 <esolangs> [[Ascenic]] https://esolangs.org/w/index.php?diff=169082&oldid=169077 * ChuckEsoteric08 * (+1034) Added TC proof, later will also add some examples Probably also create a page on Structured program theorem later
14:26:17 <esolangs> [[Brainfuck, but every + is replaced with the FitnessGram Pacer Test]] N https://esolangs.org/w/index.php?oldid=169083 * * (+1001) Created page with "'''Brainfuck, but every + is replaced with the FitnessGram Pacer Test''' is exactly what the title says. ==Commands== {| class="wikitable" |- ! Code !! What it does |- | . || Prints. |- | , || Asks for input |- | [ ||
14:47:13 -!- tromp has joined.
14:48:44 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=169084&oldid=168867 * Yayimhere2(school) * (+258)
14:50:46 <esolangs> [[8ial]] https://esolangs.org/w/index.php?diff=169085&oldid=168164 * Kaveh Yousefi * (+140) Corrected the deprecated EBNF description and expunged the remarks concerning the deprecated subjects, which have, hopefully, been amended in the interstice.
14:52:20 <esolangs> [[Talk:8ial]] https://esolangs.org/w/index.php?diff=169086&oldid=166146 * Kaveh Yousefi * (+205) Supplemented a response to the notification on my deprecated implementation and an expression of gratitude.
14:54:12 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=169087&oldid=152720 * Kaveh Yousefi * (+205) Updated the 8ial programming language's handling of comments to the new rendition's nomothesia.
15:29:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:32:14 <esolangs> [[Talk:No-code esolang]] N https://esolangs.org/w/index.php?oldid=169088 * Corbin * (+108) Created page with "This concept is incoherent. ~~~~"
15:32:33 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=169089&oldid=169084 * * (+136)
15:34:46 <esolangs> [[User talk:Aadenboy/Forces and such]] M https://esolangs.org/w/index.php?diff=169090&oldid=169089 * * (+48)
15:37:49 -!- Yayimhere has joined.
15:37:56 <Yayimhere> hello!
15:38:17 <Yayimhere> i had an idea, that I find pretty interesting, so im going to ask you all if you have anything to reccomend
15:38:45 <Yayimhere> basically, every program simply modifies its own abstract syntax tree(thats what they are called right?)
15:38:50 <Yayimhere> and thats my current idea
15:38:59 <Yayimhere> im planning on turing completeness
15:39:03 <Yayimhere> soooo yes
15:39:06 <Yayimhere> *yea
15:40:28 <korvo> Yayimhere: Reasonable idea in the abstract, but the details matter a lot.
15:40:41 <Yayimhere> korvo: true
15:40:46 <Yayimhere> also thanks!
15:41:03 <korvo> Like, technically all graph reduction qualifies, but we use completely different graphs for e.g. Haskell's abstract syntax and Haskell's heap.
15:41:11 <Yayimhere> hm
15:41:28 <korvo> Yayimhere: Oh, my recommendation is still to learn to program. Sit down with a Scheme for a while.
15:41:42 <Yayimhere> korvo: a scheme?
15:41:48 <korvo> https://vpb.smallyu.net/%5BType%5D%20books/The%20Little%20Schemer.pdf Here's a copy of Little Schemer as a PDF.
15:41:58 <Yayimhere> but I am learning how to programming
15:42:06 <Yayimhere> currently just doing an intepreter
15:42:08 <korvo> Yayimhere: Most Lisps are either Common Lisps or Schemes. I'd recommend a Scheme.
15:42:16 <Yayimhere> k
15:49:13 -!- tromp has joined.
15:51:09 <Yayimhere> Korvo: thanks for the PDF, its quite fun to read
15:52:29 <korvo> Yayimhere: You're welcome. I found these books to be very enlightening as a college student. I encourage you to not push too hard; if something doesn't make sense at first, take a break. It's a short book but it's okay to spend a long time with it.
15:52:59 <Yayimhere> korvo: yea. I am taking quite a while on the commandments
15:53:01 <Yayimhere> but yea
15:53:03 <Yayimhere> thanks!
15:53:08 <Yayimhere> ill be reading this for a while
15:54:18 <korvo> Feel free to ask if you have questions; many of us know Scheme. Once you're also set up with your choice of environment, you can usually go find that environment's IRC channel (or Discord or etc.) and chat with them too.
15:54:31 <Yayimhere> k
15:54:35 <korvo> I'm actually very weak with Lisps, but I can scrape by. Hopefully other folks will chime in.
15:54:55 <Yayimhere> i do have one question, which is what they mean when "Always change at least one argument while recurring."
15:55:10 <Yayimhere> I think I get the recurring part, thats going through all elements of the list
15:55:18 <Yayimhere> but idk about the always change atleast on element
15:57:01 <korvo> Well, if you *exactly* repeat an action, and that action includes recurring, then you'll *exactly* recur into the same action, forever. It would be an infinite loop!
15:57:24 <Yayimhere> ah
15:57:28 <Yayimhere> yea lol
16:12:22 <Yayimhere> i assume x? y is similar to x == y
16:17:22 <sorear> ? is an identifier character in scheme, x? is a function defined somewhere
16:17:35 <sorear> what it does will depend on the definition
16:17:44 <korvo> Maybe for some special cases. Does that make sense for pair?
16:18:01 <korvo> Or perhaps number? comes first.
16:18:24 <Yayimhere> hm?
16:18:25 <Yayimhere> wut
16:20:23 <Yayimhere> "Simplify only after the function is correct." so when the function has been confirmed to be like, correct?
16:23:14 <Yayimhere> "Abstract common patterns with a new func­ tion." so scheme/lisp renames common expressions as functions automatically?
16:25:07 <Yayimhere> or is that, and the tenth commandment more of like
16:25:13 <Yayimhere> just what the programmer should do
16:27:58 <sorear> anything written in the imperative mood is an instruction for the reader. who's reading the PDF, the programmer or the compiler?
16:28:39 <Yayimhere> yea ok
16:28:45 <sorear> some of them may become clearer if you read the preface and the introduction first
16:28:45 <Yayimhere> I guess I was interpreting this wrong
16:29:04 <Yayimhere> i just read in order of the PDF
16:29:14 <sorear> this is a PDF of a book, which means that you want the quick-reference sections to be near the covers so you can get to them quickly
16:29:53 <Yayimhere> ok
16:29:54 -!- Lord_of_Life_ has joined.
16:30:12 <sorear> (I don't care about the "save icon" memes but I'm probably going to live long enough to explain PDFs to people who have never seen a book and I hate it)
16:30:31 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
16:30:38 <Yayimhere> i have seen a book before
16:30:41 <Yayimhere> a lot actuallt
16:30:44 <Yayimhere> *actually
16:31:13 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:35:20 <korvo> Yayimhere: Different groups of programmers have learned these lessons in different ways. My preferred way is "make it correct; make it readable; make it fast". The overall idea is that fast incorrect code is not worth much. Computers are already quite fast; what matters is getting the right answer.
16:37:14 <Yayimhere> korvo. yea
16:38:43 <korvo> Yayimhere: To emphasize sorear's point, there is *one* correct way to read a book when you are a working scientist. It's okay to not know this, but the correct way is *fast*, so it's worth learning someday.
16:39:06 <Yayimhere> korvo: yea
16:40:52 <korvo> But this particular book is meant to be read slowly, as a tutorial, so I think it's okay to just read it from front to back. It sounds like you're doing fine already.
16:41:29 <Yayimhere> k
16:41:33 <Yayimhere> :}
17:17:22 -!- Yayimhere has quit (Quit: Client closed).
17:29:59 <esolangs> [[C-INTERCAL]] M https://esolangs.org/w/index.php?diff=169091&oldid=99782 * Somefan * (-88) dead repo link, and fix stub placement
17:44:43 <esolangs> [[Iogii]] N https://esolangs.org/w/index.php?oldid=169092 * Somefan * (+538) Created page with "{{lowercase}} {{stub}} '''iogii''' ('''I Only Code in iogii''') is an esoteric language created by Darren Smith, the same creator of [[GolfScript]]. It was designed to be simple and fun to use for [[code golf|code golfing]] and a successor to GolfScript. == See also == *
17:46:43 -!- Everything has joined.
17:57:42 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=169093&oldid=167017 * Somefan * (+338) /* Category:Golfing language should be moved to Category:Golfing languages */ new section
18:00:45 <Everything> Hi all. Is there a website with some crazy unexpected sed examples? Interesting. Because it's basically rewriting system
18:05:08 <korvo> sed's always crazy and unexpected. Ask a search engine for "sed cheat sheet" and you'll see some useful examples.
18:05:39 <korvo> Oh, and of course sedtris: https://libregamewiki.org/Sedtris
18:06:28 <Everything> sedtris is crazy. thanks
18:08:29 <korvo> No problem. I'm terrible with sed and I have to spend minutes with the manual whenever I need it. It is so useful, though; it's commonly used in nixpkgs to patch source trees instead of preparing a full .patch file.
18:08:34 -!- igelcbdx2 has joined.
18:09:55 <korvo> Oh, also, awk isn't sed but has a lot of ideas in common, and you might find "Why GAWK for AI?" an interesting read. https://dl.acm.org/doi/abs/10.1145/242903.242908
18:11:50 <igelcbdx2> burger
18:12:07 <korvo> Yes please.
18:12:37 <Everything> Me too
18:12:40 <avih> i found this useful for sed https://www.grymoire.com/Unix/Sed.html
18:12:55 <igelcbdx2> 🍔🍔🍟🥤🥤🍟  take one each
18:13:21 <igelcbdx2> 78 more to go
18:13:29 <Everything> avih: thanks
18:13:47 <avih> as for awk, it's different in that it supports much more conventional code structure.
18:14:02 <avih> (compared to sed)
18:14:12 <korvo> Yeah, awk's halfway to Python or Perl.
18:14:35 <avih> i believe perl was written to be awk but better
18:14:36 <Everything> Sure, L.Wall just started extending AWK and made Perl
18:14:54 <Everything> AFAIR, L.Wall was dissatisfied with AWK, so he hacked it
18:15:17 <igelcbdx2> i technically created a better stub
18:16:23 <igelcbdx2> but i would probably need a new warning symbol
18:19:07 <esolangs> [[User talk:Aadenboy/Forces and such]] https://esolangs.org/w/index.php?diff=169094&oldid=169090 * Aadenboy * (+295) context
18:19:10 <avih> but what awk has over perl is posix...
18:19:41 <avih> for me personally this carries a lot of weight
18:20:18 <avih> which is why i may use awk freely in scripts, but not perl
18:20:40 <korvo> For me, it's readability. awk is *very* readable, especially as a long-time Python user.
18:21:30 <avih> yeah. the code parts basically look like c or js etc, and the RUL {CODE} structure is also typically bery readable
18:21:40 <avih> RULE*
18:21:48 <avih> v
18:23:05 <avih> and awk dictionaries are also very useful. it really lends itself to do more with less code, while remaining reasonably readable.
18:24:40 <esolangs> [[Special:Log/upload]] upload * Win7HE * uploaded "[[File:Warning.png]]"
18:25:26 <esolangs> [[Template:Stub]] https://esolangs.org/w/index.php?diff=169096&oldid=159969 * Win7HE * (+206)
18:25:37 <esolangs> [[Template:Stub]] https://esolangs.org/w/index.php?diff=169097&oldid=169096 * Win7HE * (+0)
18:25:37 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:25:56 <igelcbdx2> my stub is stubbing to life
18:26:16 <igelcbdx2> hope you like it guys
18:26:36 <igelcbdx2> but obviously an admin can revert it
18:28:19 <igelcbdx2> i love it
18:28:26 <igelcbdx2> i love my own new stub
18:29:14 <esolangs> [[Template talk:Stub]] https://esolangs.org/w/index.php?diff=169098&oldid=158234 * Win7HE * (+142)
18:29:53 <esolangs> [[User:Win7HE]] https://esolangs.org/w/index.php?diff=169099&oldid=168946 * Win7HE * (-74)
18:32:40 <esolangs> [[File talk:Warning.png]] N https://esolangs.org/w/index.php?oldid=169100 * Corbin * (+218) Created page with "Where did this file come from? Unless you made it and are releasing it to the public domain, it's probably not appropriate for this wiki. ~~~~"
18:33:06 <esolangs> [[Template talk:Stub]] https://esolangs.org/w/index.php?diff=169101&oldid=169098 * Aadenboy * (+309)
18:33:38 <esolangs> [[File talk:Warning.png]] https://esolangs.org/w/index.php?diff=169102&oldid=169100 * Win7HE * (+141)
18:34:10 <esolangs> [[Template:Stub]] https://esolangs.org/w/index.php?diff=169103&oldid=169097 * Corbin * (-206) Undo some vandalism. Not sure exactly what the includeonly/noinclude stanzas should look like.
18:35:16 <esolangs> [[Template:Stub]] M https://esolangs.org/w/index.php?diff=169104&oldid=169103 * Aadenboy * (-1) sharing line
18:35:31 <esolangs> [[User talk:Corbin]] https://esolangs.org/w/index.php?diff=169105&oldid=156889 * Win7HE * (+126)
18:35:43 <esolangs> [[File talk:Warning.png]] https://esolangs.org/w/index.php?diff=169106&oldid=169102 * Corbin * (+274)
18:35:51 <esolangs> [[Template talk:Stub]] M https://esolangs.org/w/index.php?diff=169107&oldid=169101 * Somefan * (+280)
18:36:33 <esolangs> [[User talk:Corbin]] https://esolangs.org/w/index.php?diff=169108&oldid=169105 * Corbin * (+202)
18:37:48 <esolangs> [[User talk:Corbin]] https://esolangs.org/w/index.php?diff=169109&oldid=169108 * Win7HE * (+102)
18:37:55 <esolangs> [[File talk:Warning.png]] https://esolangs.org/w/index.php?diff=169110&oldid=169106 * Win7HE * (+156)
18:37:58 <zzo38> Sometimes awk is helpful for many things, although it is only for ordinary text format. What else I had wanted is a programming language for working with ASN.1 types (I had some ideas about it) rather than plain text (although it would be possible to support multiple input formats and multiple output formats)
18:39:07 <korvo> zzo38: I know that Relational Pipes (https://relational-pipes.globalcode.info/v_0/index.xhtml) supports ASN.1 input, but I also know that you want something which supports ASN.1 output too.
18:40:05 <esolangs> [[File talk:Dango Language Logo.png]] https://esolangs.org/w/index.php?diff=169111&oldid=166882 * Win7HE * (+118)
18:40:55 <esolangs> [[Template talk:Stub]] M https://esolangs.org/w/index.php?diff=169112&oldid=169107 * Somefan * (-13) removed stub template; not a stub
18:42:44 <zzo38> It seems not to do what I mentioned; it says is not a query language, not a programming language, and is unclear if it supports character sets other than Unicode. Also, the diagram seems to say it does support ASN.1 BER output, although there might be limits to do it (and DER would be better than BER; if it is DER then it will be BER anyways)
18:44:41 <zzo38> (I did write a program in C which can convert JSON to DER, although it uses a nonstandard type that I had added (the key/value list type), and also this just converts the data directly rather than according to any schema, so it might not be as useful as you might want it to be.)
18:49:47 <korvo> Yeah, it's a toolkit for piping data and doing transformations between formats. It's not perfect but it's pretty nice. Like pandoc for CSV and JSON.
18:54:14 -!- tromp has joined.
18:54:28 -!- igelcbdx2 has quit (Quit: Client closed).
18:56:49 <esolangs> [[File talk:Dango Language Logo.png]] https://esolangs.org/w/index.php?diff=169113&oldid=169111 * Corbin * (+485) This PNG could have been a hand-written SVG.
18:57:53 -!- ais523 has joined.
19:00:01 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[File:Warning.png]]": a) possibly a copyright violation, b) probably we shouldn't have a (slightly) nonstandard warning symbol with a standard name, c) unused and more likely to be used problematically than used usefully
19:01:32 <korvo> Oh, igelcbdx2 was User:Win7HE. Didn't click for me.
19:01:49 <esolangs> [[Template talk:Stub]] https://esolangs.org/w/index.php?diff=169114&oldid=169112 * Ais523 * (+379) an opinion
19:03:38 <esolangs> [[C-INTERCAL]] https://esolangs.org/w/index.php?diff=169115&oldid=169091 * Ais523 * (+89) partial undo revision [[Special:Diff/169091|169091]] by [[Special:Contributions/Somefan|Somefan]] ([[User talk:Somefan|talk]]) the link is not dead, it works fine when opened using the git command like it's supposed to be (it doesn't work in a web browser but there is already
19:09:35 <ais523> <Everything> Hi all. IOCCC websites for other PLs? Are there? Should be, I believe. ← there has been at least one for a scripting language, maybe Python, but I heard this second-hand and never looked for it so I don't have a link available; there's also been a lot of obfuscated Perl written as though it were for a contest but I'm not sure whether there's been an actual official contest involved
19:10:29 <int-e> . o O ( It would feel a bit redundant in the case of Perl :-P )
19:39:26 <esolangs> [[Iogii]] M https://esolangs.org/w/index.php?diff=169116&oldid=169092 * Somefan * (+60) added anarchy golf url
20:01:51 <esolangs> [[Owl]] M https://esolangs.org/w/index.php?diff=169117&oldid=70951 * Somefan * (+85) added ref url
20:04:18 <APic> cu
20:05:23 <zzo38> It seems that Relational pipes is very limited and hardly supports any of the types that you should need; in terms of ASN.1, the three types it supports are the: Boolean, Integer, UTF-8 string.
20:07:59 <zzo38> t does say they intend to add more types, such as octet strings, ASCII strings (called "IA5 string" in ASN.1), UTF-16 strings (ASN.1 has a "BMP string" although my nonstandard extensions allow this to contain arbitrary UTF-16 characters), ISO-8859-1, ISO-8859-2, Big Decimal, date/time, OID, etc.
20:08:41 <zzo38> ASN.1 already has many of these types that I mentioned (in some cases, as nonstandard extensions that I had made up), although for ISO 8859, you could instead use ISO 2022 (General string or Graphic string in ASN.1).
20:21:09 -!- chloetax has quit (Ping timeout: 252 seconds).
20:21:51 -!- chloetax has joined.
20:28:55 <esolangs> [[Talk:8ial]] M https://esolangs.org/w/index.php?diff=169118&oldid=169086 * Ractangle * (+163)
20:31:46 <esolangs> [[Template:Stub]] M https://esolangs.org/w/index.php?diff=169119&oldid=169104 * Ractangle * (-43) someone please explain why is the noinclude is here with a link?
20:33:03 -!- Sgeo has joined.
20:37:11 -!- chloetax has quit (Ping timeout: 244 seconds).
20:43:31 -!- chloetax has joined.
20:57:02 <esolangs> [[Abcout]] https://esolangs.org/w/index.php?diff=169120&oldid=165977 * Sporeball * (-127) Undo revision [[Special:Diff/165977|165977]] by [[Special:Contributions/ChuckEsoteric08|ChuckEsoteric08]] ([[User talk:ChuckEsoteric08|talk]])
21:29:36 <esolangs> [[Special:Log/newusers]] create * Sejsel * New user account
21:41:22 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169121&oldid=169002 * Buckets * (+10)
21:41:51 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169122&oldid=169010 * Buckets * (+11)
21:41:59 <esolangs> [[2Q2Q]] N https://esolangs.org/w/index.php?oldid=169123 * Buckets * (+1440) Created page with "2Q2Q Is An Esoteric programming Language created By the [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | +> || Add A new Byte to the right. |- | +< || Add A new Byte to the Left. |- | -> || Remove the byte From The Right. |- | -< || Remove
21:50:06 -!- Sgeo has quit (Ping timeout: 256 seconds).
22:06:20 -!- Sgeo has joined.
22:11:23 <esolangs> [[Talk:2Q2Q]] N https://esolangs.org/w/index.php?oldid=169124 * * (+144) Created page with "What if you get a perfect shuffle? Do you write in true 2Q2Q? ~~~~"
22:14:16 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=169125&oldid=167343 * * (+141) /* Why don't we have amboxes? */ new section
22:17:54 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=169126&oldid=169125 * Ais523 * (+644) /* Why don't we have amboxes? */ explain
22:32:49 <esolangs> [[Template talk:Stub]] https://esolangs.org/w/index.php?diff=169127&oldid=169114 * Aadenboy * (+563)
22:38:22 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=169128&oldid=168914 * Sejsel * (+360)
22:38:30 <esolangs> [[Ksplang]] N https://esolangs.org/w/index.php?oldid=169129 * Sejsel * (+8636) Add a description of this very lovely language
22:45:28 <esolangs> [[Ksplang]] https://esolangs.org/w/index.php?diff=169130&oldid=169129 * Sejsel * (-8) /* External resources */
22:47:23 <esolangs> [[User:Sejsel]] N https://esolangs.org/w/index.php?oldid=169131 * Sejsel * (+329) Created page with "Hi! I had an idea that we could create a programming language by asking people to independently to come up with instructions. The result is https://esolangs.org/wiki/Ksplang. I also somehow ended up liking it too much and wrote a WASM runtime in it. Oops. But hey, I
22:47:33 <esolangs> [[User:Sejsel]] https://esolangs.org/w/index.php?diff=169132&oldid=169131 * Sejsel * (-22)
22:55:56 <esolangs> [[Ksplang/instructions]] N https://esolangs.org/w/index.php?oldid=169133 * Sejsel * (+17373) Add instruction list
22:56:25 <esolangs> [[Ksplang/instructions]] https://esolangs.org/w/index.php?diff=169134&oldid=169133 * Sejsel * (-1)
23:06:41 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=169135&oldid=169126 * * (+188) /* Why do so many people delete lines from Introduce yourself? */ new section
23:10:04 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:26:42 -!- ais523 has quit (Quit: sorry about my connection).
23:27:02 -!- ais523 has joined.
23:38:17 <esolangs> [[Talk:Ksplang]] N https://esolangs.org/w/index.php?oldid=169136 * * (+100) Created page with "What is a Zpis? ~~~~"
23:49:53 -!- Hooloovoo has quit (Quit: ZNC 1.8.2+deb2+deb11u1 - https://znc.in).
23:51:16 -!- Hooloovoo has joined.
23:55:21 <esolangs> [[Strang]] M https://esolangs.org/w/index.php?diff=169137&oldid=168104 * FluixMakesEsolangs * (-183) /* Examples */ Replaced R110
23:55:55 <esolangs> [[Strang]] M https://esolangs.org/w/index.php?diff=169138&oldid=169137 * FluixMakesEsolangs * (+4)
2025-11-24
00:44:32 -!- pool has quit (Read error: Connection reset by peer).
00:46:41 -!- pool has joined.
01:44:44 -!- pool has quit (Read error: Connection reset by peer).
01:46:49 -!- pool has joined.
02:16:44 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169139&oldid=168913 * NTMDev * (+516) /* HasKey */
02:16:52 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169140&oldid=169139 * NTMDev * (-1) /* Add or Remove Pair = */
02:18:10 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169141&oldid=169140 * NTMDev * (+33) /* Bugs */
02:23:17 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169142&oldid=169141 * NTMDev * (+761) /* How to Troubleshoot Bug */
02:32:38 -!- 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).
02:49:36 -!- svm has joined.
02:51:43 -!- msv has quit (Read error: Connection reset by peer).
02:57:06 -!- ski has quit (Remote host closed the connection).
03:05:00 <esolangs> [[2 Bits, 1 Byte but 01 and 10 are swapped]] https://esolangs.org/w/index.php?diff=169143&oldid=160657 * Tommyaweosme * (+0) /* Quine */ fixed weird phrasing
03:39:43 <esolangs> [[User:FluixMakesEsolangs]] M https://esolangs.org/w/index.php?diff=169144&oldid=168018 * FluixMakesEsolangs * (+33)
04:37:25 -!- yc[m] has quit (Remote host closed the connection).
04:49:13 -!- ais523 has quit (Quit: quit).
06:08:34 <Sgeo> https://www.wolframalpha.com/input?i=infinity*e%5E%28i*pi%2F2%29+%2B+infinity+%2B+infinity*e%5E%28i*pi%29
06:40:30 -!- chomwitt has joined.
07:16:39 -!- Sgeo has quit (Quit: Leaving).
08:40:13 -!- yc has quit (Remote host closed the connection).
08:47:23 -!- yc has joined.
09:09:46 -!- tromp has joined.
09:10:11 -!- tromp has quit (Read error: Connection reset by peer).
09:33:40 <esolangs> [[File talk:Dango Language Logo.png]] https://esolangs.org/w/index.php?diff=169145&oldid=169113 * RaiseAfloppaFan3925 * (+844) My explanation, sorry if this caused some confusion
09:36:36 <esolangs> [[File talk:Dango Language Logo.png]] https://esolangs.org/w/index.php?diff=169146&oldid=169145 * RaiseAfloppaFan3925 * (+383) Just realized Apache-2.0 applies to non-code
10:04:09 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=169147&oldid=169080 * RaiseAfloppaFan3925 * (+1839) idk got bored
10:28:01 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=169148&oldid=169147 * RaiseAfloppaFan3925 * (-14) correct translation error, liking something is probably "" (suki) not "" (kiniiru) I think idk
10:34:23 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=169149&oldid=169135 * Yayimhere2(school) * (+326) /* Why do so many people delete lines from Introduce yourself? */
11:45:35 -!- pool has quit (Read error: Connection reset by peer).
11:47:26 -!- pool has joined.
11:52:21 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
11:52:21 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
11:58:06 <esolangs> [[Talk:No-code esolang]] M https://esolangs.org/w/index.php?diff=169150&oldid=169088 * None1 * (+284)
11:58:13 <esolangs> [[Talk:Ascenic]] https://esolangs.org/w/index.php?diff=169151&oldid=169056 * None1 * (+287)
11:59:27 -!- pool has quit (Ping timeout: 252 seconds).
12:01:08 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=169152&oldid=169093 * None1 * (+357) /* Category:Golfing language should be moved to Category:Golfing languages */ It's difficult to move categories
12:09:02 <esolangs> [[Special:Log/newusers]] create * Mutasimos * New user account
12:13:48 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=169153&oldid=169128 * Mutasimos * (+169)
12:14:48 -!- simcop2387 has joined.
12:16:47 -!- perlbot has joined.
12:19:08 -!- Everything has quit (Quit: leaving).
12:22:19 <esolangs> [[List of ideas]] M https://esolangs.org/w/index.php?diff=169154&oldid=167494 * Mutasimos * (+125)
12:23:22 -!- Everything has joined.
12:26:45 <esolangs> [[List of ideas]] https://esolangs.org/w/index.php?diff=169155&oldid=169154 * Mutasimos * (+0)
12:37:06 -!- amby has joined.
12:46:17 <APic> Hi *
12:52:06 <esolangs> [[Tol]] M https://esolangs.org/w/index.php?diff=169156&oldid=132703 * None1 * (+30)
12:52:32 -!- ais523 has joined.
13:08:04 <esolangs> [[Talk:I/D machine Turing-completeness proof]] https://esolangs.org/w/index.php?diff=169157&oldid=167589 * Yayimhere2(school) * (+372)
13:10:57 <esolangs> [[OoOoOM]] https://esolangs.org/w/index.php?diff=169158&oldid=168052 * Yayimhere2(school) * (+0) /* Commands */ the dot there may seem like a command, so I deleted it
13:21:54 <esolangs> [[Talk:Intermediate language]] N https://esolangs.org/w/index.php?oldid=169159 * Yayimhere2(school) * (+200) Created page with "the fact that all but one of these esolangs are created by ais523, is kinda crazy --~~~~"
13:27:27 <esolangs> [[Talk:Intermediate language]] https://esolangs.org/w/index.php?diff=169160&oldid=169159 * Ais523 * (+713) an explanation
13:31:38 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=169161&oldid=169152 * Ais523 * (+600) /* Category:Golfing language should be moved to Category:Golfing languages */ this is technically difficult to do but might be worth it anyway
13:41:25 <esolangs> [[I/D machine Turing-completeness proof]] M https://esolangs.org/w/index.php?diff=169162&oldid=54394 * Ais523 * (+4) link [[bit bucket]] as this language is using it with its standard meaning
13:56:13 <esolangs> [[Talk:Intermediate language]] https://esolangs.org/w/index.php?diff=169163&oldid=169160 * Yayimhere2(school) * (+172)
13:56:30 -!- chomwitt has quit (Remote host closed the connection).
14:00:36 <esolangs> [[User talk:Unname4798]] https://esolangs.org/w/index.php?diff=169164&oldid=166668 * Yayimhere2(school) * (+194) /* What did I do to User:Yayimhere? */
14:07:17 <esolangs> [[Talk:I/D machine Turing-completeness proof]] https://esolangs.org/w/index.php?diff=169165&oldid=169157 * Ais523 * (+4040) how ErrorBucket came about (a primer in how to write intermediate languages)
14:08:26 <esolangs> [[ErrorBucket]] N https://esolangs.org/w/index.php?oldid=169166 * Yayimhere2(school) * (+51) redirect errorbucket to the I/D turing completeness proof, since its described there.
14:08:54 <esolangs> [[Errorbucket]] N https://esolangs.org/w/index.php?oldid=169167 * Yayimhere2(school) * (+51) redirect the non cased version as well
14:09:22 -!- Yayimhere has joined.
14:09:26 <Yayimhere> hello
14:09:35 <Yayimhere> how are you all?
14:15:02 <esolangs> [[File talk:Dango Language Logo.png]] https://esolangs.org/w/index.php?diff=169168&oldid=169146 * Ais523 * (+837) can dual-license, it might be the best solution here
14:15:12 <ais523> hi Yayimhere
14:15:24 <Yayimhere> hi ais523
14:15:28 <ais523> I replied to your question on the I/D machine Turing-completeness talk page
14:15:34 <Yayimhere> yea I saw
14:15:42 <Yayimhere> youve very much encouraged me to try and do something with it
14:15:55 <Yayimhere> im working on a variant that combines it with 7
14:16:10 <Yayimhere> as well as a few other commands
14:16:27 <ais523> but yes, the reason the language is so weird is that it was just created by starting with a normal (esoteric) language and then adding changes to it to work around the I/D machine's limitaitons
14:16:47 <Yayimhere> yea
14:16:59 <Yayimhere> where does the name of the error element come from?
14:17:38 <ais523> well it doesn't work if you try to use it
14:17:50 <Yayimhere> true
14:17:52 <ais523> and "error" is a good way to describe that – it's not the only word you could use
14:18:00 <Yayimhere> in fact
14:18:21 <Yayimhere> I think I would have named it u
14:18:22 <ais523> but it's the one I happened to pick, I don't think I had a reason to think about it too much
14:18:28 <Yayimhere> unusable
14:18:39 <Yayimhere> ais523: true
14:18:56 <ais523> having 'a', 'b' and 'd' commands in the language, that inspired me to call the others 'c', 'e' and 'f', even if that meant stretching a bit with names
14:19:18 <Yayimhere> lol
14:19:27 <Yayimhere> yea continue is quite
14:19:29 <Yayimhere> ...weird
14:20:41 <ais523> oddly enough I also used "continue" for a similar operation in a different language: https://esolangs.org/wiki/BIX_Queue_Subset
14:20:58 <Yayimhere> hm
14:21:00 <Yayimhere> strange
14:21:09 <Yayimhere> was it made before or after?
14:21:15 <ais523> after
14:21:19 <ais523> but it's the opposite
14:21:33 <Yayimhere> ?
14:21:46 <Yayimhere> so Errorbucket comes after BIX queue subset
14:21:53 <ais523> "continue" in ErrorBucket discards the start of the queue without reading it, "continue" in BIX Queue Subset activates without discarding any queue elements at all
14:22:00 <ais523> no, BIX Queue Subset was later
14:22:02 <Yayimhere> ah
14:22:05 <ais523> (I couldn't remember and had to look it up)
14:22:08 <Yayimhere> yea that makes sense
14:22:28 <ais523> they're both "do part of the standard cyclic tag implementation without actually reading the queue" but it's a different pat
14:22:30 <ais523> *part
14:22:44 <Yayimhere> yea
14:24:08 <Yayimhere> also, have you realized the similarity between passiveness and activeness in 7, and activeness and inactiveness in ErrorBucket?
14:24:20 <Yayimhere> cuz
14:24:31 <ais523> I hadn't, because I created them for different reasons
14:24:38 <Yayimhere> makes sense
14:24:45 <Yayimhere> if I had a nickel for every time
14:24:52 <Yayimhere> that joke is so dumb
14:25:36 <ais523> there *is* a pattern I think, but I only noticed the pattern when trying to work out how Unlambda and Underload related to each other and didn't try applying it in other contexts
14:25:58 <Yayimhere> oh
14:26:02 <Yayimhere> hm
14:26:03 <Yayimhere> yea
14:26:06 <ais523> some other people have studied it, though: https://en.wikipedia.org/wiki/Call-by-push-value
14:26:18 <Yayimhere> ah, interesting
14:26:21 <Yayimhere> maybe ill read that
14:26:31 <Yayimhere> \about it
14:26:51 <ais523> it's quite complicated going, I have tried to study it and got a good idea for the "feel" of how it works but keep forgetting the details
14:27:17 <Yayimhere> hmm
14:27:21 <Yayimhere> *hm
14:27:23 <Yayimhere> ok
14:28:03 <Yayimhere> does CBPV only every happen in intermediate
14:28:04 <Yayimhere> well
14:28:10 <Yayimhere> I guess thats not relevant to this channel
14:28:12 <Yayimhere> maybe it is
14:28:14 <Yayimhere> idk
14:29:38 <ais523> that's a good question but it's a little difficult to formalize the question to be able to answer it accurately
14:29:53 <Yayimhere> true
14:30:16 <Yayimhere> now I kinda want to create a CBPV based esolang
14:32:43 <ais523> I learned CBPV from Paul Levy himself, in person, but never got around to the whole "formalizing the relationship between Unlambda and Underload" that I was planning to – but it's potentially interesting because Unlambda is based on combinator calculus (but with thunks and continuations) and Underload is based on concatenative calculus, and those are both real mathematical theories that people are interested in outside their relationship to esolangs
14:32:54 -!- amby has quit (Remote host closed the connection).
14:33:05 <ais523> but, CBPV is mostly interesting because it helps you understand the thunks and continuations rather than for the SKI part of he calculus
14:33:40 <Yayimhere> yea
14:33:49 <Yayimhere> ive always never really understood unlambdas c
14:33:59 <Yayimhere> I should prolly look into it
14:34:26 <ais523> call/cc is one of the hardest commonly used control flow operation to understand
14:34:33 <ais523> I think that's why it was added to Unlambda in the first place
14:34:38 <Yayimhere> lol
14:34:43 -!- amby has joined.
14:35:31 <ais523> c is difficult to understand from an imperative point of view and d is difficult to understand from a functional point of view, the combination was intended to make the language harder to think about and interpreters harder to write
14:35:56 <Yayimhere> now put it into befunge
14:36:03 <Yayimhere> (thats also a dumb joke)
14:36:17 <ais523> but call-by-push-value is the best mathematical treatment I've seen of how d works
14:36:27 <Yayimhere> hm
14:36:28 <Yayimhere> yes
14:36:29 <Yayimhere> *yes
14:36:31 <Yayimhere> *yea
14:36:33 <Yayimhere> cool
14:40:36 -!- amby has quit (Remote host closed the connection).
14:41:57 -!- amby has joined.
14:49:18 <Yayimhere> also, ais523, in ErrorBucket, why is there not just a command thats equal to af, instead of a being a separate command?
14:51:37 -!- amby has quit (Remote host closed the connection).
14:54:35 -!- amby has joined.
15:15:21 -!- Yayimhere has quit (Quit: Client closed).
15:21:49 -!- Yayimhere has joined.
15:26:04 <esolangs> [[Talk:I/D machine Turing-completeness proof]] https://esolangs.org/w/index.php?diff=169169&oldid=169165 * Yayimhere2(school) * (+232)
15:29:42 -!- ais523 has quit (Quit: sorry about my connection).
15:37:58 -!- ais523 has joined.
15:55:11 <esolangs> [[18]] N https://esolangs.org/w/index.php?oldid=169170 * Yayimhere2(school) * (+3979) Created page with "'''18''' is an esolang created by [[User:Yayimhere]], as a merge of [[7]] and [[ErrorBucket]]. 18 works in base 18, and as such it gets its name. == Data == 18 uses two ''frames''. frames is a string of symbols/tokens(specifically, 18 commands), which can be sepa
15:57:54 <Yayimhere> aaaah
15:58:00 <Yayimhere> thats nice, finally being done with it
16:13:21 <esolangs> [[18]] https://esolangs.org/w/index.php?diff=169171&oldid=169170 * Yayimhere2(school) * (+6) /* Commands */
16:13:23 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=169172&oldid=169161 * Corbin * (+143) /* Category:Golfing language should be moved to Category:Golfing languages */ I can help.
16:14:37 -!- Yayimhere has quit (Quit: Client closed).
16:15:18 <korvo> ais523: I'm not convinced that concatenative calculus is its own thing. I think that when formalized, we either get combinators or an internal language of categories. We have multiple pages that each have a fragmented table listing out common categorical combinators and how they interact with each other, but lack a central unified theory.
16:16:07 <ais523> korvo: well, if you ignore I/O, Underload and Mlatu-6 independently settled on the same set of commands/combinators
16:16:18 -!- Yayimhere has joined.
16:20:45 <esolangs> [[Talk:No-code esolang]] https://esolangs.org/w/index.php?diff=169173&oldid=169150 * Corbin * (+674) What do you think a language is, exactly?
16:21:15 <korvo> ais523: Right, because they arise naturally. [[Cammy/Bikeshed]] and [[Stack]] have similar tables too.
16:22:31 <Yayimhere> hello korvo!
16:22:32 <ais523> there's an interesting parallel with Unlambda: Unlambda's core naturally-arising subset is SKI but you can implement I in terms of the other two, Underload's core naturally-arising subset is ():*!a~ but you can write ~ in terms of the others
16:23:20 <Yayimhere> lol
16:23:31 <Yayimhere> that is quite interesting
16:23:58 <ais523> <Esolang wiki on Underload> ~ = a(!a)(!)(a*a*:*^!a*^):*^
16:24:13 <Yayimhere> yea
16:24:21 <ais523> oerjan and I both spent some time working on implementing ~ in terms of the others
16:24:24 <ais523> it's kind-of surprising that it's possible
16:24:30 <Yayimhere> yea
16:24:36 <Yayimhere> it seems very surprising to me
16:29:59 -!- Lord_of_Life_ has joined.
16:30:41 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
16:31:17 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:32:18 <korvo> Yayimhere: Hi!
16:32:36 <Yayimhere> korvo: thanks for the book recommendation, its quite fun to read!!
16:35:37 <korvo> ais523: Right. In category theory, we say that every Cartesian closed category is braided monoidal; that is, if we have finite products and we can copy and delete freely then we can swap a pair s.t. swapping twice is like doing nothing. The naturality of copying and deletion require it.
16:36:26 <korvo> Yayimhere: I'm glad to hear it! I hope that, at some point, you try out some of the examples in a Scheme interpreter. I think that there are some websites with online interpreters, but the best experience will be using something like Racket on your local machine.
16:36:50 <korvo> (Racket is technically not Scheme but it is close enough to be okay for learners. Racket's more like a construction kit; you can use it to build a Scheme, or to build other things.)
16:39:35 <korvo> ais523: Oh, sorry, the correct term is "symmetric monoidal". Braided monoidal is more general; symmetric monoidal means that `swap swap` ≈ `id`.
16:39:43 -!- Yayimhere has quit (Ping timeout: 250 seconds).
16:48:51 <ais523> korvo: right, braided means that you can swap but not necessarily that swapping twice gets you back where you started (like braiding three strings: you can swap repeatedly and form a braid, but the only way to undo the braid is to swap back in the same sequence, the strings ending up in the same position doesn't help
16:49:00 <ais523> this is the one bit of category theory that I'm fairly confident on
16:51:10 <korvo> Yeah! This is the stuff that the physicists care a lot about, but usually I'm doing CCCs like Cammy.
16:52:02 <korvo> Also knot theorists. Not sure if we have any of them here. Very cool stuff. They get to study exactly 3 dimensions.
16:54:50 -!- Yayimhere has joined.
16:55:00 <Yayimhere> im back once again
17:01:51 <esolangs> [[What the Branflakes]] https://esolangs.org/w/index.php?diff=169174&oldid=167434 * Esolangist alt * (+832) Esolangist alt
17:04:41 <korvo> Another week, another blogpost talking about OOP from a very biased perspective.
17:22:59 <Yayimhere> lol
17:29:03 <Yayimhere> I know thhis is kinda a boring question, but what do you conjecture on tis languages computational class?: https://esolangs.org/wiki/18
17:29:34 <esolangs> [[18]] https://esolangs.org/w/index.php?diff=169175&oldid=169171 * Yayimhere2(school) * (+49) /* Similarity to 7 and ErrorBucket */
17:31:45 <korvo> Looks like a sort of two-stack machine, I suppose? I don't really see a point to guessing computational classes. In terms of complexity, it might implement a tag system, but I'm not sure offhand. I don't think that there's enough detail there to write an interpreter with all of the corner cases figured out.
17:35:42 <esolangs> [[Stackception]] N https://esolangs.org/w/index.php?oldid=169176 * Esolangist alt * (+898) Esolangist alt
17:35:43 <Yayimhere> korvo: i will try and write an intepreter
17:35:51 <Yayimhere> after im done with another ones intepreter
17:37:08 <korvo> No worries.
17:37:13 <Yayimhere> k
17:37:36 <Yayimhere> what details ar missing btw?
17:37:46 <Yayimhere> (so I can complete the documentation)
17:41:01 <ais523> Yayimhere: I think the "x" in "0x00", etc., is wrong – the x specifically indicates hexadecimal whereas you are working in base 18, so you should pick a different letter
17:41:31 <ais523> the usual mathematical notation would be a subscript ₁₈, e.g. 0G₁₈ to indicate the number which in decimal is written 16
17:41:32 <APic> Good Night
17:41:44 <ais523> night APic
17:42:05 <avih> night
17:42:10 -!- tromp has joined.
17:43:41 <ais523> Yayimhere: in terms of spec clarity, 0x0C says you are copying data but doesn't say where you're copying it to
17:44:15 <ais523> also it is weird to have a bit bucket that it's possible to read from, that kind-of removes its status as a bit bucket
17:54:25 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=169177&oldid=160884 * C++DSUCKER * (+308)
17:59:11 <esolangs> [[Prehistory of esoteric programming languages]] https://esolangs.org/w/index.php?diff=169178&oldid=162716 * Corbin * (+550) More ancient history: the invention of cryptography. Scytales don't quite count for several reasons: unclear origin, unclear usage, failure of Kerchkoffs' principle.
17:59:49 <Yayimhere> ais523: ok
17:59:55 <Yayimhere> and for the bit bucket
18:00:05 <korvo> Making these little bite-sized pieces of history is a fun challenge. I think that the joke might be a little weak; the idea is that Stigler's law of eponymy is funny, but maybe it's just confusing.
18:00:30 <Yayimhere> I guess I was going with the error bucket naming
18:00:37 <Yayimhere> bbut ill change it
18:00:42 <Yayimhere> korvo: what?
18:01:11 <korvo> Yayimhere: Once upon a time, the bit bucket was a physical trash can sitting under a machine. It collected pieces of paper from punch cards. The idea is that the bit bucket is *trash*.
18:01:30 <Yayimhere> ok
18:01:44 <Yayimhere> lol
18:02:25 <korvo> On today's Unix derivatives, the "bit bucket" refers to a file, /dev/null, which can only be written to. You can write whatever you like, but nothing will ever come back out. It's used to discard logs and errors that we want to ignore.
18:03:22 <korvo> Yayimhere: Anyway, if you look at that prehistory page that I just edited, you'll see that I've slowly been building up a listing of the foundations of esoteric language design. Some time ago, I decided that such pages ought to be humorous and informative.
18:03:55 <Yayimhere> korvo: oh cool
18:04:03 <esolangs> [[18]] https://esolangs.org/w/index.php?diff=169179&oldid=169175 * Yayimhere2(school) * (+0) /* Commands */
18:04:41 <korvo> Yayimhere: Honestly I think https://esolangs.org/wiki/Timeline_of_esoteric_programming_languages is much funnier. However, editing that page has to be done very carefully, because the *entire* page has to make sense.
18:05:50 <Yayimhere> yea
18:06:39 <korvo> "Repetition is a literary device in which a phrase is repeated, often with minor variations, to emphasize an underlying theme."
18:12:56 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:13:38 <korvo> Hm. Objects can be class-, prototype-, or map-based. Let's explain that.
18:14:28 <Yayimhere> anyways
18:14:32 <Yayimhere> im going now
18:14:34 <Yayimhere> bye!!!
18:14:46 -!- Yayimhere has quit (Quit: Client closed).
18:17:42 <ais523> korvo: I don't like the term "object-oriented programming" so much because it's both very general and has fuzzy edges
18:18:20 <ais523> there are clear parallels between a Java object, a Smalltalk object, a Rust object, and an ECMAScript object – but there are also massive differences
18:18:48 <ais523> and I don't think it necessarily makes sense to talk about which of those languages is OOP and which ones aren't
18:21:27 <korvo> ais523: Well, what three of those four have in common is the ability to deliver a serialized message without prior static knowledge of the receiver's internals; the message is dynamically dispatched to a late-bound behavior.
18:21:40 <sorear> Was it ever anything other than a buzzword?
18:22:06 <korvo> Today, "object-oriented" is a nice way to refer to languages that aren't object-based because they have some sort of primitive values.
18:23:45 <ais523> korvo: which three are you thinking of?
18:24:09 <korvo> ais523: ECMAScript, Java, and Smalltalk. The ability to do this goes down to the VM in all three cases.
18:24:19 <ais523> korvo: oh, I see
18:24:28 <ais523> I was thinking of the languages themselves not the VM
18:24:42 <ais523> e.g. I don't think of gcj as being able to send serialized messages
18:24:47 <korvo> I mean, Rust has a VM too, but it's LLVM.
18:24:57 <ais523> LLVM isn't actually a VM, it's badly named
18:25:22 <ais523> it's more of an abstract machine
18:33:14 <korvo> ais523: Consider: in those languages, it's possible to not handle a message, but to pass it along to some other receiver. How would one create a Rust object which responds to *any* method by invoking that same method on some other object? I think it'd have to be parameterized by the type of that other object.
18:33:47 <ais523> korvo: I don't think you can do that in Jaa
18:33:49 <ais523> * Java
18:34:13 <ais523> you can create proxies in Java but they won't accept methods that aren't listed in the interfaces you asked them to support
18:34:21 <ais523> (but my Java knowledge is outdated so maybe you can nowadays)
18:36:27 <ais523> Rust can do much the same thing using a dyn-compatible supertrait, but it only works on methods that are dyn-compatible (e.g. they don't attempt to pass the unknown object by value)
18:37:01 <korvo> Java had a VM change to allow it; the bytecode to search for is `invokedynamic`. https://jcp.org/en/jsr/detail?id=292 Prior to that, Java only had `invokeinterface`, which has the same limitations as Rust traits.
18:37:50 <korvo> Java's warning to object-based languages is that it's simply *not reasonable* to insist that all behaviors belong to a single partially-ordered system of interfaces. Yes, it's desirable, but it's not sufficiently open for extension.
18:38:20 <fizzie> As I recall, that was added to make it easier to support *other* (more dynamic) JVM languages, not to add any functionality to Java-the-language.
18:38:46 <ais523> korvo: I don't think invokedynamic does what you want, it allows an object to dynamically generate code to forward messages it receives, but it doesn't give it the ability to receive arbitrary messages in the first plaaec
18:40:02 <ais523> I guess it could receive the messages in some other format other than Java's native one (wrapped in a Java method call), then use invokedynamic to convert it into the appropriate form for the other object
18:40:17 <korvo> ais523: You have to cast everything to Object first, but it should work. The main issue is speed.
18:41:34 <korvo> fizzie: I think that you're correct. I don't know whether any Java compiler uses `invokedynamic`, but I recall that Clojure existentially depends upon it.
18:42:27 <ais523> invokedynamic is used by javac but only in fairly niche scenarios like proxy creation
18:43:56 <ais523> korvo: I don't think this works even casting to Object, Method.invoke (even in modern Java) has a restriction that the method you invoke has to be an instance of the class or interface that declares the method
18:44:14 <ais523> so there's no way for a Java object to permit arbitrary methods to be called on it
18:44:43 <ais523> (it can call arbitrary methods on the object it's wrapping, without knowing its type, but can't forward them if they can't be called in the first place to be forwarded)
18:45:18 <korvo> Okay, I'll add a paragraph.
18:49:09 <ais523> * the object you invoke the method on has to be an instance
18:55:12 -!- tromp has joined.
18:55:41 <esolangs> [[HalfText]] https://esolangs.org/w/index.php?diff=169180&oldid=168993 * GolferHome * (-308)
18:57:45 <esolangs> [[Object-oriented paradigm]] https://esolangs.org/w/index.php?diff=169181&oldid=166913 * Corbin * (+2777) Explain the basics of behavioral schemata, often erroneously called "inheritance" after the specific phenomenon in class-based languages.
18:58:32 <korvo> ais523: ^^^ LMK what you think. I would be okay with listing Rust, Haskell, etc. under some sort of trait/mixin sub-header of class-based languages; it *is* a real way of organizing code at scale and it should be contrasted.
18:58:58 <ais523> korvo: this article might take a while to read
19:00:14 <korvo> Oh, no worries. I only added the == Schemata == section. I'd be okay with s/schema/behavior/g too; there's no good standard name.
19:00:50 <korvo> Heh. At [[fat pointer]] I said, "The first pointer is called the behavior, class, interface, prototype, script, or vtable." Yeah, lots of non-standard names.
19:02:13 <esolangs> [[Vixen]] https://esolangs.org/w/index.php?diff=169182&oldid=168554 * Corbin * (+0) Fix categories; I switched from classes to prototypes.
19:04:25 <ais523> korvo: it seems OK so far but I think there are always going to be gray areas
19:04:32 <ais523> e.g. Lua doesn't seem to fall firmly into any of your schemata
19:05:31 <korvo> Lua is prototype-based, IIRC? It's been a while. The idea is that, like in ECMAScript, the generic attribute-dictionary collection is capable of self-reference.
19:06:26 <ais523> korvo: it's a hybrid
19:07:57 <ais523> a Lua table is a map where the keys can be pretty much anything and so can the values, and it can also have a metatable; to call a method on a table, you look up the value whose key matches the method name and call it as a function, or if there isn't such a value you search the metatable for a function that tells you what to do instead
19:08:54 <korvo> Sounds like metatables are prototypes.
19:09:14 <ais523> metatables are a lot like prototypes, *but* most method calls don't go through them at all
19:09:44 <ais523> also if a table wants to be able to access itself from a method, the function it maps that method to needs to close over the table itself
19:11:50 <ais523> sorry, I was wrong, the method is given the table itself as an argument
19:12:03 <korvo> I think I can give a dichotomous key. Send a message to an object. Does the object have a local custom schema, or does it point to a shared schema? In the former case, if the schema doesn't handle the message, is the message automatically delegated somewhere instead of failing?
19:12:19 <ais523> so Lua OO usually works something like this: https://tio.run/##yylN/P@/QsFWoVohrzQXSBsq1HJV6CWmpADZaaV5ySWZ@XkamToKWZoKmXoQJRBaWyFLITUvhavCCqhYw0STq6AoM69EowIkqfn/PwA
19:13:06 <korvo> Shared schemata are classes. Automatic delegation on failure is prototypes. Anything else is effectively map-based; the same techniques for optimizing prototypes will work on it.
19:16:24 <ais523> Lua's rule is basically a) see if the method is implemented directly on the object, b) if yes call the method, c) if no see if the object has a metatable property (erroring if it doesn't), d) call the metatable's __index method with a reference to the object and the name of the method you were originally calling, and let it return the method implementation
19:16:50 <ais523> so it's like a map that falls back to a metatable, and there's no rule about whether the metatables have to be shared or not (in practice they usually are)
19:17:07 <korvo> I'm still chewing on "most method calls don't go through [the prototype]". Like, I think that this depends a lot on what one is doing. Lately, most of my Vixen methods have been what systems call "static" or "class" methods; they are intended to be called on the original object, not a clone.
19:18:30 <ais523> I guess the way to think of it is that in Java or Smalltalk or ECMAScript, to construct an object you specify the class/object that specifies its behaviours and assign to its properties/internal storage; in Lua, the constructor usually assigns to the properties and also assigns to the methods
19:19:18 <korvo> Yeah, I'd still say that metatables are prototypes. They're just very opinionated. FWIW I personally think *Python* is prototype-based, too; it just happens that the standard `type` metaclass and `object` prototype are extremely opinionated about object layouts.
19:19:28 <korvo> As opposed to e.g. Ruby, I guess.
19:20:03 <ais523> this is an interesting opinion because I thought that Perl and Python OO is effectively equivalent, but Perl is definitely class-based
19:20:39 <ais523> (the way you *create* objects is bizarre by class-based standards, but method calls are very standard for a class-based language)
19:21:14 <korvo> Python's `object` is very weird. Direct clones of it like `object()` do not have an instance dictionary and compare by identity; they're gensyms rather than extensible objects.
19:22:50 <korvo> But Python has like three levels of hooking (metaclass, new/init, getattribute/etc.) and users are expected to use the weakest level that gets the task done. The final level of getattr/setattr is meant to emulate Self's most basic features.
19:24:55 <b_jonas> "LLVM isn't actually a VM, it's badly named" => wait, is "LLVM" even supposed to stand for that? I don't know what the letters were supposed to stand for. I think I lost interest in trying to figure out what most of these jargon abbreviations mean in my current job, which uses way too many opaque abbreviations, including colliding ones where PID means two completely unrelated things
19:25:31 <korvo> "Low-Level Virtual Machine". That's also its original aspiration: instead of compiling to the target machine, compile to LLVM's IR and let the toolchain emit machine code for you.
19:26:42 <ais523> b_jonas: it's meant to stand for "low-level virtual machine" but after a while they regretted the name I think
19:26:56 <korvo> I think it's a great name, in the tradition of "it's called BigTable, not FastTable". QBE (https://c9x.me/compile/) is short for "Quick BackEnd", on a similar tack.
19:27:42 <ais523> <llvm.org> The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines. The name "LLVM" itself is not an acronym; it is the full name of the project.
19:29:01 <b_jonas> jI see
19:30:06 <ais523> I guess at some point you run into philosophical questions about what a virtual machine actually is
19:30:25 <esolangs> [[Cellang]] N https://esolangs.org/w/index.php?oldid=169183 * Esolangist alt * (+1106) Esolangist alt
19:39:03 <int-e> The existence of `lli` kind of justifies the "virtual machine" notion.
19:39:18 <int-e> . o O ( It's not not a virtual machine. )
19:58:53 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=169184&oldid=168919 * HeckYeah100 * (+305)
20:36:44 -!- ais523 has quit (Quit: quit).
20:44:07 <esolangs> [[Special:Log/newusers]] create * JackM2484 * New user account
21:00:24 <esolangs> [[2 commands :(]] M https://esolangs.org/w/index.php?diff=169185&oldid=168151 * * (+8) 'or more'
21:06:33 -!- pool has joined.
21:07:43 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in).
21:10:49 -!- slavfox has joined.
21:45:09 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169186&oldid=169121 * Buckets * (+11)
21:46:03 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169187&oldid=169122 * Buckets * (+12)
21:46:25 <esolangs> [[Melon]] N https://esolangs.org/w/index.php?oldid=169188 * Buckets * (+1143) Created page with "Melon Is An Esoteric programming language created By [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | @ || Rotate left And skip the Next Command. |- | # || Starting point where Four Seperate IPs come out From. |- | D || If an IP travels th
22:00:57 <esolangs> [[File talk:Dango Language Logo.png]] https://esolangs.org/w/index.php?diff=169189&oldid=169168 * RaiseAfloppaFan3925 * (+371)
22:24:37 -!- ais523 has joined.
22:45:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:58:23 <esolangs> [[Ksplang]] M https://esolangs.org/w/index.php?diff=169190&oldid=169130 * Sejsel * (+44) Fix up table headers
22:58:37 <esolangs> [[Ksplang/instructions]] M https://esolangs.org/w/index.php?diff=169191&oldid=169134 * Sejsel * (+44) Fix up table headers
23:13:49 -!- Sgeo has joined.
23:25:07 -!- Sgeo_ has joined.
23:28:56 -!- Sgeo has quit (Ping timeout: 240 seconds).
23:30:17 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=169192&oldid=168825 * PhiPhiPHipHi2.0 * (+215)
23:30:59 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=169193&oldid=169192 * PhiPhiPHipHi2.0 * (+64)
23:34:09 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=169194&oldid=169193 * PhiPhiPHipHi2.0 * (+45)
23:36:11 -!- ais523 has quit (Quit: quit).
2025-11-25
00:27:13 <esolangs> [[User:Hotcrystal0/Cole's fictional Factorio story]] N https://esolangs.org/w/index.php?oldid=169195 * Hotcrystal0 * (+15966) Created page with "'''<span style=color:#0000FF>Note from hotcrystal0 (not part of the original page): This is an archive of a page originally on LifeWiki that is likely going to be deleted soon.</span>''' ==Archive contents== ahh you know wh
00:27:30 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=169196&oldid=165886 * Hotcrystal0 * (+86)
01:47:01 -!- 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).
03:01:46 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169197&oldid=169142 * NTMDev * (+8)
03:02:38 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169198&oldid=169197 * NTMDev * (+9)
03:03:25 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169199&oldid=169198 * NTMDev * (+29) /* Add or Remove Pair */
03:05:59 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169200&oldid=169187 * NTMDev * (+14) /* A */
03:06:33 -!- pool has quit (Read error: Connection reset by peer).
03:07:06 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169201&oldid=169199 * NTMDev * (+29)
03:08:47 -!- pool has joined.
03:11:54 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169202&oldid=169201 * NTMDev * (+33)
03:12:31 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169203&oldid=169202 * NTMDev * (+1)
03:12:49 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169204&oldid=169203 * NTMDev * (+12)
03:37:19 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169205&oldid=169204 * NTMDev * (+1634) /* Objects (aka classes) */
03:38:05 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169206&oldid=169205 * NTMDev * (+114) /* Raw String */
03:38:41 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169207&oldid=169206 * NTMDev * (-154) /* Edit a List */
03:39:30 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169208&oldid=169207 * NTMDev * (-2) /* Simple Math operations */
03:39:51 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169209&oldid=169208 * NTMDev * (-35) /* Simple Math operations */
03:40:21 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169210&oldid=169209 * NTMDev * (+6) /* Loop structure Function */
03:43:00 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169211&oldid=169210 * NTMDev * (+403) /* Get and SetAttr */
03:43:46 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169212&oldid=169211 * NTMDev * (+83) /* Creating An Instance */
03:46:31 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169213&oldid=169212 * NTMDev * (+303) /* Code Structure */
04:06:55 -!- pool has quit (Read error: Connection reset by peer).
04:08:52 -!- pool has joined.
06:07:40 <esolangs> [[18]] https://esolangs.org/w/index.php?diff=169214&oldid=169179 * Yayimhere2(school) * (+111) /* Commands */
06:13:41 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169215&oldid=169200 * Yayimhere2(school) * (+9) /* Non-alphabetic */ add 18 esolang
06:17:15 <esolangs> [[-HELL]] https://esolangs.org/w/index.php?diff=169216&oldid=158715 * Yayimhere2(school) * (-29) /* Turing-completeness proof */ incomplete proof so I took of the TC tag
06:18:19 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169217&oldid=156022 * Yayimhere2(school) * (+9) theres no actual info on how this works, so I marked it stub
06:20:38 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169218&oldid=169215 * Yayimhere2(school) * (-23) /* Non-alphabetic */ 1 line challenge isnt a language its a program form
06:25:11 <esolangs> [[Sharp flat]] https://esolangs.org/w/index.php?diff=169219&oldid=145057 * Yayimhere2(school) * (+17) /* Why is it named #b */ Etymology is more formal than "why it is named", and is nicer IMO. revert my edit if its bad I guess.
06:26:25 -!- nitrix has quit (Ping timeout: 264 seconds).
06:29:53 <esolangs> [[Peano]] https://esolangs.org/w/index.php?diff=169220&oldid=143096 * Yayimhere2(school) * (+9) /* Functions */ add a defined like
06:35:08 <esolangs> [[Lalala]] https://esolangs.org/w/index.php?diff=169221&oldid=168032 * Yayimhere2(school) * (-2) /* Memory */
06:38:08 <esolangs> [[COPY WITH @]] https://esolangs.org/w/index.php?diff=169222&oldid=148969 * Yayimhere2(school) * (+12) /* External resources */
06:39:26 <esolangs> [[Viktor's Divisibility Checker]] https://esolangs.org/w/index.php?diff=169223&oldid=168687 * Yayimhere2(school) * (+0) /* Etymology */
06:56:05 -!- svm has changed nick to msv.
07:20:41 -!- tromp has joined.
07:29:03 <APic> Hi
07:45:15 -!- Sgeo_ has quit (Read error: Connection reset by peer).
08:24:08 -!- nitrix has joined.
08:36:04 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:42:25 <esolangs> [[$ $]] https://esolangs.org/w/index.php?diff=169224&oldid=143752 * Yayimhere2(school) * (+15) /* Commands by User:Yayimhere */
09:43:43 <esolangs> [[$ $]] https://esolangs.org/w/index.php?diff=169225&oldid=169224 * Yayimhere2(school) * (-341) my command set shouldn't be here
09:47:17 <esolangs> [[NO(t) MORE(than)]] https://esolangs.org/w/index.php?diff=169226&oldid=156572 * Yayimhere2(school) * (-8) No longer WIP
09:51:26 -!- tromp has joined.
10:05:18 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
11:11:03 <esolangs> [[I/D machine Turing-completeness proof]] https://esolangs.org/w/index.php?diff=169227&oldid=169162 * Yayimhere2(school) * (-2) /* Compiling ErrorBucket to the I/D machine */ or makes more sense then i.e.
11:17:33 <esolangs> [[Peet]] N https://esolangs.org/w/index.php?oldid=169228 * Hammy * (+1420) Created page with "Peet is a [[bf]] extension by [[User:Hammy]] ==Execution== ===Valued Peet=== Each pixel has a "color value". It is gotten by adding the RGB values and moduloing by 16. ====Commands==== {| class="wikitable" ! Color value !! Mnemonic !! Action |- | 0 1 2 3 4 5 6 7 || + - < > .
11:20:01 <esolangs> [[WC is a toilet but v, and c are Unlambda operators]] https://esolangs.org/w/index.php?diff=169229&oldid=147700 * Yayimhere2(school) * (-486) Bad Esolang
11:40:31 <esolangs> [[Talk:Glass]] https://esolangs.org/w/index.php?diff=169230&oldid=16957 * Yayimhere2(school) * (+220) /* Comments */
12:03:06 <esolangs> [[Ascenic]] M https://esolangs.org/w/index.php?diff=169231&oldid=169082 * None1 * (-22) /* Syntax */ Fix grammar
12:03:15 <esolangs> [[Ascenic]] M https://esolangs.org/w/index.php?diff=169232&oldid=169231 * None1 * (+1) /* Syntax */
12:12:03 <esolangs> [[User:Hotcrystal0/Cole's fictional Factorio story]] https://esolangs.org/w/index.php?diff=169233&oldid=169195 * Hotcrystal0 * (-90) I take back what I said about Cole not being the devil
12:17:56 -!- pool has quit (Ping timeout: 265 seconds).
12:24:56 <esolangs> [[BFInfinity]] https://esolangs.org/w/index.php?diff=169234&oldid=169177 * None1 * (+122) /* Commands */
12:31:36 -!- msv has quit (Quit: Leaving).
12:32:13 <esolangs> [[User:Hotcrystal0/Cole's fictional Factorio story]] https://esolangs.org/w/index.php?diff=169235&oldid=169233 * Hotcrystal0 * (+375)
12:39:54 -!- pool has joined.
12:56:25 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:57:46 -!- tromp has joined.
13:08:47 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:09:25 -!- ais523 has joined.
13:12:39 -!- msv has joined.
13:33:22 <esolangs> [[Fuun DNA]] https://esolangs.org/w/index.php?diff=169236&oldid=136545 * Yayimhere2(school) * (-29) /* Links */ no proof of turing completeness
13:50:14 -!- Yayimhere has joined.
14:01:49 <esolangs> [[Bitwise Cyclic Tack]] N https://esolangs.org/w/index.php?oldid=169237 * None1 * (+1567) Created page with "'''Bitwise Cyclic Tack (BCTk)''' is an esolang invented by [[User:None1]]. It is a variation of [[BCT]] where the data-string is operated like a [[stack]] instead of a [[queue]]. ==Commands== {| class="wikitable" |- ! Command !! Execution |- | 0 || Delete the
14:02:00 <esolangs> [[Bitwise Cyclic Tack]] M https://esolangs.org/w/index.php?diff=169238&oldid=169237 * None1 * (+1) /* =Computational class */
14:02:58 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169239&oldid=169218 * None1 * (+26) /* B */
14:03:36 <esolangs> [[Bitwise Cyclic Tack]] M https://esolangs.org/w/index.php?diff=169240&oldid=169238 * None1 * (+25) /* Computational class */ Oh forgot a category
14:04:10 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=169241&oldid=169073 * None1 * (+54) /* My Esolangs */
14:05:09 <esolangs> [[Bitwise Cyclic Tack]] M https://esolangs.org/w/index.php?diff=169242&oldid=169240 * None1 * (+1)
14:08:32 <esolangs> [[None1/BCT Python]] N https://esolangs.org/w/index.php?oldid=169243 * None1 * (+668) Created page with "[[BCT]] interpreter in [[Python]], prints debug information since it has no I/O. <pre> from time import sleep class CyclicList(list): def __getitem__(self, x): return super().__getitem__(x % self.__len__()) code = CyclicList(map(int, input("Code: "
15:00:51 <esolangs> [[Q U I N E]] N https://esolangs.org/w/index.php?oldid=169244 * Hammy * (+599) Created page with "Q U I N E is a weird esolang by [[User:Hammy]]. ==Commands== q ^^ prints "quine" u ^^ increment the accumulator i ^^ decrement the accumulator n ^^ square the accumulator e ^^ double the accumulator ! ^^ print the ascii character corresponding to the accumulator s
15:08:30 <esolangs> [[Solus]] M https://esolangs.org/w/index.php?diff=169245&oldid=168828 * H33T33 * (+387)
15:48:12 -!- Yayimhere has quit (Quit: Client closed).
16:12:55 -!- ais523 has quit (Ping timeout: 240 seconds).
16:13:40 -!- ais523 has joined.
16:30:30 <esolangs> [[Talk:Bitwise Cyclic Tag]] https://esolangs.org/w/index.php?diff=169246&oldid=167994 * Aadenboy * (+573) /* Lua golf */ new section
17:33:38 -!- ais523 has quit (Quit: quit).
17:53:40 -!- leah2 has quit (Ping timeout: 245 seconds).
18:25:10 <fizzie> Oh, Advent of Code's going to be different this year: only 12 puzzles (December 1 to December 12), and no global leaderboard.
18:25:18 <esolangs> [[Bliss]] M https://esolangs.org/w/index.php?diff=169247&oldid=168153 * H33T33 * (-8)
18:25:39 <esolangs> [[User:H33T33]] M https://esolangs.org/w/index.php?diff=169248&oldid=168827 * H33T33 * (+0)
18:27:43 <esolangs> [[WTF]] M https://esolangs.org/w/index.php?diff=169249&oldid=166715 * H33T33 * (+29)
18:34:35 <esolangs> [[User talk:Yourusername]] https://esolangs.org/w/index.php?diff=169250&oldid=124404 * H33T33 * (+20)
18:46:41 -!- leah2 has joined.
19:00:44 -!- ais523 has joined.
19:02:54 -!- Everything has quit (Quit: leaving).
19:03:59 -!- Everything has joined.
19:09:30 <esolangs> [[Postrado]] M https://esolangs.org/w/index.php?diff=169251&oldid=163124 * Ractangle * (+26) he turned 16 two(?) weeks ago (and also some stuff)
19:14:38 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=169252&oldid=169184 * HeckYeah100 * (+3455) /* Non */
19:17:08 -!- tromp has joined.
20:05:55 <APic> Good Night
20:21:42 <esolangs> [[True (Ractangle)]] M https://esolangs.org/w/index.php?diff=169253&oldid=168570 * Ractangle * (+22) /* Implemented */
20:47:06 <esolangs> [[True (Ractangle)]] M https://esolangs.org/w/index.php?diff=169254&oldid=169253 * Ractangle * (-77) /* Commands */
20:47:47 <esolangs> [[True (Ractangle)]] M https://esolangs.org/w/index.php?diff=169255&oldid=169254 * Ractangle * (+46) /* Examples */
21:03:44 -!- amby has joined.
21:07:52 -!- ais523 has quit (Ping timeout: 246 seconds).
21:08:04 -!- ais523 has joined.
21:44:42 <esolangs> [[True (Ractangle)]] M https://esolangs.org/w/index.php?diff=169256&oldid=169255 * Ractangle * (-5) /* Hello, world! */
21:57:09 <esolangs> [[User:Hotcrystal0/Cole's fictional Factorio story]] https://esolangs.org/w/index.php?diff=169257&oldid=169235 * Hotcrystal0 * (+614)
21:57:31 <esolangs> [[User:Hotcrystal0/Cole's fictional Factorio story]] https://esolangs.org/w/index.php?diff=169258&oldid=169257 * Hotcrystal0 * (-1)
21:58:06 <esolangs> [[User:Hotcrystal0/Cole's fictional Factorio story]] https://esolangs.org/w/index.php?diff=169259&oldid=169258 * Hotcrystal0 * (+24)
21:59:29 <esolangs> [[User:Hotcrystal0/Cole's fictional Factorio story]] https://esolangs.org/w/index.php?diff=169260&oldid=169259 * Hotcrystal0 * (-7) why are there still missed pronoun/name corrections
22:03:55 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169261&oldid=169186 * Buckets * (+12)
22:04:42 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169262&oldid=169239 * Buckets * (+13)
22:05:06 <esolangs> [[Togglo]] N https://esolangs.org/w/index.php?oldid=169263 * Buckets * (+1576) Created page with "Togglo Is an esoteric programming language created By [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | 1 || Create 4 IPs from All Diagonals in The Diagonal Directions, If an IP interacts With it, Then It will Move that IP One of the Comb
22:06:17 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:21:17 <esolangs> [[Dipsh!t]] N https://esolangs.org/w/index.php?oldid=169264 * HeckYeah100 * (+899) Created page with "==Dipsh!t== Dipsh!t is a joke esoteric programming language designed to roast you. you can code in any language, or even spam <code>awfrgehjrhgsfaeggb</code> and it will still find a way to insult you. The output is the insult. The system that insults you is chatgpt
22:21:35 <esolangs> [[Dipsh!t]] https://esolangs.org/w/index.php?diff=169265&oldid=169264 * HeckYeah100 * (+3)
22:32:32 <esolangs> [[Special:Log/newusers]] create * Haltosan * New user account
22:40:53 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=169266&oldid=169153 * Haltosan * (+223) /* Introductions */
22:45:38 <esolangs> [[Haifu]] https://esolangs.org/w/index.php?diff=169267&oldid=155282 * Haltosan * (+66) /* External resources */ add interpreter link
23:26:20 -!- Sgeo has joined.
23:39:45 <esolangs> [[Haifu]] https://esolangs.org/w/index.php?diff=169268&oldid=169267 * Haltosan * (+92) /* External resources */ add another interpreter link
2025-11-26
00:16:40 <int-e> Oh my, I forgot how many dependencies Burlesque has.
00:58:52 -!- 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:40:36 -!- pool has quit (Read error: Connection reset by peer).
01:41:02 -!- pool has joined.
02:31:09 <int-e> > 42
02:31:10 <lambdabot> 42
02:35:52 <ais523> fungot: 42?
02:35:52 <fungot> ais523: this rule, each player's vvlop by one. if
02:36:47 <int-e> ais523: just checking I didn't break it :P
02:37:03 <ais523> did you add Burlesque to lambdabot?
02:39:33 <int-e> Nah, I'm just hosting https://cheap.int-e.eu/~burlesque/burlesque.cgi?q={1+2+3}%2B%2B
02:39:49 <int-e> And I'm preparing to consolidate two VMs into one.
02:39:53 <int-e> VPSs
02:40:25 -!- pool has quit (Read error: Connection reset by peer).
02:42:37 -!- pool has joined.
02:45:05 <int-e> (`cheap` *used* to be a cloudatcost thing for a while)
02:45:28 <int-e> what a great scam that was :)
02:48:27 <int-e> And "unfortunately" the new VPS is aarch64 so I have to rebuild everything. Obviously that's a choice so I'm not complaining :P
02:50:07 <int-e> It's just annoying because I'm replicating a 10 year old setup. (wow)
03:06:59 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169269&oldid=169213 * NTMDev * (+188) /* How To Save */
03:19:27 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169270&oldid=169269 * NTMDev * (+1016) /* Calling a Class Method */
03:20:17 <esolangs> [[Brainfuck]] https://esolangs.org/w/index.php?diff=169271&oldid=169055 * NTMDev * (-10)
03:20:32 <esolangs> [[Brainfuck]] https://esolangs.org/w/index.php?diff=169272&oldid=169271 * NTMDev * (+6)
03:21:22 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169273&oldid=169270 * NTMDev * (+53)
03:24:24 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169274&oldid=169273 * NTMDev * (+58)
03:37:00 <esolangs> [[Dipsh!t]] https://esolangs.org/w/index.php?diff=169275&oldid=169265 * Yayimhere2(school) * (+7) add stub, and total comp class
03:44:36 <int-e> > toEnum 0x2B : ""
03:44:37 <lambdabot> "+"
03:45:07 <int-e> > chr 0x2B
03:45:08 <lambdabot> '+'
04:03:21 <int-e> @where state
04:03:22 <lambdabot> https://silicon.int-e.eu/lambdabot/State/
04:18:48 <esolangs> [[User:Waffelz]] https://esolangs.org/w/index.php?diff=169276&oldid=167455 * Waffelz * (+647)
04:19:46 <esolangs> [[User:Waffelz]] M https://esolangs.org/w/index.php?diff=169277&oldid=169276 * Waffelz * (+96)
04:35:23 <esolangs> [[Talk:Dipsh!t]] N https://esolangs.org/w/index.php?oldid=169278 * Corbin * (+103) Created page with "This isn't a language. ~~~~"
05:24:25 -!- slavfox has quit (Quit: ZNC 1.8.2 - https://znc.in).
05:29:00 -!- slavfox has joined.
06:11:06 -!- chloetax has quit (Ping timeout: 252 seconds).
06:15:29 -!- ais523 has quit (Quit: quit).
07:21:00 -!- tromp has joined.
07:23:22 <esolangs> [[Hexad]] N https://esolangs.org/w/index.php?oldid=169279 * Yayimhere2(school) * (+1776) Created page with "{{Lowercase}} '''hexad''' is an esolang designed and published by [[User:Yayimhere]], to be unreliable when trying to store and modify data. it is as such propably not [[Turing complete]], however Yayimhere would be interested in a counter proof of such. hexad
07:24:02 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=169280&oldid=168739 * Yayimhere2(school) * (+12) /* esolangs */
07:28:47 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=169281&oldid=169280 * Yayimhere2(school) * (+140) /* esolangs */
07:34:58 -!- dbohdan has quit (Ping timeout: 260 seconds).
07:35:20 -!- svm has joined.
07:38:00 -!- msv has quit (Ping timeout: 252 seconds).
07:54:39 -!- Sgeo has quit (Read error: Connection reset by peer).
08:01:45 -!- dbohdan has joined.
09:49:21 <APic> Hi
10:12:05 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:21:59 <esolangs> [[GotoStart Turing-completness proof]] https://esolangs.org/w/index.php?diff=169282&oldid=168087 * Yayimhere2(school) * (+3) /* BranchBlocks */ this -> these, which -> that, defines -> define, add the
10:25:19 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169283&oldid=169279 * Yayimhere2(school) * (+4) /* Commands */
10:32:51 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169284&oldid=169283 * Yayimhere2(school) * (-1) /* Commands */
11:18:36 -!- xelxebar_ has joined.
11:19:13 -!- xelxebar has quit (Ping timeout: 264 seconds).
11:24:37 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169285&oldid=169284 * Yayimhere2(school) * (+60) /* Commands */
11:25:17 <esolangs> [[Looping counter]] https://esolangs.org/w/index.php?diff=169286&oldid=167746 * Yayimhere2(school) * (+27) /* Examples */
11:27:52 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169287&oldid=169285 * Yayimhere2(school) * (+128) /* Commands */
11:28:05 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169288&oldid=169287 * Yayimhere2(school) * (+0) /* Examples */
11:28:31 <esolangs> [[Looping counter]] https://esolangs.org/w/index.php?diff=169289&oldid=169286 * Yayimhere2(school) * (+6) /* XUS */
11:30:56 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169290&oldid=169288 * Yayimhere2(school) * (+5) /* Commands */
11:32:08 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169291&oldid=169290 * Yayimhere2(school) * (+1) /* Commands */
11:32:37 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169292&oldid=169291 * Yayimhere2(school) * (+0) /* Commands */
11:32:52 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169293&oldid=169292 * Yayimhere2(school) * (+0) /* Commands */
11:40:58 <esolangs> [[None1/BCT Python]] M https://esolangs.org/w/index.php?diff=169294&oldid=169243 * None1 * (+1)
11:41:56 <esolangs> [[Bitwise Cyclic Tag]] https://esolangs.org/w/index.php?diff=169295&oldid=166150 * None1 * (+26) /* See also */
11:43:12 <esolangs> [[Bitwise Cyclic Tag]] https://esolangs.org/w/index.php?diff=169296&oldid=169295 * None1 * (+68) /* External resources */
11:44:56 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169297&oldid=169293 * Yayimhere2(school) * (+28) /* Commands */
11:51:22 <esolangs> [[Talk:3 Bits, 1.5 Bytes]] https://esolangs.org/w/index.php?diff=169298&oldid=128955 * None1 * (+554) /* Some questions */ new section
11:53:35 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169299&oldid=169297 * Yayimhere2(school) * (+0) /* Commands */
11:56:13 <esolangs> [[User talk:MihaiEso]] https://esolangs.org/w/index.php?diff=169300&oldid=164665 * None1 * (+473) /* Some questions about 3 Bits, 1.5 Bytes */ new section
12:08:13 <esolangs> [[User:RaiseAfloppaFan3925/Concepts]] N https://esolangs.org/w/index.php?oldid=169301 * RaiseAfloppaFan3925 * (+3527) Created page with " My stupid concepts. = Constants = == the constant == The constant is a constant I just made up. It is written in base-36 and must be of arbitrary precision. The part wrapped in <code>||</code>s is the part that repeats forever
12:08:19 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=169302&oldid=169148 * RaiseAfloppaFan3925 * (-12365)
12:21:29 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169303&oldid=169299 * Yayimhere2(school) * (+0) /* Commands */
12:36:10 <esolangs> [[Special:Log/move]] move * TheCatFromGithub * moved [[GotoStart Turing-completness proof]] to [[GotoStart Turing-completeness proof]]: Misspelled title
12:40:02 -!- amby has joined.
12:41:50 <esolangs> [[GotoStart]] M https://esolangs.org/w/index.php?diff=169306&oldid=141150 * TheCatFromGithub * (+2) /* Computational class */ fix typo
12:42:36 <esolangs> [[GotoStart]] https://esolangs.org/w/index.php?diff=169307&oldid=169306 * TheCatFromGithub * (+1) redirect fix
12:43:56 <esolangs> [[Special:Log/move]] move * TheCatFromGithub * moved [[Lag Turing-completness proof]] to [[Lag Turing-completeness proof]]: Misspelled title
12:44:16 <esolangs> [[Lag]] https://esolangs.org/w/index.php?diff=169310&oldid=99954 * TheCatFromGithub * (+2) /* Computational class */ redirect
12:47:17 <esolangs> [[Binin++]] https://esolangs.org/w/index.php?diff=169311&oldid=125335 * TheCatFromGithub * (+1) /* Turing completness */ typo
12:47:47 <esolangs> [[Brainjump]] https://esolangs.org/w/index.php?diff=169312&oldid=120135 * TheCatFromGithub * (+1)
12:48:14 <esolangs> [[Queue based]] https://esolangs.org/w/index.php?diff=169313&oldid=122350 * TheCatFromGithub * (+2) /* Computational class */ typo
12:49:34 <esolangs> [[Heapfuck]] https://esolangs.org/w/index.php?diff=169314&oldid=108005 * TheCatFromGithub * (+2) /* Turing completeness */ typo
12:50:05 <esolangs> [[Heapfuck]] https://esolangs.org/w/index.php?diff=169315&oldid=169314 * TheCatFromGithub * (+1) /* External resources */ typo
12:50:27 <esolangs> [[LTMCBCBYCII]] https://esolangs.org/w/index.php?diff=169316&oldid=86812 * TheCatFromGithub * (+1) /* Turing completness */ fix typo
12:53:36 <esolangs> [[Special:Log/newusers]] create * BobSoftOfficial * New user account
13:03:39 <esolangs> [[Lag system]] https://esolangs.org/w/index.php?diff=169317&oldid=154587 * PkmnQ * (+42) /* See also */
13:52:04 <esolangs> [[Aq Qoyunlu]] N https://esolangs.org/w/index.php?oldid=169318 * PrySigneToFry * (+2514) Created page with "''Aq Qoyunlu'' is designed by PSTF. It is based on Brainfuck, with some modification inspired from SLet and Apollo. = Overview = Aq Qoyunlu, or White Sheep, has a tape and a stack, and also 3 accumulators. This is the command table. <pre class='rectwrap'> CC:
13:53:22 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169319&oldid=169262 * PrySigneToFry * (+17)
14:14:52 <esolangs> [[Shove]] https://esolangs.org/w/index.php?diff=169320&oldid=85814 * Yayimhere2(school) * (+2) shoving should be quoted!!!
14:39:57 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169321&oldid=169303 * Yayimhere2(school) * (-99) /* Commands */
14:42:25 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169322&oldid=169321 * Yayimhere2(school) * (-33) /* Commands */
14:42:40 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169323&oldid=169322 * Yayimhere2(school) * (+0) /* Examples */
14:42:57 <esolangs> [[Looping counter]] https://esolangs.org/w/index.php?diff=169324&oldid=169289 * Yayimhere2(school) * (+0) /* Hexad */
15:02:20 <esolangs> [[Cyclic Clockwise Rotating Contraption]] N https://esolangs.org/w/index.php?oldid=169325 * RaiseAfloppaFan3925 * (+2104) Created page with " {{ infobox proglang | author = [[User:RaiseAfloppaFan3925]] | year = [[:Category:2025|2025]] | memsys = Cell tape, ring buffer-like | influence = [[BF]], [[Deadfish]] }} The Cyclic Clockwise Rotating Contraption or CCRC is a "
15:03:17 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=169326&oldid=169302 * RaiseAfloppaFan3925 * (+79) /* My Esolangs */ add Cyclic Clockwise Rotating Contraption
15:05:52 <esolangs> [[File talk:Dango Language Logo.png]] https://esolangs.org/w/index.php?diff=169327&oldid=169189 * RaiseAfloppaFan3925 * (+540) please delete this
15:06:21 <esolangs> [[Dango]] M https://esolangs.org/w/index.php?diff=169328&oldid=167168 * RaiseAfloppaFan3925 * (-52) Remove language logo as it will be deleted since it's not public domain
15:18:37 -!- ais523 has joined.
16:02:47 <int-e> lol, I wasn't fully aware that one can hard link a symbolic link
16:25:42 <ais523> fun sentence to come to the channel to, let me read scrollback
16:26:01 <int-e> ais523: sorry there's no context here for that one
16:26:28 <ais523> I forgot the -s from a ln command recently, but the results were less amusing
16:26:29 <int-e> I used `cp -al` locally and (re-?)discovered this as a result
17:09:43 -!- ais523 has quit (Ping timeout: 240 seconds).
17:09:58 -!- ais523 has joined.
17:18:59 -!- ais523 has quit (Ping timeout: 240 seconds).
17:18:59 -!- nitrix has quit (Ping timeout: 240 seconds).
17:18:59 -!- simcop2387 has quit (Ping timeout: 240 seconds).
17:18:59 -!- xelxebar_ has quit (Ping timeout: 240 seconds).
17:18:59 -!- pool has quit (Ping timeout: 240 seconds).
17:19:07 -!- callforjudgement has joined.
17:19:35 -!- xelxebar has joined.
17:19:37 -!- simcop2387 has joined.
17:19:56 -!- nitrix has joined.
17:20:20 -!- callforjudgement has changed nick to ais523.
18:12:04 <esolangs> [[User:Ractangle]] M https://esolangs.org/w/index.php?diff=169329&oldid=168158 * Ractangle * (+14) /* Esolangs */
18:12:58 -!- Everything has quit (Quit: leaving).
18:21:05 <esolangs> [[Turing tarpit]] https://esolangs.org/w/index.php?diff=169330&oldid=168798 * Corbin * (+1069) OISC and ZISC aren't tarpits, but ways of tarpit-izing a machine. We can organize them by requiring them to be uniform over some working memory. Some cases, like [[Tag]], were straight-up misunderstandings.
18:41:01 <b_jonas> int-e: I think I knew that that was possible, but it's not very useful. The readlink and even the st_mode of a symlink are read-only, so if hardlinking a symlink succeeds there's little practical difference from having made a copy.
18:42:14 <b_jonas> you can use this to overwrite a non-directory file that needn't be a symlink in a way that the new filename changes atomically, but in practice you'll use rename instead of link for that most of the time
18:47:24 <b_jonas> it makes sense to allow hardlinking any non-directory file just to explain the semantics of rename more easily: while one process/thread is renaming, another may observe both names existing and pointing to the same file, which simplifies the implementation of rename, so this is explained by saying that renaming a non-directory file is just a link followed by an unlink.
18:55:18 <int-e> b_jonas: right. you save a whole inode!
19:06:12 <sorear> if you hardlink a relative symlink into two directories, you can have two files which return the same st_ino from lstat but different contents when opened, I wonder if that breaks anything
19:07:10 -!- callforjudgement has joined.
19:07:22 -!- ais523 has changed nick to Guest8167.
19:07:22 -!- Guest8167 has quit (Killed (molybdenum.libera.chat (Nickname regained by services))).
19:07:22 -!- callforjudgement has changed nick to ais523.
19:20:08 <b_jonas> int-e: but inodes aren't particularly expensive on modern file systems
19:20:35 <int-e> it's a matter of principle!
19:20:44 <b_jonas> it's not like each one is reserved a whole sector of sector numbers no matter how large the file is anyomre
19:20:45 * int-e found a pile of dirt to die on
19:21:12 <int-e> b_jonas: also if you read back, I never claimed that this was actually useful... just that it happened
19:21:20 <b_jonas> yeah
19:22:16 <b_jonas> I would guess git might hardlink some symlinks if you use git clone or git workspace with whatever option it is that makes it share files between repos using hardlinks
19:22:31 <int-e> I did, at some point, run out of inodes on some ext2 filesystem. I don't actually remember what all those tiny files that caused it were.
19:22:44 <int-e> Been a while ;)
19:24:13 <b_jonas> heck, git might even hardlink symlinks without any of that, git is weird in its storage
19:24:20 <b_jonas> int-e: on ext2 that's believable, yes
19:27:56 <esolangs> [[Turing tarpit]] M https://esolangs.org/w/index.php?diff=169331&oldid=169330 * Cosmikdebris * (+50) /* History */ improve readibility
19:28:36 <esolangs> [[Turing tarpit]] M https://esolangs.org/w/index.php?diff=169332&oldid=169331 * Cosmikdebris * (+31) /* History */
19:29:53 -!- tromp has joined.
19:35:34 <esolangs> [[User:Waffelz]] M https://esolangs.org/w/index.php?diff=169333&oldid=169277 * Waffelz * (+30)
20:13:35 <APic> Good Night
20:22:37 <esolangs> [[Turing complete regex]] N https://esolangs.org/w/index.php?oldid=169334 * GolferHome * (+2584) Created page with "'''Turing-complete Regexes''' (commonly abbreviated as '''T-Regex''') is an esoteric programming language that extends standard regular expressions with stack operations and recursive execution, making it [[Turing complete]]. == Overview == Turing-comp
20:29:35 <esolangs> [[User:Waffelz]] https://esolangs.org/w/index.php?diff=169335&oldid=169333 * Waffelz * (+230)
21:00:04 -!- Sgeo has joined.
21:02:45 <esolangs> [[Turing complete regex]] https://esolangs.org/w/index.php?diff=169336&oldid=169334 * * (+29) Smells AI generated.
21:13:54 <esolangs> [[Guh]] M https://esolangs.org/w/index.php?diff=169337&oldid=163669 * Ractangle * (-21) /* Commands */
21:14:23 <esolangs> [[Special:Log/newusers]] create * CraftyBLUE * New user account
21:14:31 <esolangs> [[Guh]] M https://esolangs.org/w/index.php?diff=169338&oldid=169337 * Ractangle * (-32) /* guh */
21:15:07 <esolangs> [[Guh]] M https://esolangs.org/w/index.php?diff=169339&oldid=169338 * Ractangle * (-35) /* Commands */
21:22:57 <esolangs> [['interbasic]] M https://esolangs.org/w/index.php?diff=169340&oldid=149412 * Ractangle * (-33) I love making basic more misreble
21:23:51 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=169341&oldid=169266 * CraftyBLUE * (+205)
21:28:45 <esolangs> [['interbasic]] M https://esolangs.org/w/index.php?diff=169342&oldid=169340 * Ractangle * (+65)
21:31:19 <esolangs> [['interbasic]] M https://esolangs.org/w/index.php?diff=169343&oldid=169342 * Ractangle * (-41)
21:32:12 <esolangs> [['interbasic]] https://esolangs.org/w/index.php?diff=169344&oldid=169343 * Ractangle * (-9) I think that should be fine enough for it to not be a srub
21:45:21 <esolangs> [[Forbin?]] N https://esolangs.org/w/index.php?oldid=169345 * TheCatFromGithub * (+155) Created page with "'''Forbin?''' is an esolang that's just like [[Forbin]] but there is no ! operator, and there is a new builtin function ? that simply returns a random bit."
22:06:12 <esolangs> [[81]] M https://esolangs.org/w/index.php?diff=169346&oldid=165896 * Waffelz * (-1) fix random stuff
22:19:28 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169347&oldid=169261 * Buckets * (+14)
22:20:01 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169348&oldid=169319 * Buckets * (+15)
22:20:25 <esolangs> [[Overloop]] N https://esolangs.org/w/index.php?oldid=169349 * Buckets * (+22) Redirected page to [[OverLoop]]
22:20:31 <esolangs> [[OverLoop]] N https://esolangs.org/w/index.php?oldid=169350 * Buckets * (+1316) Created page with "OverLoop is an Esoteric Programming language Created By [[User:Buckets]] in 2022. {| class="wikitable" |- ! Commands !! Instructions |- | <n> || This will Mark the Side to be the Same as another side, The Other side Is marked With the Same command. |- | <nowiki>|</nowi
22:21:22 <esolangs> [[81]] M https://esolangs.org/w/index.php?diff=169351&oldid=169346 * Waffelz * (+0)
22:40:13 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:28:12 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169352&oldid=169274 * NTMDev * (+86) /* Superclasses */
23:28:44 -!- dbohdan has quit (Ping timeout: 260 seconds).
23:47:05 -!- dbohdan has joined.
2025-11-27
00:13:50 -!- yc has quit (Remote host closed the connection).
00:14:11 -!- yc has joined.
00:23:01 <esolangs> [[Turing tarpit]] https://esolangs.org/w/index.php?diff=169353&oldid=169332 * Corbin * (-412) /* Survey */ Remove languages which aren't TC or unimplemented; we're only interested in TC languages that can be implemented. Unknown class is fine as long as the language isn't likely to trivialize.
00:27:54 <esolangs> [[Talk:Turing complete regex]] N https://esolangs.org/w/index.php?oldid=169354 * Corbin * (+180) Might not be AI-generated. Want to explain?
00:45:39 -!- yc has quit (Remote host closed the connection).
00:46:02 -!- yc has joined.
00:52:58 -!- 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:01:35 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=169355&oldid=169194 * PhiPhiPHipHi2.0 * (+209)
01:05:58 <esolangs> [[Nand1]] N https://esolangs.org/w/index.php?oldid=169356 * CraftyBLUE * (+5516) Created page with "{{infobox proglang |name=Nand1 |paradigms=imperative |author=[[User:craftyBLUE]] |year=[[:Category:2025|2025]] |class=[[:Category:Turing complete|Turing complete]] |majorimpl=[https://github.com/craftyBLUE/Nand1 Original] |files=<code>.nand1</code> }} Nand1 is a progr
01:20:39 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=169357&oldid=169355 * PhiPhiPHipHi2.0 * (+81)
01:33:18 -!- Sgeo has quit (Read error: Connection reset by peer).
02:06:16 -!- pool has joined.
02:30:28 -!- Sgeo has joined.
02:48:47 <esolangs> [[Tea]] N https://esolangs.org/w/index.php?oldid=169358 * Waffelz * (+6567) Created page with "{{infobox proglang |name=Tea |paradigms=Imperative |author=[[User:waffelz]] |year=[[:Category:2025|2025]] |memsys=[[:Category:Stack-based|Stack-based]] |refimpl=See [[#External resources|[1]]] |class=[[:Category:Unknown computational class|Unknow
03:24:59 -!- ais523 has quit (Ping timeout: 260 seconds).
03:25:30 -!- ais523 has joined.
04:44:13 -!- ais523 has quit (Quit: quit).
05:06:39 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169359&oldid=169358 * Yayimhere2(school) * (+543) /* Examples */ BF to tea translation
05:07:08 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169360&oldid=169359 * Yayimhere2(school) * (+34) /* Computational class */ fix the template thing
05:08:23 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169361&oldid=169360 * Yayimhere2(school) * (-12) /* External resources */
05:09:25 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169362&oldid=169361 * Yayimhere2(school) * (+1) /* Computational class */
06:11:50 -!- chomwitt has joined.
06:16:45 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169363&oldid=169362 * Yayimhere2(school) * (-33) /* Computational class */ proof credit is dumb, actually(IMO)
06:18:38 <esolangs> [[User talk:Waffelz]] https://esolangs.org/w/index.php?diff=169364&oldid=166188 * Yayimhere2(school) * (+215)
06:20:41 <esolangs> [[Talk:81]] N https://esolangs.org/w/index.php?oldid=169365 * Yayimhere2(school) * (+154) Created page with "Proof of turing completeness? were? --~~~~"
06:22:01 <esolangs> [[81]] https://esolangs.org/w/index.php?diff=169366&oldid=169351 * Yayimhere2(school) * (+3)
06:22:49 <esolangs> [[Talk:8]] N https://esolangs.org/w/index.php?oldid=169367 * Yayimhere2(school) * (+153) Created page with "where's the proof its TC though??? --~~~~"
06:27:06 <esolangs> [[Nand1]] https://esolangs.org/w/index.php?diff=169368&oldid=169356 * Yayimhere2(school) * (+3) /* Program flow */ spaces dont work in the <code> sections. also add newline
07:50:54 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169369&oldid=169363 * Yayimhere2(school) * (-24)
07:56:27 -!- tromp has joined.
08:21:22 <esolangs> [[Fluid]] N https://esolangs.org/w/index.php?oldid=169370 * Yayimhere2(school) * (+1271) Created page with "'''Fluid''' is an [[esolang]] devised by [[User:Yayimhere]], in a few minutes, after reading the esolang article on [[BIX Queue Subset|BIX Queue Subset's]]. It is the BIX queue subset <code>cfda ctda d</code>. Note that the <code>c</code> is skipped if not in i
08:21:28 <esolangs> [[Fluid]] https://esolangs.org/w/index.php?diff=169371&oldid=169370 * Yayimhere2(school) * (+1) /* A non BIX definition */
08:32:37 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=169372&oldid=169281 * Yayimhere2(school) * (+11) /* esolangs */
08:49:30 <esolangs> [[Fluid]] https://esolangs.org/w/index.php?diff=169373&oldid=169371 * Yayimhere2(school) * (+451)
08:53:19 <esolangs> [[Fluid]] https://esolangs.org/w/index.php?diff=169374&oldid=169373 * Yayimhere2(school) * (+79) /* A non BIX definition */
09:15:11 -!- b_jonas has quit (Quit: leaving).
09:34:25 <esolangs> [[Guh]] M https://esolangs.org/w/index.php?diff=169375&oldid=169339 * Ractangle * (+28)
09:49:24 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169376&oldid=169085 * Ractangle * (+4) /* Interpreter */
10:07:35 -!- svm has quit (Remote host closed the connection).
10:08:23 <esolangs> [[Fluid]] https://esolangs.org/w/index.php?diff=169377&oldid=169374 * Yayimhere2(school) * (+7) /* A non BIX definition */
10:11:41 <APic> Hi
10:50:50 <esolangs> [[BIX Queue Subset]] https://esolangs.org/w/index.php?diff=169378&oldid=150196 * Yayimhere2(school) * (+11) /* See also */ add [[Fluid]] since its also a subset
10:57:52 <esolangs> [[Distressed]] https://esolangs.org/w/index.php?diff=169379&oldid=168417 * Yayimhere2(school) * (+5) /* Syntax */
10:59:32 <esolangs> [[Stroke]] https://esolangs.org/w/index.php?diff=169380&oldid=135521 * Yayimhere2(school) * (+21) add distressed as a "bigger brother"
11:21:04 <esolangs> [[Intermediate language]] https://esolangs.org/w/index.php?diff=169381&oldid=148687 * Yayimhere2(school) * (+181) /* Some examples in alphabetical order */ add gotostart
11:32:18 -!- Sgeo has quit (Read error: Connection reset by peer).
11:45:37 <esolangs> [[Bitwise Cyclic Tack]] M https://esolangs.org/w/index.php?diff=169382&oldid=169242 * None1 * (-22) /* Computational class */ It's a PDA
11:45:38 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=169383&oldid=168423 * Yayimhere2(school) * (+21) /* Commands */
11:46:04 <esolangs> [[Homunculus fallacy]] https://esolangs.org/w/index.php?diff=169384&oldid=169383 * Yayimhere2(school) * (+47) /* Commands */
11:46:48 <esolangs> [[Bitwise Cyclic Tack]] https://esolangs.org/w/index.php?diff=169385&oldid=169382 * None1 * (+45)
11:47:14 <esolangs> [[Bitwise Cyclic Tag]] M https://esolangs.org/w/index.php?diff=169386&oldid=169296 * None1 * (+46)
11:48:43 <esolangs> [[Q U I N E]] M https://esolangs.org/w/index.php?diff=169387&oldid=169244 * None1 * (+1) /* Quine */
11:51:06 <esolangs> [[3 Bits, 1.5 Bytes]] https://esolangs.org/w/index.php?diff=169388&oldid=139581 * PrySigneToFry * (+66)
12:14:53 <esolangs> [[EternalGolf]] https://esolangs.org/w/index.php?diff=169389&oldid=167161 * None1 * (+31) /* Built-in constants */
12:15:36 <esolangs> [[User:Hammy/Template:ASCII]] N https://esolangs.org/w/index.php?oldid=169390 * Hammy * (+4453) Created page with "{| class="wikitable sortable" |- ! Binary !! Decimal !! Hexadecimal !! Character |- | 0000000 || 0 || 00 || '''NULL''' |- | 0000001 || 1 || 01 || Start of Heading |- | 0000010 || 2 || 02 || Start of Text |- | 0000011 || 3 || 03 || End of Text |- | 000010
12:16:41 <esolangs> [[EternalGolf]] https://esolangs.org/w/index.php?diff=169391&oldid=169389 * None1 * (+44) Add cheating quine and fix som formatting
12:16:48 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:19:01 <esolangs> [[Oddjump]] N https://esolangs.org/w/index.php?oldid=169392 * None1 * (+1850) Add Oddjump esolang
12:22:26 <esolangs> [[OISC]] https://esolangs.org/w/index.php?diff=169393&oldid=160861 * None1 * (+111) /* List of OISCs */
12:34:34 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169394&oldid=169348 * None1 * (+14) /* O */
12:35:09 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=169395&oldid=169241 * None1 * (+89) /* My Esolangs */
12:44:18 <esolangs> [[User:Hammy/Learn BF]] N https://esolangs.org/w/index.php?oldid=169396 * Hammy * (+1347) Created page with "{{WIP}} welcome! this page will teach you about bf in simple steps :D {| class="wikitable" |- | style="background-color:red;color:white" | Note: This is a work in progress, so maybe come back later and there will be new stuff. Hopefully? |} ==Lesson 1: Cells
12:55:48 <esolangs> [[Special:Log/upload]] upload * JIT * uploaded "[[File:Nothing-suspicious.png]]": ...nothing suspicious at all...
13:04:52 <esolangs> [[Special:Log/upload]] upload * Hammy * uploaded "[[File:RubiksCubeExtended-Cat.png]]"
13:05:23 <esolangs> [[Rubik's Cube extended]] N https://esolangs.org/w/index.php?oldid=169399 * Hammy * (+684) Created page with "Rubik's Cube Extended (shortened to RCE for the rest of the article) is by [[User:Hammy]] and is an extension of [[Rubik's Cube]] ==Commands== RCE uses a different commmand set to [[Rubik's Cube]]. <pre> L increments cell L' decrements cell R goes to the ne
13:06:15 -!- tromp has joined.
13:10:22 <esolangs> [[Brainsteg]] N https://esolangs.org/w/index.php?oldid=169400 * JIT * (+1365) Created page with "Brainsteg is an esolang by [[User:JIT]], 2025 ''"What if [[StegFuck]] was a bit better in [[Steganography]]?"'' : -[[User:JIT]], 2025 it does it on all last channels on the least significant bit {| class="wikitable" |+ yaaaay |- ! action !! what it does |- | same bit a
13:11:08 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169401&oldid=169394 * JIT * (+16)
13:14:39 -!- chomwitt has quit (Read error: Connection reset by peer).
13:14:59 -!- chomwitt has joined.
13:23:33 -!- chomwitt_alt has joined.
13:24:24 -!- chomwitt has quit (Ping timeout: 252 seconds).
13:30:49 -!- Lord_of_Life has joined.
13:43:21 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169402&oldid=169401 * Yayimhere2(school) * (+12) /* F */
13:48:12 <esolangs> [[Fluid]] https://esolangs.org/w/index.php?diff=169403&oldid=169377 * Yayimhere2(school) * (+895) /* A non BIX definition */
13:50:12 <esolangs> [[Fluid]] https://esolangs.org/w/index.php?diff=169404&oldid=169403 * Yayimhere2(school) * (-465) /* A non BIX definition */
13:51:18 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169405&oldid=169402 * CraftyBLUE * (+12) added Nand1
14:05:43 <esolangs> [[Brainsteg]] M https://esolangs.org/w/index.php?diff=169406&oldid=169400 * JIT * (+1) oops
14:07:00 <esolangs> [[DerpScrp]] M https://esolangs.org/w/index.php?diff=169407&oldid=166213 * Kaveh Yousefi * (+0) Meliorated an instance of cacography by exchanging extention for the correct extension.
14:14:49 <esolangs> [[Fluid]] https://esolangs.org/w/index.php?diff=169408&oldid=169404 * Yayimhere2(school) * (+71) /* Implementations */
14:16:51 -!- Yayimhere has joined.
14:16:59 <Yayimhere> hello!
14:21:18 <esolangs> [[Brainfucker]] https://esolangs.org/w/index.php?diff=169409&oldid=135241 * JIT * (+9)
14:25:24 <esolangs> [[Selfermodif]] https://esolangs.org/w/index.php?diff=169410&oldid=130441 * JIT * (+23)
14:25:45 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=169411&oldid=168963 * Timm * (+40)
14:27:39 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=169412&oldid=169411 * Timm * (+50)
14:31:02 <esolangs> [[Cat do end]] N https://esolangs.org/w/index.php?oldid=169413 * Timm * (+829) Created page with " CatDo: name of cat start the cat all code executes in cats :End stop the cat can new run ex: CatDo: fur :End CatDo: fur :End same cat same remember meu|text| prints text cat = 42 cat remember 42 c.name get memory from other cats c.name = 42 cat nam
14:31:14 <esolangs> [[ByteByteIfJump]] M https://esolangs.org/w/index.php?diff=169414&oldid=169412 * JIT * (-21) fixed
14:31:55 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169415&oldid=168973 * Timm * (+26)
14:33:05 <esolangs> [[Selfermodif]] https://esolangs.org/w/index.php?diff=169416&oldid=169410 * Yayimhere2(school) * (+9) add stub
14:33:27 <esolangs> [[Cat do end]] https://esolangs.org/w/index.php?diff=169417&oldid=169413 * Timm * (-5)
14:34:38 <esolangs> [[Nand1]] https://esolangs.org/w/index.php?diff=169418&oldid=169368 * CraftyBLUE * (-1) fixed critical typo: "Input byte" was spelled as "Output byte"
14:37:23 <esolangs> [[NoQuinebrainfuck]] https://esolangs.org/w/index.php?diff=169419&oldid=164010 * JIT * (+13)
14:58:13 -!- Yayimhere has quit (Ping timeout: 250 seconds).
15:12:57 -!- Yayimhere has joined.
15:19:27 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:40:04 -!- Yayimhere has quit (Quit: Client closed).
15:47:36 -!- tromp has joined.
15:48:49 <esolangs> [[Dipsh!t]] https://esolangs.org/w/index.php?diff=169420&oldid=169275 * HeckYeah100 * (+57)
15:49:46 <esolangs> [[Non]] M https://esolangs.org/w/index.php?diff=169421&oldid=169252 * HeckYeah100 * (+26)
15:50:00 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=169422&oldid=169421 * HeckYeah100 * (+1)
15:50:46 <esolangs> [[Non]] https://esolangs.org/w/index.php?diff=169423&oldid=169422 * HeckYeah100 * (-3386)
15:53:31 <esolangs> [[Non]] M https://esolangs.org/w/index.php?diff=169424&oldid=169423 * HeckYeah100 * (+104)
16:40:31 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=169425&oldid=168605 * Jay * (+5)
16:40:48 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=169426&oldid=169425 * Jay * (-5)
16:57:20 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=169427&oldid=169426 * Corbin * (-156) Clean up some lingering vandalism.
17:01:10 -!- ais523 has joined.
17:23:28 <esolangs> [[Talk:FlipJump]] N https://esolangs.org/w/index.php?oldid=169428 * Yayimhere2(school) * (+214) Created page with "It cant do *every* computation, since its a bounded memory machine, so its not turing complete. --~~~~"
17:29:23 <korvo> I see that Yay has discovered the classic question, "Is C Turing-complete?"
17:30:08 <ais523> korvo: I believe the answer is "yes because the standard doesn't inherently place limits on the length of a file"
17:31:00 <korvo> ais523: I think so. Or yes via unbounded stack, perhaps.
17:31:36 <ais523> so the problem when using unbounded stack to try to prove C TC is that the only way to refer to deeper stack frames is by pointer
17:32:11 <ais523> and It's not immediately obvious that C doesn't limit how many different pointers can exist simultaneously in a program
17:32:44 <ais523> I think, because intptr_t is optional, it may be strictly conforming to have a C implementation that does in fact allow infinitely many different pointers
17:34:04 <ais523> Rust has slightly more guarantees, which leads to fun bugs like this: https://github.com/rust-lang/rust/issues/130388
17:35:33 <sorear> that leads to the other classic question, "does C guarantee Liskov substitutability for numerically equal pointers"; CHERI says no
17:35:53 <ais523> (tl;dr: you can convert a pointer's address to an integer, then compare it to every possible integer, and get a mismatch on all the comparisons)
17:36:29 <ais523> sorear: I think the consensus at this point is no – the standard doesn't require it and the C standards body has mostly been convinced to use an address-exposure provenance model
17:37:15 <sorear> intptr_t is optional but in a non-provenance world you can memcpy pointers, with memcpy being defined as operating on unsigned char[n[
17:37:15 <ais523> the situation with some C compilers is more complex, LLVM doesn't even guarantee substitution of numerically equal *integers* in some cases where they were derived from pointer addresses
17:37:45 <ais523> which at least the Rust people consider a bug
17:37:52 <ais523> * substitutability
17:39:01 <ais523> fwiw, I think there's an increasing consensus along the lines of "whatever memcpy does to copy arbitrary memory around, it isn't using pure integers, and the "unsigned char" that's capable of aliasing any type therefore isn't a pure integer type"
17:39:23 <ais523> C++ and Rust have both added types to represent a memory byte that has possible provenance (std::byte and MaybeUninit<u8> respectively)
17:40:02 <korvo> ais523: We can also refer to older stack using recurrence. I don't think we have to be fancy about it; it's enough to show that it's undecidable whether a C program halts, and a program can always spend infinite time recursing.
17:40:25 <ais523> korvo: how does that get you Turing-completeness rather than just a PDA?
17:40:30 <sorear> Does this mean that memcpy/memmove necessarily has semantics beyond a loop copying std::bytes one at a time?
17:40:45 <korvo> ais523: I assert that we can emulate any Turing machine in C. Hopefully that's not a tough sell.
17:41:06 <esolangs> [[Needle]] https://esolangs.org/w/index.php?diff=169429&oldid=163625 * ChuckEsoteric08 * (+184) /* Computational class */ Added translation for halting
17:41:29 <ais523> OK, so Rust's view of this (which I disagree with) is that the provenance of a pointer is somehow attached to the individual bytes of it, if you use the same bytes in the same order (and copy them with only provenance-aware operations) you will get the same pointer back with the same provenance, if you rearrange the bytes or combine bytes from different pointers you have no useful provenance
17:41:47 <ais523> (that was a reply to sorear)
17:41:49 <sorear> personally I don't feel the need to distinguish between Turing-complete and EXPSPACE-complete for practical purposes
17:42:18 <korvo> ais523: Or, more aggressively, I assert that we can encode a Diophantine search using structural recursion only. I think that folks get caught up on the idea that an infinite TM tape has to correspond to some specific C data structure in memory.
17:43:10 <ais523> korvo: doesn't that require an unlimitedly large "heap" (specifically, "area from which the memory allocation functions allocate", doesn't have to be an actual heap) to exist?
17:43:28 <ais523> otherwise you can't create the structures to recurse over
17:43:45 <sorear> structures or arbitrarily large integers?
17:43:55 <korvo> ais523: I don't think so? It only needs an infinitely large stack. We can exit() when we find a solution, and we can encode any particular Diophantine search's finite row of variables as finitely many arguments to each procedure call.
17:44:12 <ais523> sorear: I'm not sure there's any distinction in C, because it lets you run sizeof on anything including integer types
17:44:29 <korvo> Like, I'm not imagining something which runs successfully on Linux.
17:44:41 <ais523> korvo: but I can implement this on a push-down automaton, so it can't be TC
17:45:19 <sorear> MRDP-type equations have _very_ large solutions...
17:45:50 <korvo> ...at which point we need someplace to store them, and so the heap is relevant. Okay, I see.
17:45:50 <ais523> unless you allow either a) the variables to be arbitrarily large, or b) the variables to be pointers that provide access to potentially arbitrarily large structures
17:46:41 <esolangs> [[Formin]] https://esolangs.org/w/index.php?diff=169430&oldid=167669 * Yayimhere2(school) * (-85) /* External links */ delete/replace non existent categories
17:46:52 <esolangs> [[Formin]] https://esolangs.org/w/index.php?diff=169431&oldid=169430 * Yayimhere2(school) * (-66) /* External links */
17:47:18 -!- b_jonas has joined.
17:47:41 <ais523> fwiw I am increasingly thinking that the "bytes have provenance" model is wrong for programming in general (it is of course correct for CHERI) – I do think that provenance *exists* and is important, but am not convinced that it attaches to individual bytes of memory
17:47:58 <ais523> or, well, it's correct for CHERI only if you copy a word at a time rather than a byte at a time
17:49:20 <korvo> Provenance is a social construction. We have to choose to attach it to each bytestring.
17:50:28 <korvo> The reason that we're pressured to say that it physically exists is because lawyers think that it physically exists. There's a great Moglen essay about this: https://moglen.law.columbia.edu/publications/anarchism.html
17:51:10 <esolangs> [[Intermediate language]] https://esolangs.org/w/index.php?diff=169432&oldid=169381 * ChuckEsoteric08 * (+179) /* Some examples in alphabetical order */
17:51:26 <ais523> korvo: I'm actually increasingly coming to think that (from the programming, not social, point of view) there are actually two or three different forms of provenance that attach to individual pointers
17:52:10 <ais523> which allocation/object the target belongs to, what accesses are allowed through the pointer, and what the aliasing rules of the pointer are
17:52:30 -!- joast has quit (Quit: Leaving.).
17:53:14 <ais523> (the second and third might be the same, that's why I'm not sure whether there are two or three)
17:54:02 <ais523> the first is qualitatively different in that if two pointers mismatch on that provenance, they are conceptually unequal even if they have the same address, pointers that mismatch on the other forms of provenance are conceptually pointing to the same thing but not interchangeable
17:54:23 <korvo> Aliasing is definitely its own thing. In cap theory, we traditionally say that caps are copyable; you can alias a pointer as much as you like. But some caps, like physical tokens, are *not* copyable; shouldn't our theory have something to say about that? We usually trivialize it: if you've issued k different caps, you get to spend O(k) time tracking them precisely.
17:54:27 <ais523> * pointers that mismatch only on the other forms of provenance
17:55:37 <korvo> Right. This occurs e.g. in instruction selection; if we have two nodes which share a subnode, but it's actually going to be cheaper to duplicate the subnode and inline it into each parent, then we want the subnodes to be "conceptually unequal" so that they get emitted twice.
17:55:43 <ais523> korvo: so at least this is fairly easy for me to think about because of the pirated-reference thing, my mental model now is "just start with a model where nothing is copyable/sharable and then add pirating", with the only question being about just which operations work on pirated references and which operations need the original
17:56:15 <sorear> what if the problem is that "equality of two pointers" cannot be treated with classical logic
17:56:21 <korvo> It also occurs in E-style network-transparent references. Two refs are only equal if we've *proven* that they're equal, which is expensive enough that the user has to explicitly E.join() refs instead of asking for equality.
17:56:55 <ais523> sorear: well, "equality" on its own is insufficiently well defined, I think you have to talk about what notion of equality you want
17:57:37 <ais523> a lot of miscompiles in Rust are caused by the compiler confusing the various different notions of pointer equality with each other
17:57:44 <korvo> ais523: Oh, that's a fun tangent. Usually we want a cap to be genuinely delegated; if I give you a cryptographic signature then you should be able to take it offline and sign stuff without my knowledge or presence. But if the cap can be revoked then usually that means that you somehow have to signal me before invoking the cap, to double-check that you didn't get revoked already.
17:58:24 <korvo> The bookkeeping of checking for a revokable cap sounds similar to the bookkeeping for pirated references, although I think that you hope to do it at compile time?
17:58:34 <ais523> korvo: right, this is why pirating has a lifetime – Rust enforces lifetimes with a compile-time check, but that doesn't conceptually be a requirement
17:59:06 <ais523> I think of lifetimes conceptually as "the thing that lended can revoke this" and Rust's borrow checker is basically ensuring statically that the program doesn't attempt to use anything after it's been revoked
17:59:17 <ais523> but that check doesn't conceptually have to be static, it just happens to be static in Rust
17:59:55 <ais523> actually, in *unsafe* Rust it is defined as a dynamic check (that causes undefined behaviour if it fails)
18:00:17 <ais523> the exact definition hasn't been nailed down yet but all the proposed deginitions agree on that
18:00:36 <korvo> Yeah, in E it's fully late-bound; a revokable cap includes a non-revokable ref back to the original issuer, and the issuer's local machine has a Boolean flag encapsulated by its own object. Can't decide if it's perfectly sensible or utterly mad.
18:01:53 <korvo> Something like: to run() { return when (def ok := callHomeAndCheck<-()) -> { if (ok) { actuallyRun() } else { throw("sorry, we've been revoked") } } }
18:02:15 <ais523> I guess this sort of logic leaves me concerned about race conditions
18:02:36 <esolangs> [[Formin]] https://esolangs.org/w/index.php?diff=169433&oldid=169431 * * (+29) This seems AI
18:02:37 <ais523> there might be some separate way to prevent them being a problem
18:03:18 <korvo> Sure. More seriously, this is what we'd actually do: to run(x) { return try { callHomeAndCheck<-(x)<-actuallyRun() } catch _ { throw("sorry") } }
18:04:13 <korvo> Promise pipelining tends to have the correct ordering of events. There's a deep thermodynamic reason for that, but also the obvious surface reason: you can't act on objects whose refs you don't have yet.
18:04:30 <sorear> I suspect that Rust lifetimes can be interpreted in a fully linear manner where references aren't so much revoked as passed back up and consumed
18:04:48 <ais523> sorear: this conversation has become very close to what I'm planning for my next blog post
18:05:22 <ais523> the "revoke a lifetime versus consume a reference" distinction is something I've been thinking about a whole lot (especially because I'm pretty sure Rust's current design gets it wrong)
18:05:42 <korvo> I imagine, just from physics intution, that Rust lifetimes are naturally partially ordered? I don't know Rust well enough to know whether lifetimes can be cyclic, or if that even makes sense.
18:06:15 <ais523> lifetimes have an "outlives" relationship which is the inverse of "contained-in", if you have a cycle in that relationship it proves the lifetimes are equal
18:07:16 <korvo> Oh. That's so clean! I continue to not understand Rust haters.
18:10:19 <ais523> I guess this is actually a mathematical relation, not just an informal relationship
18:27:16 <b_jonas> "LLVM doesn't even guarantee substitution of numerically equal *integers* in some cases where they were derived from pointer addresses" => you aren't just referring to the thing where the language sometimes allows you to write an expression that counts as constant expression by language standard but its value isn't actually known at compile time because the address is decided at link time or even
18:27:22 <b_jonas> dynamic link time, right?
18:27:30 -!- msv has joined.
18:32:34 <b_jonas> "yes because the standard doesn't inherently place limits on the length of a file" => so how relevant are files here? is it less cheating if you use standard functions like fopen, fwrite, fread, rewind to access a tape drive with unlimited tape length, because you happen to know that open("/dev/tapedrive1", "r+") behaves that way on the implementation, than if you just call a bunch of custom library
18:32:40 <b_jonas> functions on the implementation that directly let you access unbounded amount of memory?
18:34:59 <ais523> b_jonas: no, was referring to outright bugs in which pointers-converted-to-integers are sometimes optimised by LLVM as though they were the original pointers, then compared lie pointers
18:35:01 <ais523> * like pointers
18:35:20 <ais523> rather than being compared like integers (which they should be, given that they actually are integers)
18:35:59 <ais523> re: files, I was more talking about how a theoretical implementation running with unbounded memory would be allowed to provide that memory to the program without violating the standard
18:36:05 <int-e> hmm is there a deep reason why Debian dropped https://packages.debian.org/bookworm/libpcre3 from trixie, or is it just "it's old"
18:36:42 <ais523> but yes, you could do it with implementation-specific builtins instead, just give them a name that starts with two underscores
18:37:16 <b_jonas> ais523: yes, but the standard also allows the implementation to just provide extra functions in its library. there are some limits on the names and header files but they're not really limiting us.
18:37:26 <b_jonas> yes, what you said
18:37:42 <esolangs> [[Gstvnts]] N https://esolangs.org/w/index.php?oldid=169434 * * (+592) Created page with "'''Gstvnts''' is an [[OISC]] created by [[User:]]. Here's how it works: a b c d command. if (*a > *b+*c) {a=b-c; goto command;} else {a=b+c; goto *d;} Where a is the variable to write to, b and c are the variables/numbers to write data to a, and d is the jump destination. ==T
18:38:50 <strerror> int-e: perhaps because no packages in trixie depend on it
18:39:00 <b_jonas> and it can even be compiler extensions, not just functions, like what you get in a DOS compiler if normal pointers are near pointers but you can access objects outside of one segment, or if normal pointers are far/huge pointers that point into the real mode address space but you can access extended memory
18:39:52 <b_jonas> of course those don't give you infinite memory, and you can even run into very real limits, like how most DOS programs won't be able to use more than 64 M of memory even if you emulate them on a modern system that has tons of RAM
18:40:01 <b_jonas> 64 megabytes
18:40:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:40:51 <strerror> BF is TC, so you could just add inline BF as an extension
18:41:06 <esolangs> [[OISC]] https://esolangs.org/w/index.php?diff=169435&oldid=169393 * * (+125) /* List of OISCs */
18:43:06 <strerror> int-e: it looks like Debian recommends upgrading to the newer version, naturally named libpcre2
18:44:05 <int-e> Yeah. This may not be as bad as I thought.
18:47:48 <korvo> Oh, libpcre3 is ABI version 3 of PCRE v1, and libpcre2 is PCRE v2. So not an SDL situation.
18:47:48 <esolangs> [[Gstvnts]] https://esolangs.org/w/index.php?diff=169436&oldid=169434 * * (-40) /* Infinite loop */
18:48:00 <b_jonas> ais523 re "which allocation/object the target belongs to" => incidentally, does this mean that if you want to implement a memory allocator similar to malloc/free in C or C++, and want to allow the compiler to optimize using the rule that you can't access one allocation from another using pointer arithmetic, you need a non-standard compiler feature like a gcc attribute?
18:48:32 <ais523> b_jonas: I think so – actually I've been complaining about a similar situation in Rust over the last few days
18:48:58 <b_jonas> I see
18:49:09 <korvo> b_jonas: Yes. Or, if we think of e.g. file descriptors as caps, then it matters which UID/GID the cap was allocated under, which Linux admin cap flags it has set, etc.
18:49:51 <b_jonas> korvo: I don't get the context, is that for me?
18:50:11 <ais523> this also affects "retrofit memory-safety onto C" implementations that don't implement automatic narrowing of capability scopes (and in a different way affects implementations that do, in that it will end up breaking many "manually implemented memory allocators" if they try to access their own metadata through the pointer that's being deallocated)
18:50:28 <int-e> strerror: fine, they win: https://github.com/lambdabot/lambdabot/blob/libera/patches/misfortune-0.1.2.1.patch -- could be worse
18:50:36 <korvo> Linux UIDs are "virtual" in a very specific sense: they pretend that there's a gap between different users, but everybody's actually colocated, so a central controller can manage all of the different relationships and revokation isn't actually a remote action. There's a parallel with e.g. k8s having "virtual" clusters with Namespaces.
18:50:43 <b_jonas> I don't think file descriptors carry that kind of information. files do, but file descriptors have much fewer bits.
18:51:06 <int-e> (fortunately somebody already created the bindings)
18:52:48 <korvo> b_jonas: They definitely have some context which acts as a provenance. It's ambient whether an integer happens to represent a valid descriptor, just like whether it's a valid pointer. But when it does, there's a kernel struct that has some of that information.
18:53:59 <korvo> I'm just explaining why provenance matters locally; it's how we emulate the unknowability of remote resources and create a uniform security model from the gaps between those resources.
18:54:18 <korvo> ...Sorry, that sounds like salad. I should go do something else.
18:55:17 -!- tromp has joined.
18:56:35 <b_jonas> korvo: I mean the file descriptors don't carry anything like an UID/GID specifically. the UID/GID and similar of the process is checked to the UID/GID and permissions when you create the file descriptor, and after that all the file descriptor just carries one of the open modes that tell what you can do with that descriptor like O_RDONLY, O_WRONLY, O_RDWR (there are a bunch of more exotic ones), plus a
18:56:41 <b_jonas> few weird magic permission bits like whether it's append-only, whether it's your controlling terminal, etc.
18:59:36 <b_jonas> and you can retreive most of that info with system calls like fcntl, getsockopt. the only hard part is finding out which two descriptors refer to the same file description, which is hard to do without cooperation of the file descriptor's users.
19:02:08 <korvo> b_jonas: You're right. For some reason, I had thought that Linux's file_struct had UID and GID attached, set when the descriptor was created.
19:02:45 <ais523> io_uring lets you write a file descriptor that's tied to a specific io_uring instance
19:02:54 <korvo> With the appropriate CONFIG, Linux *does* have fown_struct attached to each descriptor, which has a UID and EUID, but that's apparently for specific security modules: https://docs.huihoo.com/doxygen/linux/kernel/3.7/structfown__struct.html
19:02:58 <ais523> but that isn't intended for security, but rather for performance because it means that less locking is needed
19:04:37 -!- ais523 has quit (Quit: quit).
19:05:05 -!- amby has joined.
19:20:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:23:50 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169437&oldid=169376 * Ractangle * (+1291)
19:26:42 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169438&oldid=169437 * Ractangle * (+23) /* Simulating a Minsky machine */
19:28:55 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:28:56 -!- Lord_of_Life_ has joined.
19:31:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:31:44 <int-e> LOL what an idiotic failure: Install dictd, then install 5 dictionaries at once... and run into an error because systemd thinks that the service is restarting too frequently?!
19:34:18 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169439&oldid=169438 * Ractangle * (-7) /* Simulating a Minsky machine */
19:35:53 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169440&oldid=169439 * Ractangle * (-694) /* Computational Class */
19:39:00 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169441&oldid=169440 * Ractangle * (+19) /* Computational Class */
19:39:12 <int-e> Oh it was 6, not 5: https://paste.debian.net/1410888/
19:44:13 <fizzie> On libpcre and its package names, I just recently saw something particularly ridonkulous in Debian package names, let's see if I could recall what it was.
19:46:03 <fizzie> Oh yes, it was libzmq. The runtime library package is named `libzmq5`, the *corresponding* development package for it is named `libzmq3-dev`, and the actual (upstream) version of the library is 4.3.5.
19:46:29 <fizzie> I'm sure there's a rational process that led to this situation, which I didn't bother to look up.
19:47:56 <fizzie> (Oh, and the source package that generates those two binary packages is named `zeromq3`, which at least matches one of them.)
19:47:56 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169442&oldid=169441 * Ractangle * (+106) /* Computational Class */
20:08:32 -!- Sgeo has joined.
20:15:34 <sorear> we've been on libc6 version 2.x for (looks at changelog) 26 years
20:50:37 <APic> G'Night
21:15:59 <zzo38> If a Magic: the Gathering card says "Sacrifice target permanent: You gain 3 life." then how would you expect it to work? I would expect that the target is no longer valid when it is time to resolve (unless something changes the target), so you would not gain 3 life. Although a permanent you do not control is a valid target, you would not be able to pay the cost in that case.
21:41:29 -!- ais523 has joined.
21:46:10 -!- recook has joined.
21:46:34 -!- recook has left.
21:49:08 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169443&oldid=169442 * Ractangle * (+2) minor fix
21:49:20 -!- tromp has joined.
22:05:01 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169444&oldid=169352 * NTMDev * (+154) /* List Utilities */
22:05:39 <ais523> zzo38: my guess is that the Magic templating team intentionally don't word costs like that, so that the question never comes up
22:05:58 <ais523> it's like a legalistically-written document version of undefined behaviour
22:06:45 <b_jonas> and when they write confusing wording then they usually add reminder text or a judgement into the set FAQ
22:07:18 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169445&oldid=169443 * Ractangle * (-8) I just realised that it's the OUT command prints the registry and not the tos
22:07:19 <b_jonas> or if a wording becomes confusing because of later rule changes then they errata the text or errata in reminder text
22:07:21 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169446&oldid=169444 * NTMDev * (+192) /* Sort */
22:11:17 <b_jonas> besides the problem with the target being valid, I think they would also never write "sacrifice target permanent" in an effect (rather than a cost), they'd either write "sacrifice target permanent you control", or write "target permanent's controller sacrifices it"
22:11:32 <b_jonas> so there's like double the confusion
22:14:34 <ais523> b_jonas: they recently changed the template for edicts to "target opponent sacrifices a creature they control of their choice"
22:14:42 <ais523> which I think supports your theory
22:16:58 <zzo38> I know Wizards of the Coast does not write things like I mentioned (they do not put targets in costs, probably because of the confusion), but I was trying to see what it would be if it was like I wrote.
22:22:02 <ais523> I always find it interesting when people interact with esolangs in a way other than what the author intended
22:22:31 <ais523> just treating Magic as an esolang in the first place is that kind of interaction, I think – but trying to combine the rules in ways they were never intended to be combined is another
22:23:31 <ais523> I remember when Keymaker wrote a quine in Acyclic Tag, and writing quines is basically unrelated to the idea behind / purpose of the language, so I was surprised
22:23:47 <ais523> (especially given the nature of tag systems, which you wouldn't really expect to be a good choice for writing quines in)
22:24:11 <b_jonas> ais523: funnily there's a difference here. Wizards doesn't write rules text that would often make you sacrifice a permanent that someone else controls, like "sacrifice target permanent", but they do write text that would instruct you to do that in rare cases, like when the controller of the permanent changes the permanent in response to a trigger. the rules say that the sacrifice just doesn't happen in
22:24:17 <b_jonas> that case. meanwhile,
22:25:55 <ais523> Yu-Gi-Oh! has a couple of cards that explicitly use the opponent's monstesr to pay costs that you can normally pay only with your own monsters, e.g. https://yugipedia.com/wiki/Soul_Exchange and https://yugipedia.com/wiki/Underworld_Goddess_of_the_Closed_World
22:25:59 <ais523> * monsters
22:27:14 <ais523> unlike in Magic, tributing an opponent's monster or using it as material works if a card explicitly instructs you to do that
22:27:45 <b_jonas> Wizrds doesn't write rules text that would often make you put an object into a hand or library or graveyard of a player other than the object's owner, but they can write rules text that would rarely result in that. but I think when the rules instruct you to do that, the object moves into its owner's hand or library or graveyard instead.
22:28:35 <ais523> yu-gi-oh also has a rule like that but rules text is written to trigger it stupidly often
22:29:07 <ais523> like, cards say the equivalent of "return that card to its owner's hand" when 99% of the time it'll be used to put a card back into the extra deck (because it's a sort of card that can't exist in a hand)
22:29:59 <ais523> oddly, yu-gi-oh rules do allow a card to exist in its owner's opponent's hand (although mostly not in any of the other hidden zones belonging to the opponent, apart from that one card that gets shuffled into the opponent's deck face up which is generally considered a mistake)
22:30:45 <ais523> I spent a couple of years learning yugioh in an attempt to prove it TC
22:30:57 <b_jonas> hehe
22:31:29 <ais523> I currently think that it probably is, but don't have a stable proof, and it needs more assumptions than Magic does (in Magic you can prove TCness with player choices being irrelevant, in Yugioh I think you need the "players do not make choices that would obviously lose them the game" that I used for Netrunner)
22:31:39 <strerror> sorear: and TeX 3.14159 for three decades now
22:38:24 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169447&oldid=169347 * Buckets * (+17)
22:38:55 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169448&oldid=169405 * Buckets * (+18)
22:39:02 <esolangs> [[Knock knock]] N https://esolangs.org/w/index.php?oldid=169449 * Buckets * (+1175) Created page with "Knock knock Is An Esoteric programming Language created By [[User:Buckets]] in 2020. {| class="wikitable" |- ! Commands !! Instructions |- | Knock! || Go left If the Command to The right is knock!, Else go downwards. |- | Knock || Go downwards Once. |- | knock || Go
22:39:34 <esolangs> [[Knock knock]] M https://esolangs.org/w/index.php?diff=169450&oldid=169449 * Buckets * (-2)
22:42:54 <int-e> @check 1 == 0
22:42:55 <lambdabot> *** Failed! Falsifiable (after 1 test):
22:43:01 <int-e> @check 1 == 1
22:43:04 <lambdabot> +++ OK, passed 100 tests.
22:43:51 <ais523> hmm, so quickcheck doesn't stop early if it's tried every possibility?
22:48:10 <b_jonas> 100 tests for such a simple statement counts as stopping early
22:55:17 <esolangs> [[Nand1]] https://esolangs.org/w/index.php?diff=169451&oldid=169418 * CraftyBLUE * (-53) unset computation class, because I (the creator of the language) don't know it
22:56:47 <strerror> @check \x -> x || not x
22:56:49 <lambdabot> +++ OK, passed 100 tests.
22:57:52 <int-e> @check \a b c d e -> even (a * b * c * d * e)
22:57:54 <lambdabot> *** Failed! Falsifiable (after 8 tests and 5 shrinks):
22:57:54 <lambdabot> -1 -5 -7 -3 3
22:58:46 -!- joast has joined.
23:02:41 <strerror> Actually quickcheck might be sampling with replacement, so 100 cases might not be enough to cover n < 100 values
23:03:26 <int-e> without replacement you wouldn't be able to get 100 tests for 1 == 1
23:03:58 <int-e> so yes, that command should fail to find a counterexample from time to time
23:07:53 <ais523> @check \a -> a != 123456789
23:07:54 <lambdabot> error:
23:07:54 <lambdabot> • Variable not in scope: (!=) :: t0 -> t2 -> t1 • Perhaps you meant one of t...
23:08:03 <ais523> @check \a -> not (a == 123456789)
23:08:06 <lambdabot> +++ OK, passed 100 tests.
23:08:09 <int-e> ais523: it's /=
23:08:24 <ais523> int-e: I thought I would just have had the name wrong
23:08:58 <int-e> I can see how adding `not` is the path of least resistance :)
23:10:23 <ais523> recently I was working on an algorithm which had a codepath that was only used 1 in 2³² of the time
23:11:17 <ais523> which was especially interesting because it was effectively operating on random numbers (not quite random but there were highly arbitrary constants involved which would affect when the codepath was taken)
23:15:42 <sorear> bignum carry chains...
23:16:53 <int-e> Somebody mentioned something like this on #crypto recently.
23:17:35 <int-e> (in some contexts a failure to carry carries can completely break a cryptographic system)
23:17:53 <int-e> (as in, enable private key recovery)
23:19:37 <sorear> actually pretty common because of how the proofs work for rabin, sigma protocols, etc
23:20:17 <ais523> this was a double-carry when adding two large numbers and one small one
23:20:33 <sorear> "this is as hard as private key recovery because if you can perform a private key operation in two different ways you have the private key" well uh something went wrong and the private key operation happened in two ways, now what?
23:20:46 <b_jonas> I think rare code paths are normal. My code has a lot that should never run, in there in case I made a mistake or make a mistake in the future when changing the code.
23:21:13 <ais523> I feel like code paths that never run are qualitatively different from code paths that run extremely rarely in normal operation
23:21:40 <ais523> …even though the odds of "this codepath should never run" codepaths actually running due to a programmer mistake are higher than 1 in 4 billion, those odds don't compound every time the piece of code is used
23:21:56 <b_jonas> yeah
23:25:36 <b_jonas> for a lot of the code paths I don't know how often they'll run or if they'll ever run, because the data comes from external sources where I don't have a good guess on their distribution
23:45:22 <esolangs> [[$ESOLANG]] https://esolangs.org/w/index.php?diff=169452&oldid=160803 * * (+1)
2025-11-28
00:02:24 -!- lambdabot has quit (Quit: Wee!).
00:06:16 -!- lambdabot has joined.
00:06:35 <int-e> > [1..3]
00:06:37 <lambdabot> [1,2,3]
00:06:56 <ais523> > [1.0..3.5]
00:06:57 <lambdabot> [1.0,2.0,3.0,4.0]
00:07:11 <ais523> OK, I wasn't expecting that outcome
00:07:32 <ais523> (was expecting it either to stop at 3.0 or continue indefinitely)
00:10:44 <int-e> ais523: IIUC the rationale was that [0.1..0.7] is supposed to produce [0.1,0.2,0.3,0.4,0.5,0.6,0.7] despite 7 * 0.1 <= 0.7
00:11:05 <int-e> so the instances do rounding
00:11:09 <ais523> int-e: but what if you do it with a float that rounds in the other direction?
00:11:15 <int-e> I don't think it's a *good* choice
00:11:49 <int-e> ais523: it's "optimized" for the case that the upper bound is "exact" (but rounded)
00:12:18 <int-e> Anyway, let me finish what I was doing...
00:13:06 <ais523> > [0.0, 72057594037927936.0 .. 720575940379279360.0]
00:13:07 <lambdabot> [0.0,7.205759403792794e16,1.4411518807585587e17,2.161727821137838e17,2.88230...
00:13:36 <int-e> ais523: it's floating point, a lot of things will go horribly wrong ;-)
00:14:11 <ais523> > [0.0, 72057594037927936.0 .. 216172782113783814.0]
00:14:12 <lambdabot> [0.0,7.205759403792794e16,1.4411518807585587e17,2.161727821137838e17]
00:14:31 <sorear> there is a definition in the report...
00:14:39 <ais523> > [0.0, 72057594037927937.0 .. 216172782113783817.0]
00:14:41 <lambdabot> [0.0,7.205759403792794e16,1.4411518807585587e17,2.161727821137838e17]
00:14:48 <ais523> > [0.0, 72057594037927935.0 .. 216172782113783811.0]
00:14:50 <lambdabot> [0.0,7.205759403792794e16,1.4411518807585587e17,2.161727821137838e17]
00:15:15 <ais523> oh, this doesn't work with 3 elements because the rounding errors don't compound enough, the inputs are equal as floats in all three cases
00:15:31 <ais523> need a longer array to test it properly
00:20:16 <int-e> @metar lowi
00:20:16 <lambdabot> METAR LOWI 272350Z AUTO VRB01KT 9999 BKN007 M04/M06 Q1026
00:20:25 <int-e> @oeis 1,2,3,5,8,13
00:20:25 <lambdabot> Sequence not found.
00:20:27 <int-e> (sadly)
00:20:40 <int-e> (it does HTTPS but runs into a Cloudflare challenge)
00:22:39 <b_jonas> perlbot oeis 1,2,3,5,8,13
00:22:40 <perlbot> b_jonas: http://oeis.org/searchs?q=1%2C2%2C3%2C5%2C8%2C13 A000045(1/249) Fibonacci numbers: F(n) = F(n-1) + F(n-2) with F(0) = 0 and F(1) = 1.: 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,10233... [Output truncated. Use `more` to read more]
00:22:55 <b_jonas> perlbot oeis_r 1,2,3,5,8,13
00:23:00 <perlbot> b_jonas: A000045 Fibonacci numbers: F(n) = F(n-1) + F(n-2) with F(0) = 0 and F(1) = 1. (Formerly M0692 N0256)0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155
00:24:25 <b_jonas> I wrote oeis_r in a way where it should be able to distinguish errors from no match found
00:24:49 <b_jonas> so you shouldn't just get a no match when it's actually a Cloudfare challenge or whatever error
00:27:31 <int-e> Sure, it could complain about the reply not being in the expected format.
00:27:57 <int-e> But I won't bother.
00:28:02 <ais523> now I'm disappointed that lambdabot isn't following "sequence not found" with random insults
00:28:24 <int-e> the random insults are only for mispelt commands
00:28:55 <int-e> Anyway. It did actually fix @metar at least.
00:49:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
00:58:31 -!- Sgeo has quit (Read error: Connection reset by peer).
01:01:45 <esolangs> [[XO Mchne]] https://esolangs.org/w/index.php?diff=169453&oldid=126015 * None1 * (+12)
01:02:25 <esolangs> [[XO Mchne]] M https://esolangs.org/w/index.php?diff=169454&oldid=169453 * None1 * (+7)
01:34:13 -!- Sgeo has joined.
01:46:08 -!- lambdabot has quit (Quit: Will there be a rubber tree at the bottom of this cliff?).
01:47:23 -!- lambdabot has joined.
01:48:10 <int-e> @oeis 1,2,3,5,8,13
01:48:10 <lambdabot> https://oeis.org/A000045 Fibonacci numbers: F(n) = F(n-1) + F(n-2) with F(0)...
01:48:10 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,...
01:48:18 <int-e> well, that's so silly
01:49:00 <int-e> b_jonas: the "fix": https://github.com/lambdabot/lambdabot/blob/libera/patches/oeis-0.3.10.1.patch
01:50:27 <int-e> (no I didn't add anything that would distinguish "no result" and "html mess with heavily obfuscated JS"
01:50:30 <int-e> )
01:50:52 <int-e> Oh and why is the MagicHash still there, lol
01:52:25 <ais523> int-e: the AIscraperbots mostly pretend to be browsers, so giving a useragent that obviously isn't a browser is often enough to be allowed through
01:53:03 <int-e> ais523: It's just funny that no user agent at all, or a user agent that looks like curl, both run into the challenge. Understandable, maybe.
01:53:06 <int-e> But funny.
01:53:42 <int-e> TBH I'm happy that I thought to try this :)
01:54:09 <int-e> Even though it obviously depends on the whims of CF.
01:56:28 <int-e> Anyway. It took some time but in the end this move of lambdabot has gone fairly smoothly. :)
01:58:32 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
02:02:25 -!- Lord_of_Life has joined.
02:03:50 <ais523> int-e: it wouldn't surprise me if the AI scraperbots were vibecoded and didn't even think of setting a useragent
02:04:50 -!- Lord_of_Life has quit (Excess Flood).
02:08:52 <int-e> ais523: Anyway, it still *feels* silly :P
02:09:16 <ais523> int-e: it may be a sensible response to a silly situation
02:09:26 <ais523> I agree that silliness must be involved somewhere, though
02:09:39 <int-e> and stupidity
02:09:50 <int-e> it's not like those scrapers produce anything of value
02:10:10 <int-e> though there's a lot of money riding on it
02:10:16 <int-e> adding another level of stupidity
02:10:56 <ais523> int-e: my guess is that the scrapers are selling the scraped data, in which case the volume of data scraped may be more valuable to them than any detail of the data
02:15:38 -!- 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).
02:27:33 <int-e> @list dict
02:27:33 <lambdabot> dict provides: dict-help all-dicts bouvier cide devils easton elements foldoc gazetteer hitchcock jargon thesaurus vera wn world02
02:27:38 <int-e> half of these are still missing
02:28:07 <int-e> @devils lawyer
02:28:08 <lambdabot> *** "lawyer" devil "The Devil's Dictionary (1881-1906)"
02:28:08 <lambdabot> LAWYER, n. One skilled in circumvention of the law.
02:28:08 <lambdabot>
02:28:24 <int-e> but the most important one is there. (hmm, why the empty line... is that new?)
02:39:06 <int-e> @wn swallow
02:39:07 <lambdabot> *** "swallow" wn "WordNet (r) 3.0 (2006)"
02:39:07 <lambdabot> swallow
02:39:07 <lambdabot> n 1: a small amount of liquid food; "a sup of ale" [syn:
02:39:07 <lambdabot> {swallow}, {sup}]
02:39:07 <lambdabot> 2: the act of swallowing; "one swallow of the liquid was
02:39:09 <lambdabot> [24 @more lines]
02:40:33 <esolangs> [[User talk:Waffelz]] https://esolangs.org/w/index.php?diff=169455&oldid=169364 * Waffelz * (+121)
02:41:38 <esolangs> [[User talk:Waffelz]] https://esolangs.org/w/index.php?diff=169456&oldid=169455 * Waffelz * (+143)
02:47:55 -!- Lord_of_Life has joined.
03:26:50 <int-e> I guess half of those dictionaries have "always" been missing (i.e. I never figure out where they came from)
03:27:20 <int-e> @vera GPU
03:27:21 <lambdabot> *** "gpu" vera "V.E.R.A. -- Virtual Entity of Relevant Acronyms (February 2016)"
03:27:21 <lambdabot> GPU
03:27:21 <lambdabot> Graphics Processing Unit
03:27:21 <lambdabot>
03:30:56 <int-e> @foldoc semaphore
03:30:57 <lambdabot> *** "semaphore" foldoc "The Free On-line Dictionary of Computing (30 December 2018)"
03:30:58 <lambdabot> semaphore
03:30:58 <lambdabot>
03:30:58 <lambdabot> <programming, operating system> The classic method for
03:30:58 <lambdabot> restricting access to shared resources (e.g. storage) in a
03:30:59 <lambdabot> [48 @more lines]
03:31:21 <int-e> probably good enough
04:20:00 -!- lynndotpy6093 has quit (Quit: bye bye).
04:21:04 -!- lynndotpy6093 has joined.
05:34:53 <esolangs> [[User talk:Waffelz]] https://esolangs.org/w/index.php?diff=169457&oldid=169456 * Waffelz * (-21)
05:36:56 <esolangs> [[Unfill]] N https://esolangs.org/w/index.php?oldid=169458 * Yayimhere2(school) * (+2096) Created page with "'''Unfill''' is an esolang devised by [[User:Yayimhere]], purely to have a visual style similar to <code>(___;___)</code>. It is also made to be a very separated esolang, as in, it has multiple systems that do not easily interact, however this is not intention
06:08:57 -!- Guest38_ has joined.
06:10:16 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169459&oldid=169369 * Waffelz * (-1689)
06:10:44 <esolangs> [[User talk:Yayimhere]] https://esolangs.org/w/index.php?diff=169460&oldid=166599 * Waffelz * (+1146)
06:11:28 <esolangs> [[Talk:3 Bits, 1.5 Bytes]] https://esolangs.org/w/index.php?diff=169461&oldid=169298 * MihaiEso * (+304)
07:06:54 -!- Guest38_ has quit (Quit: Textual IRC Client: www.textualapp.com).
07:20:35 -!- pool has quit (Ping timeout: 240 seconds).
07:25:40 -!- Guest38 has joined.
07:30:16 <esolangs> [[Unfill]] https://esolangs.org/w/index.php?diff=169462&oldid=169458 * Yayimhere2(school) * (+43)
07:34:26 <esolangs> [[Unfill]] https://esolangs.org/w/index.php?diff=169463&oldid=169462 * Yayimhere2(school) * (+164)
07:36:08 <esolangs> [[Special:Log/move]] move * Yayimhere2(school) * moved [[Unfill]] to [[Yuontlitled]]
07:36:18 <esolangs> [[Unfill]] https://esolangs.org/w/index.php?diff=169466&oldid=169465 * Yayimhere2(school) * (-25) Blanked the page
07:40:01 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169467&oldid=169464 * Yayimhere2(school) * (+106)
07:40:32 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=169468&oldid=169372 * Yayimhere2(school) * (+18)
07:42:50 <esolangs> [[0134]] https://esolangs.org/w/index.php?diff=169469&oldid=167490 * Yayimhere2(school) * (-6) /* syntax */
07:57:18 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=169470&oldid=167690 * Yayimhere2(school) * (+2) /* The copying rule */ correct a mistake
07:57:28 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=169471&oldid=169470 * Yayimhere2(school) * (-1) /* Halting */
07:59:09 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=169472&oldid=169471 * Yayimhere2(school) * (+1) /* example programs */
08:05:01 -!- ais523 has quit (Quit: quit).
08:23:04 -!- tromp has joined.
08:29:17 <esolangs> [[4ByteJump]] N https://esolangs.org/w/index.php?oldid=169473 * Timm * (+132) Created page with "like [[ByteByteIfJump]] but have extra byte of jump if else not true Ab Bb Cc Dj Ej [[Category:OISC]] [[Category:Self-modifying]]"
08:30:18 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=169474&oldid=169414 * Timm * (+24)
08:31:18 -!- chomwitt_alt has quit (Read error: Connection reset by peer).
08:31:42 -!- chomwitt has joined.
08:36:22 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169475&oldid=169415 * Timm * (+3)
08:50:42 -!- Guest38 has quit (Quit: Textual IRC Client: www.textualapp.com).
09:04:18 <esolangs> [[.chat]] https://esolangs.org/w/index.php?diff=169476&oldid=166392 * Yayimhere2(school) * (+145) /* Commands */
09:05:13 <b_jonas> int-e: ah, that sounds entirely believable. Wikimedia tech announced a few months ago that if you use api.php they'll be more aggressive in denying queries with no User-Agent header.
09:05:41 <b_jonas> and perlbot's get builtin uses a user-agent, a fixed one built into that plugin
09:08:02 <b_jonas> int-e: the scraperbots produce value, but only in a perverse way: they make other people to get scared that some of their belved websites might disappear because of them, so some of those people will download the websites and makes local copies, when they'd otherwise just rely on the site being always online, I count that as a small win
09:10:28 <b_jonas> I guess it's "producing value" as in the car breakins produce the value that people got very fed up and eventually chose a government that can punish thefts and fencing illegal goods
09:11:17 <b_jonas> so more like there's a silver lining than producing value
09:11:35 <b_jonas> I should also download more websites
09:13:28 -!- chomwitt has quit (Ping timeout: 260 seconds).
09:13:42 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
09:13:42 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
09:18:49 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:19:48 -!- simcop2387 has joined.
09:21:58 -!- perlbot has joined.
09:47:57 <esolangs> [[Talk:4gn/]] https://esolangs.org/w/index.php?diff=169477&oldid=155725 * JIT * (+286) /* Computational class? */ new section
09:50:45 <esolangs> [[User:JIT]] M https://esolangs.org/w/index.php?diff=169478&oldid=166610 * JIT * (+114)
09:54:52 <esolangs> [[Special:Log/upload]] overwrite * JIT * uploaded a new version of "[[File:Nothing-suspicious.png]]": fixed minor error
09:59:13 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169480&oldid=169467 * Yayimhere2(school) * (+2) /* Syntax and memory */
09:59:39 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169481&oldid=169480 * Yayimhere2(school) * (-3) /* Syntax and memory */
10:02:30 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169482&oldid=169481 * Yayimhere2(school) * (+3) /* Syntax and memory */
10:27:57 <esolangs> [[Minimal assembly language]] https://esolangs.org/w/index.php?diff=169483&oldid=99075 * Yayimhere2(school) * (-29) /* External resources */ blablabla there's no proof of TC-ness, so im gonna take thew tag.
10:29:37 -!- Sgeo has quit (Read error: Connection reset by peer).
10:32:36 <APic> Hi
10:46:07 -!- APic has quit (Ping timeout: 255 seconds).
10:48:17 -!- APic has joined.
10:55:20 <esolangs> [[Goto tag]] N https://esolangs.org/w/index.php?oldid=169484 * Yayimhere2(school) * (+1080) Created page with "'''Goto tag''' is a minimal esoteric programming language created by [[User:Yayimhere]], because she had begun to get unsatisfied by [[TLQ]]. Goto tag is a sort of [[BCT|Self-BCT]] tag system, however is in her opinion more interesting == Semantics == Every
11:08:54 <esolangs> [[Talk:4gn/]] https://esolangs.org/w/index.php?diff=169485&oldid=169477 * I am islptng * (+264) /* Computational class? */
11:17:26 <esolangs> [[Goto tag]] https://esolangs.org/w/index.php?diff=169486&oldid=169484 * Yayimhere2(school) * (+34) /* Semantics */
11:17:53 <esolangs> [[Goto tag]] https://esolangs.org/w/index.php?diff=169487&oldid=169486 * Yayimhere2(school) * (+42) /* Syntax */
11:18:36 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=169488&oldid=169468 * Yayimhere2(school) * (+15) /* esolangs */
11:25:00 <esolangs> [[Infinite Goto]] https://esolangs.org/w/index.php?diff=169489&oldid=168084 * Yayimhere2(school) * (-15) /* See also */ add Goto tag
11:26:36 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169490&oldid=75035 * Yayimhere2(school) * (-32) /* External resources */ it isnt rlly proven to be a PDA, and also, you can reach down infinitely in the stack(since its the program) so like... its more powerful than a PDA?
11:28:13 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169491&oldid=146990 * Yayimhere2(school) * (+10) /* Computational class */ since we dont know, add a most likely
11:56:30 -!- tromp has joined.
12:00:31 -!- amby has joined.
12:04:50 <esolangs> [[Talk:4gn/]] https://esolangs.org/w/index.php?diff=169492&oldid=169485 * None1 * (+318) /* Computational class? */
12:17:58 <esolangs> [[StackPoint]] https://esolangs.org/w/index.php?diff=169493&oldid=108979 * ChuckEsoteric08 * (+24) Updated link
12:39:29 -!- msv has quit (Remote host closed the connection).
12:45:33 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=169494 * Hammy * (+1648) Created page with " is an esolang by [[User:Hammy]] that has one purpose: to have every unicode arrow be a command. <blockquote> "A language where flow control, assignment, calculation and basically everything is done using unicode arrows" [[List of ideas#Looks Like]] </blockquote> ==Commands==
13:06:14 <esolangs> [[Bitwise Cyclic Tag]] https://esolangs.org/w/index.php?diff=169495&oldid=169386 * Olus2000 * (+308) /* Self BCT */ extend example to illustrate an edge case
13:34:21 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=169496&oldid=169196 * Hotcrystal0 * (-90)
13:42:55 <esolangs> [[Oxen]] N https://esolangs.org/w/index.php?oldid=169497 * None1 * (+1900) Created page with "{{lowercase}} '''oxen''' is an esolang invented by [[User:None1]]. ==Memory== Three accumulators: A, B and C are used. They contain unbounded unsigned integers. At first, A is 1, B and C are 0. ==Commands== oxen has the following 4 commands (case sensitive). {| class="wikita
13:43:14 <esolangs> [[Oxen]] M https://esolangs.org/w/index.php?diff=169498&oldid=169497 * None1 * (+3) /* Commands */
13:43:53 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169499&oldid=169448 * None1 * (+11) /* O */
13:45:09 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=169500&oldid=169395 * None1 * (+74) /* My Esolangs */
13:45:17 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169501&oldid=169499 * None1 * (+0) /* O */
13:47:09 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=169502&oldid=169500 * None1 * (+0) /* My Esolangs */
13:49:18 <esolangs> [[Oxen]] M https://esolangs.org/w/index.php?diff=169503&oldid=169498 * None1 * (+1) /* Computational class */
13:50:33 <esolangs> [[Oxen]] https://esolangs.org/w/index.php?diff=169504&oldid=169503 * None1 * (+47) /* Computational class */
14:12:20 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=169505&oldid=167772 * Yayimhere2(school) * (-46) /* Turing completeness proof */
14:23:21 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=169506&oldid=167843 * Yayimhere2(school) * (-255)
14:23:45 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=169507&oldid=168644 * Yayimhere2(school) * (+42) /* A tree of all the languages */
14:25:14 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169508&oldid=169490 * PkmnQ * (+2031)
14:37:03 <esolangs> [[Talk:8ial]] https://esolangs.org/w/index.php?diff=169509&oldid=169118 * Yayimhere2(school) * (+160)
14:49:56 -!- impomatic has joined.
14:57:58 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:05:07 -!- impomatic has quit (Ping timeout: 250 seconds).
15:20:32 -!- msv has joined.
15:27:58 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169510&oldid=169323 * Yayimhere2(school) * (+961) /* Examples */
15:28:14 -!- tromp has joined.
15:33:30 <esolangs> [[Classical logic]] https://esolangs.org/w/index.php?diff=169511&oldid=166007 * BestCoder * (-1) /* Operators */
15:33:46 <esolangs> [[Classical logic]] https://esolangs.org/w/index.php?diff=169512&oldid=169511 * BestCoder * (-35) /* Truth values */
15:47:52 <esolangs> [[Talk:]] N https://esolangs.org/w/index.php?oldid=169513 * * (+110) Created page with "this is my favorite esolang ~~~~"
15:57:59 -!- impomatic has joined.
16:24:25 -!- impomatic has quit (Ping timeout: 250 seconds).
16:41:49 -!- Sgeo has joined.
16:51:31 -!- pool has joined.
16:52:23 -!- pool has quit (Read error: Connection reset by peer).
16:52:48 -!- pool has joined.
17:01:05 <korvo> Revisiting an old sneer, commenting on Arc and Bel by Paul Graham: https://lobste.rs/s/jec21l/thought_leaders_chicken_sexers#c_cdnikr
17:01:35 <korvo> "Don't design a new programming language in vanity. Have a clear problem that you intend to tackle, a niche in which you intend to excel, a way for users to extend the language, a path towards machine implementation, and a compelling connection to existing programming traditions." Could be relevant for our newcomers, if they were amenable to advice.
17:03:38 -!- impomatic has joined.
17:06:54 -!- impomatic has quit (Client Quit).
17:08:41 <korvo> Also found the thread where I said, "Functional programming is a tribe. It's not a school of thought, but a school of behaviors and attitudes towards people." I got bannered for this thread: https://lobste.rs/s/bdaiwc/there_is_no_such_thing_as_functional#c_e9n6gw
17:11:19 <esolangs> [[Talk:8ial]] M https://esolangs.org/w/index.php?diff=169514&oldid=169509 * Ractangle * (+319) /* ??? */
17:13:15 <avih> korvo: no opinion on the 2nd quote, but i like the 1st. problem is that it might not apply to some of the esolangs already, highly likely including bf
17:13:56 <avih> so i don't know how much it can be used as a rule or guideline for esolangs...
17:14:39 <korvo> avih: Oh, for sure. One of the nice things about being esoteric is that we can avoid caring about whether other people use our languages. But I also think that one of the things differentiating what we build from other artlangs and conlangs is that ours are *executable*.
17:14:59 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169515&oldid=169445 * Ractangle * (-13) /* Computational Class */
17:16:00 <korvo> There's a big difference in my own work, for example, between e.g. [[Monte]] and [[Cammy]]. The former was a team project that intended to scale up to Java's niche; the latter is a single-person experiment in minimalism. But both run on my machine and have actively-maintained Nix flakes, too.
17:16:36 <avih> right
17:17:04 <korvo> Also, big lesson learned there: don't compete with Java in any way. Admit to oneself that Java's design is optimized for a certain kind of slop-coding system where you can do anything with One More Class added to a Big Ball of Mud, reread http://laputan.org/mud/ and decide to do something else.
17:17:31 <avih> :)
17:18:58 <korvo> I think my biggest impact at Google was literally adding an abstract factory with some DI signatures and annotations to one of the services I owned, written in Java. My coworkers were horrified that I used vim instead of an IDE. I was horrified that it worked, because I didn't *do* anything; I just wired up existing stuff.
17:20:24 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169516&oldid=169515 * Ractangle * (+87) /* Computational Class */
17:22:28 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169517&oldid=169516 * Ractangle * (-36) /* Computational Class */
17:27:06 <strerror> .oO( BF certainly excels in its niche. It also has possibly more user extensions than any other )
17:29:32 <esolangs> [[Talk:8ial]] https://esolangs.org/w/index.php?diff=169518&oldid=169514 * Yayimhere2(school) * (+15) /* ??? */
17:46:56 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169519&oldid=169494 * Hammy2 * (+363)
17:51:56 <b_jonas> korvo: this "abstract factory with some DI signatures and annotations", is that in Java?
17:53:15 <korvo> b_jonas: It was incredibly Java. So much Java. Google has like three different DI frameworks. There's DI for gRPC, DI for Borg (and presumably now for k8s too), DI for automatically meta-load-balancing between different load-balancer services.
17:54:32 -!- ais523 has joined.
17:59:11 -!- impomatic has joined.
18:07:07 -!- impomatic has quit (Ping timeout: 250 seconds).
18:12:29 <b_jonas>
18:12:37 <b_jonas> I don't know what most of those mean but they sound scary
18:14:17 <b_jonas> meanwhile, I wrote code in python and VBA in this dayjob and I'm scared that my most valuable contributions in the long term will be from the latter
18:14:47 <b_jonas> because a lot of the python ones are unmaintainable messes that nobody but I will use
18:15:11 <ais523> <korvo> Also found the thread where I said, "Functional programming is a tribe. It's not a school of thought, but a school of behaviors and attitudes towards people." ← I'm wondering whether the difference between different programming paradigms is about the symmetries that the programmer thinks about while programming (or that they can exploit to avoid having to think about while programming)
18:15:21 <b_jonas> so like up to now the python ones have had more use, but this may flip over eventually
18:16:10 <korvo> ais523: I think that it's also about how anthropomorphized assumptions can sneak into technical discussions, get laundered memetically, and turn into tribal beliefs about in- and out-groups.
18:16:21 <ais523> a great example from a programming language family that hardly anyone uses nowadays: imagine a function that takes an integer argument, and does some calculations on it, assigns to a global variable, and does some more calculations on it
18:16:38 <b_jonas> so Fortran?
18:16:40 <korvo> Like, to some extent, the difference between tribes is whether they carry certain memes which espouse those differences.
18:16:40 <ais523> in call-by-name languages, the programmer has to worry about the potential that the argument's value might change as a result of the assignment
18:16:59 <ais523> b_jonas: Fortran's call-by-reference, not call-by-name, but I guess the same thing can happen there too
18:17:40 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:17:48 <ais523> there is for sure tribalism *around* paradigms but it doesn't feel to me like a necessarily essential feaure of the paradigms themselves – there's also tribalism around specific languages and editors/IDEs and the like
18:19:35 <korvo> Meh. I was writing a Smalltalk-ish parser yesterday, and looking at the criteria at [[functional paradigm]], I appear to have four out of five; the only one I'm missing is explicit adherence to Lisp, ML, or APL syntax.
18:19:59 <korvo> There just isn't a *there* there, to paraphrase the philosophers of mind.
18:20:58 <korvo> I think that there can be paradigms which don't form tribes. Deep in the thread, I give tiling languages like Wang tiles as an example. But I also admit that perhaps if tiles were more popular than there *would* be cultural opinions which form into big memes.
18:21:23 <ais523> I guess I've suddenly started wondering about symmetries that aid programming thought that *aren't* normally considered paradigms
18:21:42 <ais523> like, object-capabilities seems to be one of them, but I don't think I've seen people describe those as a *paradigm*
18:22:16 <ais523> right, I'm reminded of the way that BIIA? is a counterexample to a very large number of assumptions people make about programming
18:24:10 <korvo> ais523: If I were inclined to write a big essay about this, I might talk about how there seems to be a necessary phase where we are communicating on a blackboard using example syntax for pseudocode of one-liners, which eventually expands into a multi-line syntax with references to older lines, prior to the genesis of any new programming tradition.
18:24:40 <ais523> anyway, I think part of the problem is that what most programmers consider as paradigms actually don't match the symmetries well
18:25:18 <ais523> Haskells and MLs are often grouped together but there are clear significant differences in, e.g., how effects interact with the type system
18:26:27 <ais523> there's also the related phenomenon of "language features that aren't part of the computational model but are commonly found in a particular family of languages", probably due to people not copying features from different paradigms often enough even when they would make perfect sense
18:26:29 <korvo> Oh, cross-linguistic symmetries? Akin to cognates, vowel and consonant patterns, that sort of thing?
18:26:49 <ais523> no, I mean the symmetries of Haskell are different from the symmetries of ML
18:27:19 <ais523> Haskell is designed to mostly make evaluation order non-observable (although this isn't perfect and breaks down in the fact of nontermination), in ML it does matter
18:28:24 <b_jonas> not just non-termination but speed of execution as well, but sure
18:28:29 <korvo> Oh, in the Yanofsky sense. I started there but wasn't sure. Yeah, just because Haskell's descended from ML doesn't mean that Haskell's models are ML's models. Still, Haskell and ML can have extremely similar automorphisms, e.g. alpha-renaming.
18:28:43 <ais523> so I would prefer to group Haskell with, say, purer variants of Prolog than with ML (in that the "core" of Prolog is also a language where evaluation order matters primarily due to nontermination, although interpreters are more willing to add features in which evaluation order matters than Haskell is)
18:28:49 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=169520&oldid=169341 * BobSoftOfficial * (+194)
18:29:26 <ais523> b_jonas: right, if you consider that part of the model / abstract machine / intended use for the program
18:29:39 <b_jonas> I don't know, I have the feeling that the core of Prolog where execution order doesn't matter is not very useful as a programming language
18:29:52 <ais523> it's useful on codegolf sites
18:30:06 <b_jonas> I See
18:30:23 <ais523> like, "Prolog but the interpreter messes with evaluation order to try to ensure that if a program can terminate, it does terminate" is a language I've often wished to have available in CGCC challenges
18:30:32 <ais523> and even made a start on writing a language like that, but it stalled for unrelated reasons
18:32:00 <esolangs> [[Dog]] https://esolangs.org/w/index.php?diff=169521&oldid=94635 * BobSoftOfficial * (+1097)
18:33:06 <korvo> Unrestricted Zaddy's execution model is a variation on that, "Prolog but all evaluations are done in parallel and termination becomes more likely with each iteration". Using the Las Vegas approach where programs won't be incorrect but have unpredictable runtime based on ordering.
18:33:11 <esolangs> [[Dog]] https://esolangs.org/w/index.php?diff=169522&oldid=169521 * BobSoftOfficial * (+111)
18:33:31 <esolangs> [[Dog]] https://esolangs.org/w/index.php?diff=169523&oldid=169522 * BobSoftOfficial * (-13)
18:33:33 <korvo> I was going to use static analysis to show whether termination is possible. But there are other showstopping semantic issues that I've yet to resolve.
18:33:34 <ais523> but I feel like a) many paradigms are diluted by bad definitions and languages that don't achieve the goals they set out to achieve, and b) many languages are successful because they do something that isn't actually connected to the core idea behind the language and could easily be imported into other languages, but is useful on its own
18:34:40 <b_jonas> of course. languages can be successful because they have a lot of good libraries with interface for the language already available, regardless of how useful the core language is
18:34:57 <ais523> I believe the reason why Java was so successful is not related to its "object orientation" features, but rather because it supports "documentation-based abstraction" sufficiently well to be usable by large teams (i.e. the principle that if a subroutine/function/method is documented correctly, you can use it entirely by looking at its documentation without having to look at its internals)
18:35:00 <korvo> (b) is something we don't study enough. I still want to understand the Python-to-Go pipeline, for example.
18:35:43 <ais523> lots of languages are capable of doing that, and we take it for granted nowadays – but at the time Java first became successful I don't think it was common for programming teams to work like that
18:35:43 <b_jonas> don't most non-esoteric languages support documentation-based abstraction?
18:36:10 <b_jonas> maybe Java makes it easier
18:36:43 * ais523 sorts https://en.wikipedia.org/wiki/Comparison_of_documentation_generators by date
18:36:50 <b_jonas> a good type system certainly helps for that because it guides you in how to use the library interface correctly and makes it harder to accidentally call it incorrectliy
18:37:24 <ais523> looks like Javadoc is from 1995, the same as perldoc, and the only earlier one listed is mkd which I doubt was ever widely used
18:38:15 <ais523> so Java may have been the first widely-used language to combine a documentation generator with a static type system
18:38:57 <ais523> this was really eye-opening to me when I first learned Java, I thought "so this is why Java is used by big companies, I understand, it lets a team of programmers create something together without all needing to personally hold the entire program in their head"
18:39:19 <ais523> nowadays, this isn't interesting, any serious statically-typed programming language does the same thing
18:41:46 <b_jonas> ais523: those documentation generators like rustdoc can be annoying because they work for just one language so they try to turn a language to a religion, sort of like the language-specific build tools and package distribution systems do. like you can use rustdoc to make this fancy webpage with javascript search built into it, but then you can only search for rust interfaces. Doxygen is a doc generator
18:41:46 <ais523> Java does it better than many, though – e.g. in Rust I miss being able to document individual function/method parameters in addition to the function/method as a whole
18:41:52 <b_jonas> that supports multiple languages, and I think at one point OpenCV even had API docs that showed interfaces in four different languages (C++, python, Java, C) for the same function next to each other at some point
18:42:03 <esolangs> [[Ksplang/instructions]] https://esolangs.org/w/index.php?diff=169524&oldid=169191 * Sejsel * (-9) /* - tetration */ Fix up tetration
18:42:31 <b_jonas> "document individual function/method parameters" => Doxygen can sort of but not quite do that
18:42:43 <ais523> b_jonas: apart from the user interface for its build system which is actually really good, Rust's tooling feels kind-of primitive in comparison to its competitors
18:43:46 <b_jonas> I don't like Rust's tooling because it tries to buy you into a system where you can't easily combine it with compilation units combpiled by other languages. just use make like a normal person and then you can mix languages more easily. the language and compiler actually supports that well.
18:43:56 <ais523> the tests feel a lot worse than Perl's, the documentation generator doesn't encourage you to document all the relevant aspects of a function/method the way Java's does, sometimes there are multiple places something can be reasonably documented and it's unclear which to use, etc.
18:44:11 <b_jonas> heck, the user interface for the build system even wants to encourage you to download packages from the central package distribution site.
18:45:21 <ais523> b_jonas: oh yes, I hate the way dependencies work in Rust
18:45:30 <ais523> that said it does make it very easy to replace crates.io with distro packaging
18:46:39 <ais523> my .cargo/config.toml is (with newline replaced with " \ "): «[source] \ [source.debian] \ directory="/usr/share/cargo/registry" \ [source.crates-io] \ replace-with="debian"»
18:46:48 <ais523> that's all I have to do to configure the build system to use distro packages instead
18:47:07 <ais523> and it transparently applies across all builds I do from a user who has the dotfile
18:47:33 <ais523> the equivalent in C is much harder, if the build system doesn't pick up distro packages on its own it is often a pain to configure it to do so
18:47:57 <esolangs> [[Dog]] https://esolangs.org/w/index.php?diff=169525&oldid=169523 * Aadenboy * (-1195) revert
18:48:18 <ais523> and one of the reasons I gave up on the "Prolog with changed evaluation order" golfing language is that I was writing it in OCaml but couldn't figure out how to link in libraries at all
18:48:29 <esolangs> [[Dog (BobSoftOfficial)]] N https://esolangs.org/w/index.php?oldid=169526 * Aadenboy * (+1580) move page
18:49:38 <esolangs> [[User talk:BobSoftOfficial]] N https://esolangs.org/w/index.php?oldid=169527 * Aadenboy * (+473) Created page with "hello, just letting you know that I've moved your esolang to [[Dog (BobSoftOfficial)]] to prevent conflict with the esolang that was already described on that page (which you overwrote) ~~~~"
18:53:33 <esolangs> [[psilon]] N https://esolangs.org/w/index.php?oldid=169528 * Hammy2 * (+459) Created page with "{{lowercase}} psilon is just a normal programming language, right? No. It has a special value called that is 1/0. This is by [[User:Hammy]] and was made in like 1 minute lol ==Commands== <pre> i </pre> input <pre> an expression </pre> output the result as ascii <pre> an e
18:57:47 <esolangs> [[User:Hammy/test]] N https://esolangs.org/w/index.php?oldid=169529 * Hammy2 * (+120) Created page with "Hello, world! This page is made to see if you can transclude pages onto themselves. Anyways, bye! {{User:Hammy/test}}"
19:00:45 <esolangs> [[User:Hammy/test1]] N https://esolangs.org/w/index.php?oldid=169530 * Hammy2 * (+390) Created page with ":''For my previous attempt, see [[User:Hammy/test]]. It didn't work.'' I'm trying to transclude pages onto themselves. I'm trying a different trick: oscillating. This has another page transcluded onto it, and that has this transcluded onto it. There should be
19:01:33 <esolangs> [[User:Hammy/test2]] N https://esolangs.org/w/index.php?oldid=169531 * Hammy2 * (+93) Created page with "Hi! This is the other transclusion page of [[User:Hammy/test1]]. Bye. {{User:Hammy/test1}}"
19:03:04 <ais523> I like how MediaWiki gives a clearer error message for template loops nowadays than it used to
19:03:41 <ais523> I was also amused to see how many template loops we already have (there's an autocategory for them) – it's an obvious thing for budding esoprogrammers to try, and they're all in userspace
19:14:02 -!- tromp has joined.
19:28:55 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:29:15 -!- Lord_of_Life has joined.
19:30:46 -!- impomatic has joined.
19:57:44 -!- impomatic has quit (Quit: Client closed).
19:57:57 -!- impomatic has joined.
20:08:06 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169532&oldid=169459 * Waffelz * (+0)
20:38:08 <esolangs> [[User:Hammy/test1]] https://esolangs.org/w/index.php?diff=169533&oldid=169530 * Esolangist alt * (+12) Esolangist alt
20:38:49 <esolangs> [[User:Hammy/test1]] https://esolangs.org/w/index.php?diff=169534&oldid=169533 * Esolangist alt * (+25) Esolangist alt
20:47:22 <esolangs> [[User:Hammy/Template:Recursive]] N https://esolangs.org/w/index.php?oldid=169535 * Esolangist alt * (+53) Created page with "{{#if: {{{1}}} | {{{{{1}}}}} | {{{{FULLPAGENAME}}}}}}"
20:48:52 <esolangs> [[User:Hammy/Template:Recursive/docs]] N https://esolangs.org/w/index.php?oldid=169536 * Esolangist alt * (+183) Esolangist alt
20:52:56 -!- impomatic has quit (Quit: Client closed).
20:53:00 <esolangs> [[User:Hammy/Template:Recursive]] https://esolangs.org/w/index.php?diff=169537&oldid=169535 * Esolangist alt * (+227) Esolangist alt
20:57:33 -!- impomatic has joined.
21:11:18 <esolangs> [[User:Hammy/Template:Whoops]] N https://esolangs.org/w/index.php?oldid=169538 * Esolangist alt * (+638) Created page with "''{{#if: {{{1}}} | Whoops! Maybe you were looking for [[{{{1}}}]]{{#if: {{{2}}} | , or [[{{{2}}}]]}}? | Whoops! Maybe you were looking for... Hmm... Wait, someone forgot to add a parameter to the template! Wait, did I just break the fourth wall?
22:14:47 -!- impomatic has quit (Quit: Client closed).
22:19:39 <esolangs> [[User:Esolangist alt]] https://esolangs.org/w/index.php?diff=169539&oldid=167024 * * (-5) Fixing double redirect
22:30:08 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169540&oldid=169447 * Buckets * (+11)
22:31:06 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169541&oldid=169501 * Buckets * (+12)
22:31:24 <esolangs> [[Phind]] N https://esolangs.org/w/index.php?oldid=169542 * Buckets * (+1826) Created page with "{{Stub}} Phind Is An Esoteric programming language created By [[User:Buckets]] in 2022. {| class="wikitable" |- ! Commands !! Instructions |- | < || Left/down -wards Once, Starts as Left. |- | > || Right/up -wards Once, starts As up. |- | ~ || Swap The left/down / Right/
22:31:41 <esolangs> [[Phind]] M https://esolangs.org/w/index.php?diff=169543&oldid=169542 * Buckets * (+1)
22:36:01 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169544&oldid=169532 * Waffelz * (+917)
22:37:00 <APic> Good Night
22:49:00 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:50:25 -!- tromp has joined.
22:55:50 -!- Sgeo_ has joined.
22:59:01 -!- Sgeo has quit (Ping timeout: 244 seconds).
23:08:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:30:55 <esolangs> [[User talk:Yayimhere]] https://esolangs.org/w/index.php?diff=169545&oldid=169460 * Waffelz * (+229)
23:34:37 <esolangs> [[User:/common.css]] N https://esolangs.org/w/index.php?oldid=169546 * * (+94) Created page with "* {background-color:black !important; color:whitesmoke !important;} a {color:lime !important;}"
23:36:16 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169547&oldid=169546 * * (-68)
23:36:28 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169548&oldid=169547 * * (+1)
23:37:10 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169549&oldid=169548 * * (+2)
23:37:28 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169550&oldid=169549 * * (-1)
23:37:38 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169551&oldid=169550 * * (-28) Blanked the page
2025-11-29
00:26:56 -!- waffelz has joined.
00:43:06 -!- waffelz_ has joined.
00:45:11 -!- waffelz_ has quit (Client Quit).
00:45:40 -!- waffelz_ has joined.
00:47:24 -!- waffelz has quit (Ping timeout: 260 seconds).
00:47:34 -!- waffelz_ has changed nick to waffelz.
00:51:56 -!- waffelz has changed hostmask to ~waffelz@user/waffelz.
00:56:18 -!- waffelz_ has joined.
00:58:58 -!- waffelz has quit (Killed (NickServ (GHOST command used by waffelz_!~waffelz@2603:6013:a840:cfed:925:c176:7f45:47dc))).
00:59:03 -!- waffelz_ has changed nick to waffelz.
00:59:14 -!- waffelz has changed hostmask to ~waffelz@user/waffelz.
00:59:17 -!- waffelz_ has joined.
01:08:45 -!- waffelz has quit (Quit: leaving).
01:09:30 -!- waffelz has joined.
01:42:02 -!- 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).
02:11:34 <waffelz> what lmao
02:31:42 -!- waffelz__ has joined.
02:32:10 <korvo> waffelz__: Welcome to IRC.
02:35:21 -!- waffelz_ has quit (Ping timeout: 250 seconds).
02:35:43 -!- waffelz has quit (Ping timeout: 264 seconds).
02:36:22 -!- waffelz has joined.
02:37:17 -!- waffelz__ has quit (Quit: leaving).
02:40:44 <korvo> waffelz: Welcome to IRC. (Again?)
02:46:23 -!- waffelz_ has joined.
02:49:54 -!- waffelz has quit (Ping timeout: 260 seconds).
03:11:18 -!- waffelz__ has joined.
03:14:42 -!- waffelz has joined.
03:14:43 -!- waffelz_ has quit (Ping timeout: 246 seconds).
03:17:54 -!- waffelz__ has quit (Ping timeout: 260 seconds).
03:18:59 -!- waffelz_ has joined.
03:23:09 -!- waffelz has quit (Ping timeout: 260 seconds).
03:26:35 -!- waffelz__ has joined.
03:30:45 -!- waffelz_ has quit (Ping timeout: 252 seconds).
03:37:40 -!- waffelz_ has joined.
03:41:45 -!- waffelz__ has quit (Ping timeout: 252 seconds).
03:44:25 <esolangs> [[User talk:Yayimhere]] https://esolangs.org/w/index.php?diff=169552&oldid=169545 * Yayimhere2(school) * (+169) /* issue with your proof of Tea's turing-completeness */
03:57:23 -!- ais523 has quit (Quit: quit).
04:05:17 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169553&oldid=169508 * Yayimhere2(school) * (-19) /* Computational class */ delete the "caption text" since It was the only text.
04:25:51 -!- waffelz__ has joined.
04:30:14 -!- waffelz_ has quit (Ping timeout: 260 seconds).
04:33:44 <esolangs> [[K+len(p)]] N https://esolangs.org/w/index.php?oldid=169554 * Yayimhere2(school) * (+1628) Created page with "{{Lowercase}} '''k+len(p)'''(pronounced kay-len) is a variant of [[|_]] created by [[User:Yayimhere]], simply to be closer to turing complete. it features the whole _ command set but one command, but the esolang is also with three extra commands == Command s
04:37:39 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169555&oldid=169482 * Yayimhere2(school) * (+62)
04:40:28 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169556&oldid=169544 * Waffelz * (-11)
04:45:30 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169557&oldid=169555 * Yayimhere2(school) * (+6) /* Operations */
05:02:41 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169558&oldid=169557 * Yayimhere2(school) * (+26) /* Operations */
05:05:11 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169559&oldid=169556 * Waffelz * (+25)
05:05:24 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169560&oldid=169559 * Waffelz * (+1)
05:06:00 -!- waffelz_ has joined.
05:09:52 -!- waffelz__ has quit (Ping timeout: 246 seconds).
06:12:19 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=169561&oldid=169172 * Yayimhere2(school) * (+401) /* Category:Golfing language should be moved to Category:Golfing languages */
06:13:15 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169562&oldid=169560 * Waffelz * (-6)
06:16:14 <esolangs> [[Tea]] M https://esolangs.org/w/index.php?diff=169563&oldid=169562 * Waffelz * (+43)
06:17:52 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169564&oldid=169558 * Yayimhere2(school) * (+10) /* Examples */
06:19:21 <esolangs> [[Tea]] M https://esolangs.org/w/index.php?diff=169565&oldid=169563 * Waffelz * (-8) /* Errors */
06:30:40 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169566&oldid=169564 * Yayimhere2(school) * (+30) /* Operations */
06:43:23 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169567&oldid=169565 * Waffelz * (+45)
06:50:51 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169568&oldid=169566 * Yayimhere2(school) * (+106) /* Operations */
07:04:18 <esolangs> [[Oxen]] M https://esolangs.org/w/index.php?diff=169569&oldid=169504 * None1 * (+20) /* Interpreter in Python */
07:05:35 -!- pool has quit (Ping timeout: 240 seconds).
07:07:26 -!- waffelz_ has quit (Read error: Connection reset by peer).
07:41:50 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169570&oldid=169510 * Yayimhere2(school) * (+12) /* Commands */
08:11:00 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169571&oldid=169567 * RainbowDash * (+740) Cyclic tag
08:13:52 <esolangs> [[Tea]] M https://esolangs.org/w/index.php?diff=169572&oldid=169571 * RainbowDash * (+41) /* Cyclic Tag System */
08:18:07 -!- tromp has joined.
08:19:20 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169573&oldid=169572 * RainbowDash * (+169) /* Cyclic Tag System */
09:17:23 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169574&oldid=169573 * Yayimhere2(school) * (-9) /* Proof of Turing completeness */ Change to computational class
10:04:00 <esolangs> [[Push Pop Filter]] N https://esolangs.org/w/index.php?oldid=169575 * Yayimhere2(school) * (+2395) Created page with "'''Push Pop Filter''' or '''PPF''' is an esolang devised by [[User:Yayimhere]], to be a good simple excursive to implement. == Memory == Push Pop Filter uses two stacks. One stack can be initialized, called the main stack, and another cannot. It also
10:07:46 <esolangs> [[Push Pop Filter]] https://esolangs.org/w/index.php?diff=169576&oldid=169575 * Yayimhere2(school) * (+35)
10:08:17 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=169577&oldid=169488 * Yayimhere2(school) * (+22) /* esolangs */
10:18:44 <esolangs> [[.chat]] https://esolangs.org/w/index.php?diff=169578&oldid=169476 * Yayimhere2(school) * (-144) /* Computational class */
10:33:21 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
10:40:14 -!- tromp has joined.
10:44:27 <esolangs> [[A Combinator Language]] N https://esolangs.org/w/index.php?oldid=169579 * Yayimhere2(school) * (+586) Created page with "'''A Combinator Language''' or ACL is an esolang created by [[User:Yayimhere]], as a very minimal, and specifically NOT turing complete combinator calculus. Its name is also incredibly lazy, however still more creative than [[APL]]. == Combinator
10:44:29 <esolangs> [[Abstraction]] N https://esolangs.org/w/index.php?oldid=169580 * Timm * (+415) Created page with "one instruction has 4 bits but for making instructions 3 bits 4th bit is useless ">0<000" i show with this > i'm useless bit; 0;000 0000 00000100 set reg 0 to 4<sub>P.S. all instructions have reg</sub> 0;001 0000 00000100 set reg2 0 to 4 0;010 0;0;00 00000001 set acc
10:44:53 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169581&oldid=169475 * Timm * (+23)
10:45:07 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169582&oldid=169581 * Timm * (+4)
10:45:20 <esolangs> [[A Combinator Language]] https://esolangs.org/w/index.php?diff=169583&oldid=169579 * Yayimhere2(school) * (+46) /* Combinators/lambda expressions */
10:45:31 <esolangs> [[A Combinator Language]] https://esolangs.org/w/index.php?diff=169584&oldid=169583 * Yayimhere2(school) * (-17) /* Combinators/lambda expressions */
10:49:06 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169585&oldid=169582 * Timm * (+7)
10:50:11 <esolangs> [[A Combinator Language]] https://esolangs.org/w/index.php?diff=169586&oldid=169584 * Yayimhere2(school) * (+13) /* Combinators/lambda expressions */
10:51:25 <esolangs> [[A Combinator Language]] https://esolangs.org/w/index.php?diff=169587&oldid=169586 * Yayimhere2(school) * (+13) /* Combinators/lambda expressions */
10:51:36 <esolangs> [[A Combinator Language]] https://esolangs.org/w/index.php?diff=169588&oldid=169587 * Yayimhere2(school) * (+0) /* Combinators/lambda expressions */
11:01:16 <esolangs> [[Waves]] https://esolangs.org/w/index.php?diff=169589&oldid=168972 * Timm * (+104)
11:01:49 <esolangs> [[Waves]] https://esolangs.org/w/index.php?diff=169590&oldid=169589 * Timm * (-44)
11:04:47 <esolangs> [[4ByteJump]] https://esolangs.org/w/index.php?diff=169591&oldid=169473 * Timm * (+23)
11:18:33 -!- Sgeo_ has quit (Read error: Connection reset by peer).
11:20:07 <APic> Hi
11:45:25 -!- chomwitt_alt has joined.
12:00:48 <esolangs> [[User:Hammy/Lime]] N https://esolangs.org/w/index.php?oldid=169592 * Hammy * (+17) Created page with "[[File:Logo.png]]"
12:02:09 <esolangs> [[User:Hammy/Template:Limelimelime]] N https://esolangs.org/w/index.php?oldid=169593 * Hammy * (+1329) Created page with "<div class="nolaggy-effects" style="display:none;position:absolute;top:0;right:0">[[File:Logo.png|80px|link=]]</div><div class="laggy-effects"> {{User:Hammy/Lime|S=300|X=0|Y=300|O=0.4|T=1.2|N=lime1}} {{User:Hammy/Lime|S=400|X=200|Y=100|O=0.35|T=1.
12:03:43 -!- fungot has quit (Remote host closed the connection).
12:36:57 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=169594&oldid=169326 * RaiseAfloppaFan3925 * (+3116) trilime + scratch + haskell
13:48:55 -!- amby has joined.
14:02:42 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:15:11 -!- fungot has joined.
14:15:49 -!- tromp has joined.
14:23:51 <esolangs> [[Summary]] N https://esolangs.org/w/index.php?oldid=169595 * BestCoder * (+1390) Created page with "Summary is a list of numbers where the sum of consecutive numbers determines the command == Interpreter == def interpret(nums): stack = [] i = 0 while i < len(nums)-1: sum_ = nums[i]+nums[i+1] if sum_ == 1: if i+2 < len(
14:27:11 <esolangs> [[User talk:Waffelz]] https://esolangs.org/w/index.php?diff=169596&oldid=169457 * Yayimhere2(school) * (+161) /* Tea */
14:28:06 <esolangs> [[DQ]] https://esolangs.org/w/index.php?diff=169597&oldid=165041 * Yayimhere2(school) * (-39)
14:44:03 <esolangs> [[Needle]] https://esolangs.org/w/index.php?diff=169598&oldid=169429 * ChuckEsoteric08 * (+53) Replaced halt with unconditional jump which was used to simulate it and updated the example program
14:46:37 <esolangs> [[Semi-serious language list]] https://esolangs.org/w/index.php?diff=169599&oldid=165386 * ChuckEsoteric08 * (+14) /* A */ Added Autopsy
14:51:15 <esolangs> [[Pointer-based Minsky machine]] M https://esolangs.org/w/index.php?diff=169600&oldid=144813 * 47 * (-8)
14:52:37 <esolangs> [[Num Rect]] N https://esolangs.org/w/index.php?oldid=169601 * Yayimhere2(school) * (+1521) Created page with "'''Num Rect''' is a variant/encoding of [[RECT4n=GLE]] that is 1 dimensional, and may be useful for reasoning about the language itself. It is a sort of run length encoding. == Encoding == Every program takes the form: ''symbol'' | ''symb
14:56:33 <esolangs> [[Num Rect]] https://esolangs.org/w/index.php?diff=169602&oldid=169601 * Yayimhere2(school) * (-64) /* Encoding */
14:56:45 <esolangs> [[Num Rect]] https://esolangs.org/w/index.php?diff=169603&oldid=169602 * Yayimhere2(school) * (+7) /* Example/Translation */
14:57:36 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=169604&oldid=169472 * Yayimhere2(school) * (-31) /* example programs */
14:58:38 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=169605&oldid=169604 * Yayimhere2(school) * (+31) /* External resources */
15:02:58 <esolangs> [[User:Esolangist/Chess]] https://esolangs.org/w/index.php?diff=169606&oldid=167439 * PrySigneToFry * (+585)
15:03:46 -!- Yayimhere has joined.
15:03:52 <Yayimhere> hello
15:04:35 <esolangs> [[User:Esolangist/Chess]] M https://esolangs.org/w/index.php?diff=169607&oldid=169606 * PrySigneToFry * (+5)
15:12:03 <esolangs> [[StackBit]] https://esolangs.org/w/index.php?diff=169608&oldid=164477 * ChuckEsoteric08 * (+114) Added TC proof for reversible
15:23:29 <esolangs> [[User:Esolangist/Chess]] https://esolangs.org/w/index.php?diff=169609&oldid=169607 * * (+73) /* Proposals of PrySigneToFry */
15:40:19 -!- ais523 has joined.
15:42:47 <Yayimhere> hello ais523
15:42:52 <ais523> hi Yayimhere
15:42:59 <esolangs> [[User:Esolangist/Chess]] https://esolangs.org/w/index.php?diff=169610&oldid=169609 * Esolangist alt * (+6) Esolangist alt
15:44:28 <esolangs> [[User:Esolangist/Chess]] https://esolangs.org/w/index.php?diff=169611&oldid=169610 * Esolangist alt * (+104) Esolangist alt
15:44:31 <Yayimhere> how are you doing?
15:45:48 <ais523> still sleeping at the wrong time of day, and having trouble changing it
15:45:53 <ais523> other than that, OK
15:46:10 <Yayimhere> hope you at some point will be able to change it
15:46:23 <esolangs> [[User:Esolangist/Chess]] https://esolangs.org/w/index.php?diff=169612&oldid=169611 * Esolangist alt * (+94) Esolangist alt
15:48:06 <ais523> hmm, I saw your ACL, and it got me thinking about APL again (in particular, what features a language needs to have to be considered an APL)
15:48:20 <Yayimhere> ais523: oh
15:48:23 <Yayimhere> hm
15:48:36 <ais523> there's a marketing/recruitment person at one of the big APL companies who often advertises at esolangers due to thinking that they would be some of the best people to understand APL
15:48:52 <ais523> who thinks that Jelly is an APL due to the array-processing and tacit nature of it
15:49:06 <Yayimhere> i marked it as APL-like since the symbols, and functions I guess
15:49:10 <ais523> but I'm wondering how far you can stray from that formula before the language stops being an APL
15:49:14 <Yayimhere> but thats propably not enough
15:49:26 <ais523> it's APL-resembling in syntax
15:49:34 <Yayimhere> yea
15:49:46 <ais523> and APL does have the "concatenation = composition" rule, at least sometimes
15:49:53 <ais523> hmm, does this meant that APL Is a concatenative language?
15:50:02 <Yayimhere> what a question
15:52:46 <Yayimhere> but not one for me to answer, as I do not have much experience with concatenative languages
15:52:55 <esolangs> [[Rune]] N https://esolangs.org/w/index.php?oldid=169613 * Timm * (+719) Created page with "<big></big> another name of this esolang <big></big> xu /xu/ do print top of stack <big></big> xo invert value 0 - 255 <big></big> ho start the program <big></big> xa push to stack in this way {| class="wikitable" |+ numbers<sub>order is small...big numbers</sub> |- ! rune
15:53:36 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169614&oldid=169585 * Timm * (+17)
15:53:43 <ais523> to me it's an awkward question to answer because concatenativeness is really a property of syntax, and the syntax of languages like APL and Jelly isn't quite concatenative over small scales but is over larger scales
15:54:10 <Yayimhere> hm
15:55:24 <ais523> e.g. in Jelly, Ḥ+ is λ(x,y).2x+y, 3 calculates 3, and Ḥ+3 calculates λx.2x+3 or λ(x,y).2x+3
15:55:27 <Yayimhere> also, ais523, how did you happen to stumble upon ACL?
15:55:48 <ais523> mostly looking for rules-breaking edits but sometimes i find interesting non-rules-breaking edits instead
15:55:57 <Yayimhere> lol
15:55:59 <Yayimhere> yea makes sense
15:56:07 <ais523> or people asking for admin help
15:56:09 <Yayimhere> what did you think of it btw?
15:56:33 <esolangs> [[Summary]] https://esolangs.org/w/index.php?diff=169615&oldid=169595 * BestCoder * (+53) /* Interpreter */
15:56:36 <ais523> I didn't really evaluate the set of combinators
15:56:41 <Yayimhere> makes sense
15:56:58 <ais523> actually, composition in that language is application, not concatenation
15:57:00 <Yayimhere> it was a language created to be the across in Along and Across
15:57:46 <ais523> which is quite a speciifc difference from at least Jelly (I'm not sure how you do function application in APL or if it even has higher-order functions)
15:58:03 <esolangs> [[Summary]] https://esolangs.org/w/index.php?diff=169616&oldid=169615 * BestCoder * (+2002)
15:58:10 <ais523> or, well, I know how to apply a function to an array, just not how to apply it to another function
16:00:02 <Yayimhere> i dont know if I should try and learn APL
16:00:37 <FireFly> I think it has operators that can apply to functions/data and produce new functions, but it's more explicitly second-order I think(?)
16:00:54 <FireFly> at least extrapolating from what I know about J, but my APL-family knowledge is.. a bit rusty
16:02:07 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=169617&oldid=169561 * Ais523 * (+841) /* Category:Register based */ some thoughts
16:03:15 <ais523> Yayimhere: I think the idea of array programming is worth learning, but APL may be a bad language to learn it from, it has a lot of other unfamiliar features which aren't inherently linked to the basic concept and will be distractions
16:03:35 <Yayimhere> ais523: hm
16:05:47 <ais523> there is a domain-specific language I was working on (not an esolang) which wasn't originally an array programming language, but then I realised that it would be much easier to understand (and possibly implement) if I redesigned it as an array programming language
16:06:19 <Yayimhere> oh cool
16:06:29 <Yayimhere> what was the domain?
16:06:49 <ais523> SIMD programming
16:07:06 <ais523> modern compilers often try to SIMDify code, but often aren't very good at it
16:07:46 <ais523> they start with a non-SIMD version of the program and try to recompile it as SIMD but things often go wrong (either due to the compiler coming up with an unnecessarily complex solution or due to it being unable to prove that the optimisation is correct)
16:07:46 <Yayimhere> hm
16:08:24 <ais523> so my approach was to design a language which only supported operations that were guaranteed to SIMDify correctly, with the intention of using to write the inner loops in programs that wanted to have SIMD inner loops
16:08:37 <Yayimhere> oh, cool
16:08:50 <ais523> (this also has the theoretical advantage that it should port to GPUs pretty easily)
16:10:11 <ais523> the particular problem that caused the issue for me is that I wanted to SIMDify an algorithm that had a widening multiply in it
16:10:19 <ais523> current compilers are able to do that, but they do it very inefficiently
16:11:23 <ais523> let's use the example of "widening-multiply two values and add the halves together", and use letters to represent different array elements
16:12:45 <ais523> the compilers are doing abcdefgh × jklmnopq = AJBKCLDM, ENFOGPHQ where, e.g., AJ is the doubly-wide version of A×J
16:12:57 <Yayimhere> hm
16:13:13 <ais523> but it would be much more efficient to multiply them as AJCLENGP, BKDMFOHQ
16:13:26 <ais523> because then the values don't have to move around as much within the register
16:13:38 <ais523> all the values end up close to where they originally came from
16:14:06 <ais523> most modern processors only have one vector shuffler, so they can only move around values within one SIMD register at a time
16:14:30 <ais523> and so vector shuffling becomes a huge bottleneck if you implement it the compiler's way
16:14:39 <Yayimhere> yea
16:16:19 <korvo> ais523: That's definitely an APLish perspective.
16:16:31 <ais523> korvo: what are you referring to with "that"?
16:16:33 <korvo> We've got another chess game at [[user:esolangist/chess]].
16:16:47 <Yayimhere> korvo: is that good or bad?
16:16:54 <korvo> ais523: Like, ^^^^. The whole idea of a SIMD-oriented language with that sort of vectorized-first thinkin.
16:17:03 <ais523> korvo: oh yes, it's definitely an array programming language
16:17:13 <korvo> Yayimhere: It's not allowed. If people want to play chess then they can go to one of the big public chess servers.
16:17:15 <ais523> but it took me a while to notice, and adapt the syntax to match
16:17:18 <ais523> because I was thinking too operationally
16:17:28 <Yayimhere> korvo: yea ok I would have guessed
16:17:40 <ais523> Yayimhere: the risk is that Esolang ends up being classified as a social media site, in which case it would get banned in several countries and nobody wants that
16:17:57 <Yayimhere> ais523: in fact
16:18:06 <ais523> (either banned, or under so many regulations that we wouldn't be able to comply with it and then it would effectively be banned)
16:18:35 <esolangs> [[Onecommand]] N https://esolangs.org/w/index.php?oldid=169618 * Esolangist alt * (+772) Esolangist alt
16:20:09 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=169619 * Timm * (+366) Created page with "not [[]] <nowiki>:]</nowiki>:) var value arguments code list id parentheses ...} are number x ...} are number x*10 function code name has loop is code is null var change invert sign of number if a to b A code is == is => is =! is !> is output is i
16:20:27 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169620&oldid=169619 * Timm * (-1)
16:20:55 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169621&oldid=169614 * Timm * (+8)
16:21:06 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169622&oldid=169621 * Timm * (+1)
16:21:21 <Yayimhere> ais523: to go back on "topic" did you ever complete the language?
16:22:08 <ais523> no – I ran into problems trying to implement the parser, and I was working on a parser generator separately at the time
16:22:15 <ais523> so I decided to prioritise work on the parser generator instead
16:22:39 <Yayimhere> ais523: oh
16:22:40 <Yayimhere> well
16:39:59 <Yayimhere> also, korvo, since your here, you've gotten me to interpret my languages more
16:40:01 <Yayimhere> so thanks
16:41:13 <korvo> Yayimhere: Glad to hear that. FWIW I went ahead and made an expression language and parser for Vixen: https://bpa.st/TCLA
16:41:31 <Yayimhere> korvo: oh, cool!
16:42:05 <korvo> It's a pretty small language! Not every Smalltalk descendant literally fits on a card, but this one does.
16:46:16 -!- impomatic has joined.
16:51:08 <esolangs> [[User:Esolangist/Chess]] https://esolangs.org/w/index.php?diff=169623&oldid=169612 * * (+139) If you wanna start, then add your move. If you don't wanna play, you can remove my board.
16:53:42 <esolangs> [[User:Hammy/Template:Whoops2]] N https://esolangs.org/w/index.php?oldid=169624 * Esolangist alt * (+416) Esolangist alt
17:07:21 <esolangs> [[User talk:Esolangist/Chess]] N https://esolangs.org/w/index.php?oldid=169625 * Corbin * (+183) Created page with "Hi! This page may be deleted. In general, the wiki isn't a social-media site and we don't host gaming. ~~~~"
17:17:28 -!- pool has joined.
17:32:55 <esolangs> [[User:Hammy]] https://esolangs.org/w/index.php?diff=169626&oldid=168155 * Esolangist alt * (+405) Esolangist alt
17:37:07 <esolangs> [[User:Esolangist/Chess]] https://esolangs.org/w/index.php?diff=169627&oldid=169623 * Esolangist alt * (-1837) Esolangist alt
17:38:03 <korvo> Well, that was dramatic. While it was effective, I'm not sure that such a heavy-handed intervention was appropriate; I could have been more polite.
17:38:31 <Yayimhere> do we have stated rules on the wiki about this?
17:39:07 <Yayimhere> i guess
17:39:16 <Yayimhere> "Articles should be on the subject of esoteric programming languages, or about subjects relevant to these, for example computation theory." is that
17:39:16 <ais523> Yayimhere: no; I've been meaning to write some for a while but would need to be very careful to get them right
17:39:27 <Yayimhere> ais523: hm
17:39:32 <ais523> and there are limits to how much time I can spend on the wiki
17:39:37 <Yayimhere> in fact
17:39:41 <korvo> Not yet. I can write something up. It is existentially important that the wiki not be considered social media, but so far we haven't needed to point at the rules.
17:39:53 <Yayimhere> yes
17:42:30 <ais523> I am possibly too forgiving as a moderator (which can make me seem unfair sometimes – because if I don't shut down rulebreaking straight away it looks more arbitrary when I shut it down later)
17:42:49 <Yayimhere> maybe
17:44:19 <Yayimhere> Hopefully this isnt off topic, but how did the APL creators come up with so many symbols
17:47:09 <ais523> it's old enough that it wasn't obvious that this was a bad way to do things
17:47:21 <Yayimhere> wow
17:47:31 <Yayimhere> I would love to hear thee process of making each symbol
17:47:32 <ais523> nowdays we have standardised character sets that we know that most people can type
17:47:38 <Yayimhere> yea
17:47:44 <Yayimhere> also,
17:47:58 <Yayimhere> how was APL's alphabet added to unicode?
17:48:01 <ais523> but at the time there weren't really standards
17:48:08 <Yayimhere> yea
17:48:33 <ais523> Unicode aims to support all existing character codings at the time it was created, at least some files existed that were written in APL characters, so Unicode added them
17:49:04 <Yayimhere> oh wow
17:49:22 <ais523> the same thing is what lead to emoji – there was some obscure Japanese text messaging format which decided to add emoji at otherwise unused codepoints
17:49:38 <ais523> and Unicode added them too, so it could represent the old text messages, and ended up popularising them
17:49:49 <Yayimhere> Who invented unicode
17:49:52 <Yayimhere> actually
17:49:57 <Yayimhere> who's that dedicated
17:50:53 <ais523> https://en.wikipedia.org/wiki/Unicode#History
17:51:02 <ais523> I seem to remember the early history of Unicode was really complicated
17:51:22 <ais523> partly because companies started getting involved and that always makes things more complicated, partly because they underestimated how many codepoints they would need
17:51:45 <Yayimhere> yes
17:53:17 <ais523> there's a quote on Wikipedia about saying that they were sure that there would be less than 16384 characters to cover, but it turns out that Chinese/Japanese/Korean covered over 20,000 even if you considered similar-looking characters in different languages to be the same
17:53:37 <strerror> "APL creators" — wasn't it all just Iverson
17:53:38 <korvo> Yayimhere: AIUI there are still some APL symbols that aren't in Unicode. Unicode's main goal is to include the tools of natlangs, and APL's not actually part of that mission. Other examples of orthographies not in Unicode include Klingon and Solresol.
17:53:59 <Yayimhere> korvo: ah ok
17:54:15 <Yayimhere> strerror: I would guess theres more but I have no real idea
17:55:02 <ais523> korvo: it wouldn't surprise me if Unicode's goals have become fuzzier over time
17:55:39 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:55:46 <korvo> ais523: You can always give me admin tools. You can ask me to stick to an articles-for-deletion process and only delete articles that everybody has agreed should be deleted. I honestly admire your good judgement in not trusting me with that.
17:55:52 * korvo just a little Iago
17:56:06 <strerror> And in fact the notation came first, before computers became available to implement it on
17:56:34 <Yayimhere> strerror: wow
17:56:40 <ais523> I'm actually not sure I've ever made anyone an admin
17:56:47 <ais523> I think I'm technically capable of doing so, but have never needed to check
17:57:06 <ais523> because there have always been (and still are) higher-ranking admins, so normally they would do it instead
17:57:09 <strerror> (Similar to when McCarthy invented Lisp, it was initially notation)
17:57:11 <ais523> ("most active" ≠ "highest ranking")
17:57:32 -!- tromp has joined.
18:03:29 <strerror> Wikipedia: “In 1963, Falkoff, Iverson, and Edward H. Sussenguth Jr., all working at IBM, used the notation for a formal description of the IBM System/360 series machine ...” — perhaps multiple people were needed to turn APL into an executable language
18:05:54 <korvo> Oh, I didn't actually say it last time. Yayimhere, most languages start as blackboard notation for programmers collaborating together. First as small expressions, then one-liners, then multi-line programs with some sort of stored procedure or routine.
18:06:15 <Yayimhere> korvo: oh, thats pretty cool!
18:06:24 <korvo> Relevant Perlis quotes: "Over the centuries the Indians developed sign language for communicating phenomena of interest. Programmers from different tribes (FORTRAN, LISP, ALGOL, SNOBOL, etc.) could use one that doesn't require them to carry a blackboard on their ponies."
18:06:58 <korvo> "It is not a language's weakness but its strengths that control the gradient of its change: Alas, a language never escapes its embryonic sac." Both from the standard quote page: https://www.cs.yale.edu/homes/perlis-alan/quotes.html
18:07:47 <strerror> ais523: what would a language need to express that example with the SIMD vector shuffle? I guess you'd like a compiler to figure out the layout that is cheapest on the target processor, but that sounds even harder than what current auto-vectorizers already have to do with a known layout (and IME with AVX2, they often don't generate efficient instruction sequences)
18:08:45 <ais523> strerror: I think this is possible just as a compiler optimisation, you basically just look at the addresses that are being read and written and do the even element / odd element split when working with values that are wider than the spacing between addresses
18:09:09 <ais523> korvo: I think this is historically true but less common nowadays
18:09:35 <ais523> languages like Go and Swift were intentionally created from scratch to solve particular problems the companies creating them had
18:09:42 <ais523> rather than evolving
18:11:27 <korvo> ais523: I think that it's morally close enough when we think about how we want to turn traditional expressions of engineering into computerized expressions. I might suggest that FORTH is a fundamentally different approach to growing a language, tied to its interpreter and interactive session rather than a blackboard.
18:11:51 <ais523> there are so many ways that programming languages get created
18:12:02 <ais523> especially with the simple computational models, they're often more discovered than engineered
18:12:10 <ais523> (e.g. The Waterfall Model and Genera Tag)
18:12:22 <Yayimhere> yea
18:12:37 <Yayimhere> what does discovered rlly imply?
18:12:45 <Yayimhere> like what does it mean to discover a language?
18:13:06 <ais523> well, when you're programming you have various mental representations of the steps you're going through
18:13:15 <ais523> which don't necessarily exactly match the language you're usign
18:13:15 <strerror> ais523: yes that would work for widening operations. I thought you were using it as an example of something more general
18:13:26 <Yayimhere> ais523: true
18:13:28 <ais523> so that's one way to discover a langauge
18:14:00 <Yayimhere> is another way perhaps "oh thats an obvious way to simplify [other thing]"?
18:14:07 <ais523> strerror: there might be a generalisation but if so I don't know what it is (other than the trivial generalisation to narrowing operations in which you represent the narrowed value using the full width of the original rather than trying to compress)
18:14:16 <ais523> Yayimhere: yes, I think so
18:14:25 <ais523> or not even obvious, just something I was messing around with
18:14:44 -!- Yayimhere59 has joined.
18:14:44 <ais523> like, when I was looking into making INTERCAL Turing-complete without using expressions other than the constant #1
18:14:58 <Yayimhere59> oh wow
18:15:06 <ais523> the language I ended up with was The Waterfall Model (except with less undefined behaviour)
18:15:13 <ais523> but I didn't realise at the time because The Waterfall Model hadn't been invented
18:15:37 <ais523> then later on I was experimenting with short Jelly programs to see which of them were Turing-complete
18:16:23 <ais523> and came up with "take the minimum row of this square array, then add the first element of that row to each element of the first row, the second element of that row to each element of the second row, etc."
18:16:36 <ais523> that is *also* The Waterfall Model (except with less, and different, undefined behaviour)
18:16:51 <ais523> so now I had seen the same language twice without intentionally creating it either time
18:17:10 -!- Yayimhere90 has joined.
18:17:13 <Yayimhere90> 90!!!
18:17:17 <Yayimhere90> epic esolang
18:17:32 <Yayimhere90> sorry I got disconnected were you saying anything?
18:17:48 <ais523> yes, was talking aobut the discovery of The Waterfall Model
18:18:04 <Yayimhere90> yea ok
18:18:09 <ais523> https://logs.esolangs.org/libera-esolangs/2025-11-29.html#lXe
18:18:21 -!- Yayimhere has quit (Ping timeout: 250 seconds).
18:18:21 <Yayimhere90> oh yea I forgot those existed
18:18:43 <ais523> I used to get disconnected a lot, so I used to use them a lot
18:18:53 <Yayimhere90> but yea
18:18:54 <Yayimhere90> cool!
18:20:05 -!- Yayimhere59 has quit (Ping timeout: 250 seconds).
18:21:45 <Yayimhere90> anyways, bye!
18:21:50 <ais523> bye
18:21:59 -!- Yayimhere90 has quit (Client Quit).
18:26:42 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:02:48 -!- impomatic has quit (Quit: Client closed).
19:14:27 -!- impomatic has joined.
19:17:27 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=169628&oldid=169617 * Yayimhere2(school) * (+311) /* Category:Register based */
19:18:25 -!- tromp has joined.
19:29:15 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:49:17 <APic> cu
19:49:34 -!- Lord_of_Life has joined.
19:52:56 -!- Sgeo has joined.
19:55:37 <b_jonas> ais523: so I think "APL-like" is ambiguous because the late KEI put so many innovations into APL that it's not clear which one you're referring to. there are like ten different and somewhat overlapping things that you can be talking about just for syntax. there's that the language was intended to a large part as mathematical notation without computers first, and became a programming language later.
19:55:43 <b_jonas> there's that he managed to get high-school students access to an easily usable programming environment back when microcomputers didn't exist yet and computers existed mostly in universities – I'm pretty sure this one can no longer be replicated because microcomputers are here to stay. and then there's array programming, operating on whole arrays of multiple types, which helps both for optimization and
19:55:49 <b_jonas> expressivity. there are a lot of array languages or libraries now, but I think there's still space for them to develop, I feel like we haven't reached the peak, and they're getting more and more relevant as computers improve.
19:56:18 <ais523> weren't array languages historically fairly badly optimized?
19:56:27 <ais523> although some of the recent ones may work out better
19:57:08 <ais523> things like Futhark seem to have been designed from an optimisation-first point of view
19:58:31 <b_jonas> Yayimhere90: so KEI originally developped APL as pen and paper (or typewriter and paper) notation for mathematics, but later adapted it to programming, and for that he used Selectric teletypes in such a way that the symbols are composed from a small alphabet (maybe 80 glyphs) but many symbols are composed from two glyphs overstruck, which you input by pressing one glyph then pressing backspace then the
19:58:37 <b_jonas> second glyph. this overstriking tech has existed before APL, but APL uses it to a higher degree.
20:11:10 <esolangs> [[FFFF]] N https://esolangs.org/w/index.php?oldid=169629 * RainbowDash * (+2203) create FFFF
20:12:02 <esolangs> [[FFFF]] https://esolangs.org/w/index.php?diff=169630&oldid=169629 * RainbowDash * (-153) Fix info box
20:13:04 <esolangs> [[FFFF/Implementation]] N https://esolangs.org/w/index.php?oldid=169631 * RainbowDash * (+2831) Created page with "This is an implementation of [[FFFF]] in Python by [[User:RainbowDash]]. <pre> from fractions import Fraction import sys def reduce_pair(a, b=None): """Convert inputs to Fraction, optionally divide by b, return as [numerator, denominator].""" i
20:13:28 <esolangs> [[FFFF]] M https://esolangs.org/w/index.php?diff=169632&oldid=169630 * RainbowDash * (+25)
20:52:40 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169633&oldid=169574 * Waffelz * (+23)
20:55:48 <esolangs> [[ASTLang]] https://esolangs.org/w/index.php?diff=169634&oldid=169446 * NTMDev * (+69) /* Integers */
21:15:19 -!- chomwitt_alt has quit (Ping timeout: 264 seconds).
21:18:48 <esolangs> [[Special:Log/upload]] upload * RainbowDash * uploaded "[[File:Simplefsm.png]]": Fsm diagram for [[FFFF]]
21:21:15 <esolangs> [[FFFF]] https://esolangs.org/w/index.php?diff=169636&oldid=169632 * RainbowDash * (+285) FSM
21:24:55 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:25:58 <esolangs> [[User:RainbowDash]] M https://esolangs.org/w/index.php?diff=169637&oldid=167029 * RainbowDash * (+51)
21:27:27 -!- tromp has joined.
21:36:57 -!- impomatic has quit (Quit: Client closed).
22:20:46 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169638&oldid=169540 * Buckets * (+14)
22:21:39 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169639&oldid=169541 * Buckets * (+15)
22:21:55 <esolangs> [[Ast*R***]] N https://esolangs.org/w/index.php?oldid=169640 * Buckets * (+1884) Created page with "Ast*R*** Is An esoteric programming Language created By [[User:Buckets]] in 2023. {| class="wikitable" |- ! Commands !! Instructions |- | # || This is A Wall. |- | S || This Is the Start Point. |- | E || This is the End point. |} It Will count the Four direction movem
22:46:00 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:54:48 -!- tromp has joined.
23:05:59 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
2025-11-30
00:41:51 -!- pool has quit (Quit: The Lounge - https://thelounge.chat).
00:43:50 -!- pool has joined.
01:51:45 <esolangs> [[FFFF]] https://esolangs.org/w/index.php?diff=169641&oldid=169636 * RainbowDash * (+1414) How to make any FSM.
01:55:16 <esolangs> [[FFFF]] M https://esolangs.org/w/index.php?diff=169642&oldid=169641 * RainbowDash * (-29) link
02:00:42 <esolangs> [[FFFF]] https://esolangs.org/w/index.php?diff=169643&oldid=169642 * RainbowDash * (+158) /* How to convert to any FSM */
02:08:10 <esolangs> [[FFFF]] M https://esolangs.org/w/index.php?diff=169644&oldid=169643 * RainbowDash * (+3) /* How to convert to any FSM */
02:27:45 <esolangs> [[FFFF]] https://esolangs.org/w/index.php?diff=169645&oldid=169644 * RainbowDash * (-21) /* How to convert to any FSM */
02:29:23 <esolangs> [[FFFF]] https://esolangs.org/w/index.php?diff=169646&oldid=169645 * RainbowDash * (+94) /* How to convert to any FSM */
02:30:38 <esolangs> [[FFFF]] M https://esolangs.org/w/index.php?diff=169647&oldid=169646 * RainbowDash * (-4) /* How to convert to any FSM */
02:32:05 <esolangs> [[FFFF]] M https://esolangs.org/w/index.php?diff=169648&oldid=169647 * RainbowDash * (+29) /* Computing */
02:32:27 <esolangs> [[FFFF]] M https://esolangs.org/w/index.php?diff=169649&oldid=169648 * RainbowDash * (+1) /* Computing */
03:02:07 -!- 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).
03:05:02 -!- op_4 has quit (Remote host closed the connection).
03:05:38 -!- op_4 has joined.
03:16:55 -!- pool has quit (Read error: Connection reset by peer).
03:17:12 -!- pool has joined.
03:33:15 -!- pool has quit (Ping timeout: 240 seconds).
03:33:22 -!- pool5 has joined.
03:49:17 -!- pool5 has quit (Read error: Connection reset by peer).
03:49:31 -!- pool5 has joined.
03:50:39 -!- pool5 has quit (Read error: Connection reset by peer).
03:50:49 -!- pool54 has joined.
03:53:22 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Mirror to Esolangist's Chess Games]] N https://esolangs.org/w/index.php?oldid=169650 * PrySigneToFry * (+3216) Created page with "= Note = <div class="mw-collapsible mw-collapsed"> Please make sure you have read the notice before reading the following page. This page was originally created by Esolangist, bu
05:14:06 -!- Lord_of_Life has quit (Remote host closed the connection).
05:17:16 -!- Lord_of_Life has joined.
05:35:49 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169651&oldid=169620 * Timm * (+94)
05:36:06 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169652&oldid=169651 * Timm * (+15)
05:47:23 -!- ski has joined.
07:21:27 -!- Sgeo has quit (Read error: Connection reset by peer).
07:25:02 -!- Deepfriedice has joined.
07:35:44 -!- Sgeo has joined.
07:38:06 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
07:39:59 -!- Lord_of_Life has joined.
07:53:53 -!- tromp has joined.
08:00:08 <esolangs> [[Project Euler/6]] https://esolangs.org/w/index.php?diff=169653&oldid=152846 * Waffelz * (+317)
08:31:15 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
08:33:19 -!- Lord_of_Life has joined.
09:03:04 -!- chomwitt_alt has joined.
09:21:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:47:07 -!- chomwitt_alt has quit (Ping timeout: 264 seconds).
10:02:34 <APic> Noin
10:02:35 <APic> Moin even
10:47:35 -!- tromp has joined.
11:16:56 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Mirror to Esolangist's Chess Games]] https://esolangs.org/w/index.php?diff=169654&oldid=169650 * Esolangist alt * (+6) Esolangist alt
11:45:44 -!- Sgeo has quit (Read error: Connection reset by peer).
12:01:41 * APic → Bathtub 🐋
12:37:45 <esolangs> [[Num Rect]] https://esolangs.org/w/index.php?diff=169655&oldid=169603 * Yayimhere2(school) * (+7) /* Encoding */
13:22:49 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:28:57 -!- amby has joined.
13:56:56 -!- tromp has joined.
14:08:17 <esolangs> [[Noback Machine]] N https://esolangs.org/w/index.php?oldid=169656 * ChuckEsoteric08 * (+788) Created page with "{{Stub}} '''Noback Machine''' is a variation of [[Turing machine]] by [[User:ChuckEsoteric08]]. ==Description== Noback Machine is different from Turing-machine that there is no way to move left, instead it can only move pointer right or move pointer to the
14:08:41 <esolangs> [[User:ChuckEsoteric08]] https://esolangs.org/w/index.php?diff=169657&oldid=169037 * ChuckEsoteric08 * (+21) /* Computational models */
14:16:19 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Mirror to Esolangist's Chess Games]] https://esolangs.org/w/index.php?diff=169658&oldid=169654 * * (+30) /* Proposals of */
14:16:42 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Mirror to Esolangist's Chess Games]] https://esolangs.org/w/index.php?diff=169659&oldid=169658 * * (+0) /* Proposals of */
14:35:26 <esolangs> [[Wiiil]] N https://esolangs.org/w/index.php?oldid=169660 * Yayimhere2(school) * (+1303) Created page with "{{lowercase}} '''wiiil''' is an esolang created by [[User:Yayimhere]] after being inspired by [[OXEN]]. its name is just a very short and fast way to pronounce "wheeeel!". == Semantics == wiiil uses three pieces of data: * A "wheel" or circular tape of numbers,
14:35:39 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169661&oldid=169660 * Yayimhere2(school) * (+0)
14:35:56 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169662&oldid=169661 * Yayimhere2(school) * (+16) /* Syntax */
14:36:22 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169663&oldid=169662 * Yayimhere2(school) * (+6) /* Syntax */
14:36:31 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169664&oldid=169663 * Yayimhere2(school) * (-10) /* Syntax */
14:36:41 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169665&oldid=169664 * Yayimhere2(school) * (-2) /* Syntax */
14:50:29 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:01:56 -!- tromp has joined.
15:05:30 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Mirror to Esolangist's Chess Games]] https://esolangs.org/w/index.php?diff=169666&oldid=169659 * PrySigneToFry * (+948)
15:06:21 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Mirror to Esolangist's Chess Games]] https://esolangs.org/w/index.php?diff=169667&oldid=169666 * PrySigneToFry * (-12)
15:06:44 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Mirror to Esolangist's Chess Games]] https://esolangs.org/w/index.php?diff=169668&oldid=169667 * PrySigneToFry * (-26)
15:09:09 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169669&oldid=169665 * Yayimhere2(school) * (+12) /* Syntax */
15:13:37 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169670&oldid=169669 * Yayimhere2(school) * (+156) /* Syntax */
15:22:01 -!- chomwitt_alt has joined.
15:39:28 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:57:49 <esolangs> [[User:RaiseAfloppaFan3925]] https://esolangs.org/w/index.php?diff=169671&oldid=169594 * RaiseAfloppaFan3925 * (+1236)
16:15:34 -!- tromp has joined.
16:33:49 -!- msv has quit (Remote host closed the connection).
16:34:12 -!- msv has joined.
16:49:51 -!- ais523 has quit (Quit: quit).
16:56:17 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169672&oldid=169670 * Yayimhere2(school) * (+39) /* Semantics */
16:56:48 <esolangs> [[Wiiil]] https://esolangs.org/w/index.php?diff=169673&oldid=169672 * Yayimhere2(school) * (+9) /* Semantics */
17:30:28 <esolangs> [[LIMITED]] M https://esolangs.org/w/index.php?diff=169674&oldid=167745 * DadoDev * (-6) Updated implimentation to use ints
17:31:27 <APic> Good Night! 😴
17:36:46 -!- Yayimhere has joined.
17:36:51 <Yayimhere> hello
17:40:25 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Four-player-chess]] https://esolangs.org/w/index.php?diff=169675&oldid=163530 * Hammy * (+95)
17:42:14 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=169676&oldid=169149 * Yayimhere2(school) * (+350)
18:00:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:33:18 <esolangs> [[EUCS]] https://esolangs.org/w/index.php?diff=169677&oldid=168001 * Hammy * (+451) /* You want a character set? Here. */
18:35:48 -!- tromp has joined.
18:47:35 -!- Yayimhere has quit (Quit: Client closed).
19:05:43 -!- ManDeJan has quit (Ping timeout: 264 seconds).
19:05:55 -!- ursa-major has quit (Ping timeout: 250 seconds).
19:07:13 -!- cbs has quit (Ping timeout: 250 seconds).
19:07:18 -!- dcreager has quit (Ping timeout: 252 seconds).
19:09:34 -!- dcreager has joined.
19:09:36 -!- cbs has joined.
19:09:36 -!- ManDeJan has joined.
19:09:45 -!- ursa-major has joined.
19:24:33 -!- lynndotpy60933 has joined.
19:25:55 -!- lynndotpy6093 has quit (Ping timeout: 240 seconds).
19:25:56 -!- lynndotpy60933 has changed nick to lynndotpy6093.
19:29:22 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
19:29:39 <esolangs> [[Fuck 2red]] https://esolangs.org/w/index.php?diff=169678&oldid=150891 * Tommyaweosme * (-415) 2red has come out as a minor. ew ew ew ew ew ew ew ew ew ew ew ew ew
19:30:21 <esolangs> [[Special:Log/move]] move * Tommyaweosme * moved [[Fuck 2red]] to [[NAME EXPUNGED]]
19:30:21 <esolangs> [[Special:Log/move]] move * Tommyaweosme * moved [[Talk:Fuck 2red]] to [[Talk:NAME EXPUNGED]]
19:32:25 -!- Lord_of_Life has joined.
19:34:37 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=169683&oldid=169676 * Aadenboy * (+377) /* possible deletion */ new section
19:35:21 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=169684&oldid=167416 * Tommyaweosme * (+2350) adding in all my esolangs part 1
19:54:05 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=169685&oldid=169684 * Tommyaweosme * (+1115)
19:55:35 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=169686&oldid=169685 * Tommyaweosme * (+42) fixing redlinks
19:58:33 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=169687&oldid=169683 * Tommyaweosmalt * (+153) /* possible deletion */
20:03:15 -!- Sgeo has joined.
20:04:21 <zzo38> If I want to add a type which is a key/value list where the keys specify the language (mainly for l10n and i18n) (the type of values depends on the application, but will often be some kind of character strings), then what would it be called?
20:14:42 <esolangs> [[User:Aadenboy/wikipiss]] https://esolangs.org/w/index.php?diff=169688&oldid=163227 * Aadenboy * (+1446)
20:42:31 <esolangs> [[User talk:Moon]] https://esolangs.org/w/index.php?diff=169689&oldid=73029 * 5anz * (+280) /* Why...? */ new section
22:03:00 <esolangs> [[ITF,P]] M https://esolangs.org/w/index.php?diff=169690&oldid=169000 * Buckets * (+0)
22:19:33 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169691&oldid=169639 * Buckets * (+12)
22:20:19 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169692&oldid=169638 * Buckets * (+11)
22:20:43 <esolangs> [[Fliqt]] N https://esolangs.org/w/index.php?oldid=169693 * Buckets * (+1918) Created page with "Fliqt is an Esoteric Programming language created By [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | A || Start Of an IP, in The direction Of Rightwards. |- | B || Delete an IP. |- | p || Flip the X coordinate and Go downwards One Code b
22:25:03 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:16:29 -!- chomwitt_alt has quit (Ping timeout: 244 seconds).
23:27:48 -!- chloetax has joined.
←2025-10 2025-11 2025-12→ ↑2025 ↑all