00:04:38 -!- mtm has quit (Ping timeout: 255 seconds).
00:05:59 -!- mtm has joined.
00:45:40 <esolangs> [[Special:Log/upload]] upload * Qawtykit * uploaded "[[File:Scratchfunvideogame.png]]": Fun Video Game implementation in Scratch
00:46:29 -!- 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:48 <esolangs> [[Special:Log/upload]] overwrite * Qawtykit * uploaded a new version of "[[File:Scratchfunvideogame.png]]": made it a little smaller
01:09:01 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=135229&oldid=135192 * Tommyaweosme * (+206) /* category:joke proofs */
01:11:16 -!- ais523 has quit (Remote host closed the connection).
01:12:28 -!- ais523 has joined.
01:14:07 <esolangs> [[Fun Video Game]] https://esolangs.org/w/index.php?diff=135230&oldid=134921 * Qawtykit * (+889) Added Scratch and Uyjhmn n implementations
01:53:02 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=135231&oldid=135221 * Tommyaweosme * (+39)
02:57:07 <esolangs> [[Bananaban]] M https://esolangs.org/w/index.php?diff=135232&oldid=135226 * PythonshellDebugwindow * (+23) Category
03:10:33 -!- Lord_of_Life_ has joined.
03:10:50 <esolangs> [[Divmeq]] M https://esolangs.org/w/index.php?diff=135233&oldid=134284 * TheCanon2 * (-11) Found cases when the 1e-16 constant may need to be adjusted to account for weird floating point artithmetic.
03:10:57 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
03:11:55 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
05:08:53 <esolangs> [[User:Unname4798/copy of tommyaweosmes userpage]] N https://esolangs.org/w/index.php?oldid=135234 * Unname4798 * (+188) I am blocked from editing [[User:Tommyaweosme]]
05:11:41 <esolangs> [[Not]] https://esolangs.org/w/index.php?diff=135235&oldid=133378 * Xff * (+11)
05:12:08 <esolangs> [[User:Unname4798/copy of tommyaweosmes userpage]] https://esolangs.org/w/index.php?diff=135236&oldid=135234 * Unname4798 * (+122)
05:13:57 <korvo> Sheesh. Okay, finally got Erdös-Lagarias implemented: https://github.com/MostAwesomeDude/bb-gauge/blob/main/bfm/erdos-lagarias.bfm
05:14:38 <korvo> This is that one statement that, for k>8, 2**k isn't expressible as distinct powers of three; 2**k always has at least one 2 trit when written in ternary.
05:14:54 <esolangs> [[Not]] https://esolangs.org/w/index.php?diff=135237&oldid=135235 * Xff * (-30)
05:15:44 <korvo> My macros are really bad but I confirmed that this machine halts if I start at k=1 and appears to run indefinitely at k=8.
05:23:56 -!- ais523 has quit (Ping timeout: 252 seconds).
05:25:54 -!- ais523 has joined.
05:31:47 <korvo> I am nearly done with my Brainfuck adventures. I want one more, and I think I'm going to try to encode Collatz.
05:32:10 <korvo> I have a memory layout, but it requires computed offsets, and so I might need to think on it for a while longer.
05:48:07 -!- fowl has quit (Ping timeout: 252 seconds).
05:55:43 -!- fowl has joined.
05:58:06 -!- tromp has joined.
05:59:27 <salpynx> korvo: I've been thinking about Turing machines a lot recently and have a sketch of an 8 symbol no-idea-how-many-states yet bf machine. Looks like you are writing _in_ bf. I haven't decided yet if actually creating a bf TM is worth completing right now
06:00:04 <korvo> salpynx: I haven't seen BF in TM yet. Cool idea.
06:00:51 <salpynx> I wrote something to convert n-symbol TMs to 2 symbol versions, so that could produce a 2 symbol bf Turing machine once that was complete.
06:01:53 <esolangs> [[Jello]] N https://esolangs.org/w/index.php?oldid=135238 * Xff * (+1681) Created page with "{{Lowercase}} '''jello''' is a two stack esolang by [[User:Yayimhere]] where the only control flow is skip, reverse and evaluate == memory/script == as said before jello uses two stacks. jello has a pointer which points to the current stack. each stack can hold number and str
06:03:18 <salpynx> it converted ais523's (2, 14) Grill tag to a 107 state two symbol machine, and appears to run the one code example I found correctly.
06:04:57 <salpynx> I think an 8 symbol bf machine is more interesting than the perhaps more obvious 9 symbol one (8 bf commands + blank). I think using ] as blank will work, but it might need testing
06:10:48 -!- fowl has quit (Ping timeout: 245 seconds).
06:20:57 <esolangs> [[Jello]] https://esolangs.org/w/index.php?diff=135239&oldid=135238 * Xff * (+99) /* syntax */
06:24:13 -!- fowl has joined.
06:26:47 -!- ais523 has quit (Quit: quit).
06:27:21 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=135240&oldid=135215 * Xff * (+12) /* J */
06:32:58 -!- fowl has quit (Ping timeout: 244 seconds).
06:34:00 -!- fowl has joined.
06:39:57 -!- Sgeo has quit (Read error: Connection reset by peer).
06:45:34 -!- fowl has quit (Ping timeout: 260 seconds).
06:48:31 -!- fowl has joined.
07:00:24 -!- fowl has quit (Ping timeout: 265 seconds).
07:01:35 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
07:08:21 -!- fowl has joined.
07:24:01 <esolangs> [[Brainfucker]] M https://esolangs.org/w/index.php?diff=135241&oldid=135199 * Unname4798 * (+1) match brackets
07:25:23 -!- fowl has quit (Ping timeout: 245 seconds).
07:30:09 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135242&oldid=135225 * Unname4798 * (+67) Translation to my-new-esolang
07:30:31 <esolangs> [[Talk:My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135243&oldid=135242 * Unname4798 * (+178)
07:30:58 <esolangs> [[Talk:My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135244&oldid=135243 * Unname4798 * (+27)
07:32:11 <esolangs> [[Talk:My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135245&oldid=135244 * Unname4798 * (+0)
07:33:41 <esolangs> [[Talk:My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135246&oldid=135245 * Unname4798 * (+14) lowercase
07:43:40 <esolangs> [[User:Ractangle]] https://esolangs.org/w/index.php?diff=135247&oldid=135217 * Ractangle * (+75)
07:43:55 -!- fowl has joined.
07:48:59 -!- fowl has quit (Ping timeout: 260 seconds).
08:00:04 -!- salpynx has quit (Quit: Leaving).
08:01:43 -!- fowl has joined.
08:09:24 -!- fowl has quit (Ping timeout: 252 seconds).
08:10:01 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=135248&oldid=135231 * PrySigneToFry * (+183) If this is incorrect, undo this.
08:15:34 <esolangs> [[Brainfucker v1.1]] https://esolangs.org/w/index.php?diff=135249&oldid=135198 * Unname4798 * (+79) Lifecycle: Brainfucker versions last 7 days, release every 3 days
08:17:57 <esolangs> [[Esolang talk:Introduce yourself]] https://esolangs.org/w/index.php?diff=135250&oldid=90120 * PrySigneToFry * (+614) /* The riddle in register is just like I registering in https://wiki.xdi8.top. */ new section
08:19:07 <esolangs> [[Special:Log/upload]] upload * PrySigneToFry * uploaded "[[File:.png]]"
08:20:47 <esolangs> [[]] https://esolangs.org/w/index.php?diff=135252&oldid=126720 * PrySigneToFry * (+110)
08:24:15 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=135253&oldid=135002 * PrySigneToFry * (+326) Fixed my Introduce
08:32:24 <esolangs> [[Talk:0 bytes XD]] https://esolangs.org/w/index.php?diff=135254&oldid=128589 * PrySigneToFry * (+101) /* Another Quine by PSTF */ new section
08:37:44 -!- fowl has joined.
08:52:28 -!- fowl has quit (Ping timeout: 245 seconds).
08:53:41 -!- fowl has joined.
09:20:55 <esolangs> [[HZ3funge]] N https://esolangs.org/w/index.php?oldid=135255 * PrySigneToFry * (+6048) Created page with "HZ3funge is an Esolang designed by PSTF. It is designed for even complex Befunge. == Syntax == === Basic syntax === Every layer must saved as a file, just like these: * Sample program ** layer1.h3f ** layer2.h3f ** layer3.h3f ** ** main.exe All layers must n
09:38:50 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=135256&oldid=135240 * PrySigneToFry * (+15)
09:45:28 -!- tromp has joined.
09:45:53 <esolangs> [[Fun Video Game]] https://esolangs.org/w/index.php?diff=135257&oldid=135230 * PkmnQ * (+105) Momema will be on every program page one day
10:54:30 -!- X-Scale has joined.
10:59:24 <esolangs> [[User:Unname4798/copy of tommyaweosmes userpage]] https://esolangs.org/w/index.php?diff=135258&oldid=135236 * Unname4798 * (+118)
10:59:51 -!- X-Scale has quit (Ping timeout: 256 seconds).
11:00:21 <esolangs> [[User:Unname4798/copy of tommyaweosmes userpage]] https://esolangs.org/w/index.php?diff=135259&oldid=135258 * Unname4798 * (-42)
11:03:09 <esolangs> [[User:Unname4798/copy of tommyaweosmes userpage]] https://esolangs.org/w/index.php?diff=135260&oldid=135259 * Unname4798 * (+28)
11:06:22 <esolangs> [[Talk:My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135261&oldid=135246 * Unname4798 * (+0)
11:12:54 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135262&oldid=135261 * Unname4798 * (+217) Provide HTML/JS
11:13:37 <esolangs> [[Talk:My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135263&oldid=135262 * Unname4798 * (+0) format the code
11:14:07 <esolangs> [[Talk:My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135264&oldid=135263 * Unname4798 * (+0)
11:15:17 <esolangs> [[My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135265&oldid=135196 * Unname4798 * (+10)
11:16:11 -!- X-Scale has joined.
11:16:36 <esolangs> [[Special:Log/move]] move * Unname4798 * moved [[Talk:My-new-esolang.txt]] to [[My-new-esolang.txt/Talk]]: It's hard to shorten the link to the [[Talk:my-new-esolang]]
11:17:42 <esolangs> [[My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135268&oldid=135265 * Unname4798 * (+0)
11:18:12 <esolangs> [[Special:Log/move]] move_redir * Unname4798 * moved [[My-new-esolang.txt/Talk]] to [[Talk:My-new-esolang.txt]] over redirect
11:18:12 <esolangs> [[Special:Log/delete]] delete_redir * Unname4798 * Unname4798 deleted redirect [[Talk:My-new-esolang.txt]] by overwriting: Deleted to make way for move from "[[My-new-esolang.txt/Talk]]"
11:18:27 <esolangs> [[My-new-esolang.txt/Talk]] https://esolangs.org/w/index.php?diff=135271&oldid=135270 * Unname4798 * (-37) Blanked the page
11:18:55 <esolangs> [[My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135272&oldid=135268 * Unname4798 * (+18)
11:19:20 <esolangs> [[My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135273&oldid=135272 * Unname4798 * (+1)
11:24:02 <esolangs> [[Semafor]] N https://esolangs.org/w/index.php?oldid=135274 * Ttulka * (+3971) init Semafor
11:24:53 <esolangs> [[Semafor]] M https://esolangs.org/w/index.php?diff=135275&oldid=135274 * Ttulka * (+2) fix formatting
11:28:42 <esolangs> [[User:Ttulka]] https://esolangs.org/w/index.php?diff=135276&oldid=130872 * Ttulka * (+263) add Semafor
11:29:33 <esolangs> [[User:Ttulka]] M https://esolangs.org/w/index.php?diff=135277&oldid=135276 * Ttulka * (+0) /* My esolangs */
11:31:21 <esolangs> [[Hello world program in esoteric languages (N-S)]] https://esolangs.org/w/index.php?diff=135278&oldid=133675 * Ttulka * (+215) add Semafor
11:32:55 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=135279&oldid=135256 * Ttulka * (+14) add Semafor
11:34:37 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:37:13 <esolangs> [[Semafor]] M https://esolangs.org/w/index.php?diff=135280&oldid=135275 * Ttulka * (-1) /* Hello World */ formatting
11:48:57 -!- amby has joined.
11:49:16 -!- X-Scale has quit (Quit: Client closed).
12:01:31 <esolangs> [[Jello]] https://esolangs.org/w/index.php?diff=135281&oldid=135239 * Gggfr * (+224) /* examples */
12:02:55 -!- mtm has quit (Ping timeout: 260 seconds).
12:03:00 -!- tromp has joined.
12:06:12 -!- mtm has joined.
12:36:03 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135282&oldid=135269 * Tommyaweosme * (+214) /* "smoke" ~my cousin */
12:43:01 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135283&oldid=135282 * Tommyaweosme * (+89)
12:48:32 <esolangs> [[Special:Log/upload]] upload * Ractangle * uploaded "[[File:RACTANGLE APROVED.png]]"
12:49:48 <esolangs> [[Talk:RU]] N https://esolangs.org/w/index.php?oldid=135285 * Ractangle * (+156) Created page with "[[File:RACTANGLE APROVED.png|100px]] ~~~~"
13:20:05 <esolangs> [[Talk:Satarcrimp]] https://esolangs.org/w/index.php?diff=135286&oldid=125375 * Ractangle * (+172)
13:54:00 -!- tromp has quit (Read error: Connection reset by peer).
14:20:47 -!- tromp has joined.
14:23:41 -!- Sgeo has joined.
14:30:22 <esolangs> [[Collabi]] https://esolangs.org/w/index.php?diff=135287&oldid=135194 * PkmnQ * (+103) Quine time
14:35:36 <esolangs> [[Collabi]] https://esolangs.org/w/index.php?diff=135288&oldid=135287 * PkmnQ * (+289) /* Added commands */ Make it a bit easier to quine
14:37:23 <esolangs> [[Collabi]] https://esolangs.org/w/index.php?diff=135289&oldid=135288 * PkmnQ * (+4) /* Examples */ Update quine
14:38:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:50:09 <HackEso> olist <https://www.giantitp.com/comics/oots1308.html>: shachaf oerjan Sgeo boily nortti b_jonas Noisytoot
14:52:39 <HackEso> Your omnidryad saddle principal ideal "Darth Ook" oerjan the shifty eldrazi grinch is a punctual expert in minor compaction. Also a Groadep who minces Roald Dahl. He could never remember the word "amortized" so he put it here as a hard trigger. His arkup-nemesis is mediawiki's default diff. He twice punned without noticing it.
14:59:16 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135290&oldid=135283 * Unname4798 * (+32)
14:59:36 <esolangs> [[Talk:My-new-esolang.txt]] M https://esolangs.org/w/index.php?diff=135291&oldid=135290 * Unname4798 * (+203) sign my answer
15:00:33 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135292&oldid=135291 * Unname4798 * (-14)
15:00:59 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135293&oldid=135292 * Unname4798 * (+1)
15:02:29 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135294&oldid=135293 * Unname4798 * (-222) undo my edits
15:03:50 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135295&oldid=135294 * Unname4798 * (+211)
15:04:48 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135296&oldid=135295 * Unname4798 * (-10)
15:05:37 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135297&oldid=135296 * Unname4798 * (+1)
15:07:18 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135298&oldid=135297 * Unname4798 * (+1)
15:07:43 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135299&oldid=135298 * Unname4798 * (-1)
15:09:54 <esolangs> [[Semafor]] M https://esolangs.org/w/index.php?diff=135300&oldid=135280 * Ttulka * (+418) style table
15:10:39 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135301&oldid=135299 * Unname4798 * (-12)
15:11:29 <esolangs> [[Semafor]] M https://esolangs.org/w/index.php?diff=135302&oldid=135300 * Ttulka * (+6) phrasing
15:26:19 -!- tromp has joined.
15:41:36 <esolangs> [[Fun Video Game]] https://esolangs.org/w/index.php?diff=135303&oldid=135257 * Qawtykit * (+370) add implemntations
15:53:46 <esolangs> [[Jello]] M https://esolangs.org/w/index.php?diff=135304&oldid=135281 * PythonshellDebugwindow * (+49) Categories
15:57:27 -!- korvo has quit (Ping timeout: 246 seconds).
16:08:25 -!- mtm has quit (Quit: Textual IRC Client: www.textualapp.com).
16:22:46 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135305&oldid=135301 * Tommyaweosme * (+81)
16:29:44 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135306&oldid=135305 * Unname4798 * (+40) The smoke is INFINITE!
16:30:36 <esolangs> [[Talk:My-new-esolang.txt]] https://esolangs.org/w/index.php?diff=135307&oldid=135306 * Unname4798 * (+228)
16:57:11 <fungot> int-e: ( 1 fnord cursor; c-x c-e will then send scheme code to be evaluated, in sequence: 1 r1 fnord..., fnord
16:57:23 <int-e> fungot: you could've just said no
16:57:23 <fungot> int-e: they're a bit too fine words for that...
17:33:53 <esolangs> [[2b]] N https://esolangs.org/w/index.php?oldid=135308 * Tommyaweosme * (+540) Created page with "2b is an optimization of [[2D BF]] with 6-9 commands depending on how you count. == Commands == > go right v down, resets x coordinates and saves old x to variable ^ up, same x coordinates = bit flip (twice in a row changes x to variable) [] brackets . input (done
17:34:05 <esolangs> [[2D BF]] https://esolangs.org/w/index.php?diff=135309&oldid=77628 * Tommyaweosme * (+10) added mine
17:34:26 <esolangs> [[2D BF]] https://esolangs.org/w/index.php?diff=135310&oldid=135309 * Tommyaweosme * (+11)
17:38:19 <esolangs> [[2b]] https://esolangs.org/w/index.php?diff=135311&oldid=135308 * Tommyaweosme * (-181)
17:38:30 <esolangs> [[2D BF]] https://esolangs.org/w/index.php?diff=135312&oldid=135310 * Tommyaweosme * (+0)
17:42:50 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:18:37 -!- korvo has joined.
18:30:35 -!- chiselfuse has quit (Remote host closed the connection).
18:31:08 -!- chiselfuse has joined.
18:58:07 -!- ais523 has joined.
19:07:08 <esolangs> [[StupidStackLanguage]] https://esolangs.org/w/index.php?diff=135313&oldid=134729 * Ractangle * (+157) /* Hello World */
19:11:37 <zzo38> Can custom linker scripts be made portable for use on multiple computers (in case you want to add your own sections and your own address calculations for sections, etc)?
19:13:16 -!- X-Scale has joined.
19:15:05 -!- X-Scale28 has joined.
19:17:57 -!- X-Scale has quit (Ping timeout: 256 seconds).
19:20:47 -!- X-Scale28 has quit (Ping timeout: 256 seconds).
19:22:24 <esolangs> [[2D]] https://esolangs.org/w/index.php?diff=135314&oldid=135220 * Ractangle * (-48)
19:23:11 <esolangs> [[2D]] https://esolangs.org/w/index.php?diff=135315&oldid=135314 * Ractangle * (+1) /* Hello, world! */
19:25:36 <esolangs> [[2D]] https://esolangs.org/w/index.php?diff=135316&oldid=135315 * Ractangle * (+30) /* Loping counter */
19:26:22 <esolangs> [[2D]] https://esolangs.org/w/index.php?diff=135317&oldid=135316 * Ractangle * (+23) /* Commands */
19:26:22 -!- X-Scale has joined.
19:26:41 <esolangs> [[2D]] https://esolangs.org/w/index.php?diff=135318&oldid=135317 * Ractangle * (+0) /* Loping counter */
19:27:15 <esolangs> [[2D]] https://esolangs.org/w/index.php?diff=135319&oldid=135318 * Ractangle * (+29) /* Commands */
19:27:56 <esolangs> [[2D]] https://esolangs.org/w/index.php?diff=135320&oldid=135319 * Ractangle * (+1) /* Loping counter */
19:30:31 <esolangs> [[Symbolic Brainfuck]] https://esolangs.org/w/index.php?diff=135321&oldid=78135 * Ractangle * (-6) /* Language overview */
19:32:07 -!- X-Scale has quit (Ping timeout: 256 seconds).
19:33:20 -!- tromp has joined.
19:41:57 <esolangs> [[2D]] https://esolangs.org/w/index.php?diff=135322&oldid=135320 * Ractangle * (-24) /* Commands */
19:46:16 <korvo> I'm in one of those weird moods, like in Dwarf Fortress. I'm going to make yet another Brainfuck page. Ping me here or on the talk if you want something about it to change; I think it needs to exist and I can't find it elsewhere.
19:59:45 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=135323&oldid=135248 * Tommyaweosme * (-340) Replaced content with "{{User:Tommyaweosme/tabs}} meow"
20:04:09 <esolangs> [[Algebraic Brainfuck]] N https://esolangs.org/w/index.php?oldid=135324 * Corbin * (+1538) Stub out a page on algebra of BF. Saving progress often because connection is questionable.
20:11:50 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[My-new-esolang.txt/Talk]]": redirect left behind after reverted move
20:12:08 -!- Sgeo_ has joined.
20:12:17 -!- Sgeo has quit (Read error: Connection reset by peer).
20:12:39 <ais523> korvo: I will be interested to see what an artifact BF derivative look slike
20:23:53 <ais523> ooh, I see – almost all BF derivatives are an operational semantics, whereas you're trying to build a denotational semantics of BF
20:24:35 <esolangs> [[Algebraic Brainfuck]] https://esolangs.org/w/index.php?diff=135325&oldid=135324 * Corbin * (+699) /* As a Data Type */ Give a full ADT. Two languages are used to suggest that the semantics are language-independent.
20:25:34 <korvo> ais523: I hope it's not too disappointing. This is a (to-me) necessary stepping stone before writing down anything about perfectoid BF. In particular, I *really* don't like the possibility of unbalanced loops.
20:26:45 <ais523> by unbalanced, do you mean unmatched [ and ], or unmatched < and >?
20:27:25 <ais523> incidentally, it crosses my mind that if the tape is infinite both ways, you can interpret < and > as moving the entire tape rather than the tape pointer
20:28:32 <korvo> I mean unmatched [ and ]. I have to give up on matching < and > but I appreciate why bfmacro does it.
20:29:29 -!- salpynx has joined.
20:40:25 <ais523> I'm pretty sure that unmatched [ and ] isn't actually a part of BF – interpreters are allowed to reject that in the parser before they even start running
20:40:52 <ais523> I think some interpreters will produce output from input like ++++++++[->++++++++<]>.[ but others will notice before they start running
20:41:00 <ais523> ^bf ++++++++[->++++++++<]>.[
20:41:04 <ais523> !bf ++++++++[->++++++++<]>.[
20:41:12 <ais523> `! bf ++++++++[->++++++++<]>.[
20:41:19 <ais523> `! bf ++++++++[->++++++++<]>.
20:41:32 <ais523> that is an interesting error behaviour from HackEso
20:43:45 <esolangs> [[Algebraic Brainfuck]] https://esolangs.org/w/index.php?diff=135326&oldid=135325 * Corbin * (+2157) Write out two of the standard idioms.
20:44:56 <korvo> ais523: Still chewing on your operational/denotational note. I think it's very operational, but it's in terms of what compiler authors care about: messages exchanged between CPU and memory controller, serialized by clock.
20:46:09 <korvo> Certainly the denotational framing makes it clearer how to use the algebra, but the operational framing is what I'll need if I want to *prove* that all the high-level rewriting is valid. Like, how do you prove that writes commute otherwise?
20:47:52 -!- tromp has quit (Read error: Connection reset by peer).
20:48:27 <ais523> I guess a denotational semantics for BF-without-I/O is easy: a program is a function from tapes to tapes, except that it can enter an infinite loop so you need a nontermination monad around it
20:48:33 <ais523> and then you can use another monad to add I/O
20:49:22 <ais523> I am not sure if this is actually useful, though
20:49:52 <korvo> Mm, that's definitely a direction that could work. I'm going to do something a bit more fundamental for now, pointing out that there's a monoid and that we should really think of BF* instead of BF.
20:50:38 <korvo> And then that could be extended into something that could carry monads later. I think it would work for the simple case of externally-serialized I/O which pauses the machine.
20:50:47 <ais523> huh, now you're making me think of BF as a concatenative language
20:52:56 <korvo> Category theory's a hell of a drug and my supplier is an NNO-algebra~
20:57:17 <esolangs> [[Deadfish 2]] M https://esolangs.org/w/index.php?diff=135327&oldid=65491 * PythonshellDebugwindow * (+70) Categories
20:57:51 <esolangs> [[Gamelang]] M https://esolangs.org/w/index.php?diff=135328&oldid=124243 * PythonshellDebugwindow * (+33) Stub, category
21:06:15 -!- ais523 has quit (Remote host closed the connection).
21:07:31 -!- ais523 has joined.
21:07:31 <b_jonas> "you can interpret < and > as moving the entire tape rather than the tape pointer" => isn't that how brainfuck and Turing-machines always work? the tape metaphor is called that because it is similar to magnetic tape on spools that was used so much in early computers
21:10:07 <b_jonas> not metaphor, the tape is an idealized abstraction for the real spooled magnetic tape
21:10:08 <salpynx> In my bf TM an unmatched ] will indicate the end of the program string, primarily because i'm trying to over-optimise and not add an extra blank symbol, but that gives unmatched ] a strong meaning
21:10:08 <ais523> b_jonas: not in most BF implementations
21:10:26 <ais523> it is how Turing Machines are normally represented, but I don't think simulators use that implementation internally
21:10:29 <korvo> Turing's original metaphor was of a human sitting at a desk with (two) stacks of paper and a spot in front of them that holds a single page. Literally pencil-and-paper.
21:10:37 <ais523> salpynx: this is frequently suggested
21:11:06 <ais523> or, well, mostly in the context of "why does everyone use ! to separate the program from the input rather than ]"
21:11:35 <salpynx> Turing machine bf structure: left-infinte 8-bit per cell tape, left-infinite 1-bit nested-bracket counting stack, finite program store, finite input buffer, right-infinte output
21:13:27 <salpynx> with that online TM simulator, I'm using _ as ], so the blank tape is effectively all close-brackets
21:15:58 <esolangs> [[Algebraic Brainfuck]] https://esolangs.org/w/index.php?diff=135329&oldid=135326 * Corbin * (+1518) Show off the standard monoid. Y'know, somebody could build a category from this!
21:27:11 <salpynx> program and input: +>++>+++-<+{NUL}ABCD must be encoded to _>+_>_+_+_>_+_+_+_-_<_+___>_>_>_<_>_+_>_- This runs in the TM now. loops are next, then IO, then builtin input formatting
21:31:04 <salpynx> With this 8 symbol TM construction, unmatched [ are not possible, there are infinitely many ] following the user supplied input.
21:41:31 -!- ais523 has quit (Remote host closed the connection).
21:42:44 -!- ais523 has joined.
21:43:45 <esolangs> [[Algebraic Brainfuck]] https://esolangs.org/w/index.php?diff=135330&oldid=135329 * Corbin * (+451) /* As Idioms */ Enumerate all the idioms I use in my optimizer.
21:48:22 <esolangs> [[Messenger]] M https://esolangs.org/w/index.php?diff=135331&oldid=134151 * Squareroot12621 * (+76) Added Github repository to == Interpreters ==.
21:50:52 <fizzie> Hrm. Looked at egobf (which is what `! bf uses, rather understandably given where it's from) code, and I _think_ I understand what's happening for `++++++++[->++++++++<]>.[`, but it's quite unintuitive.
21:51:09 <fizzie> The way it appears to work, the routine `optimize` is what turns the source code into a "program"; when it sees a `[` it calls optimize recursively; when it sees a `]` it returns; and when it hits the end of input it assembles in a `FIN` operation, and (crucially) resets `pptr`, the pointer that tells it how far it's gotten in constructing the program.
21:51:10 <esolangs> [[User:Squareroot12621]] https://esolangs.org/w/index.php?diff=135332&oldid=134152 * Squareroot12621 * (+80) Add Too Many Variables!.
21:51:36 <fizzie> So given `++++++++[->++++++++<]>.[`, it first constructs the program corresponding to `++++++++[->++++++++<]>.`, then it does the recursive call. But that recursive call never hits a `]`, so it adds the `FIN` operation and resets the position. After returning from the recursive call, it then puts the opcode corresponding to the `]` at the current position (start of program), hits the end of input
21:51:38 <fizzie> again, and appends the `FIN`.
21:51:48 <fizzie> And the final effect of `++++++++[->++++++++<]>.[` is that at the start of the program there's a "jump-if-nonzero" that's not taken (because the tape is empty), followed by `FIN`, at which point the interpreter exits.
21:54:05 <esolangs> [[Algebraic Brainfuck]] https://esolangs.org/w/index.php?diff=135333&oldid=135330 * Corbin * (+346) /* As a Monoid */ And add all the rewrites that I use.
21:58:05 <salpynx> appending many extra unmatched ] i.e. `++++++++[->++++++++<]>.[]]]]]]]]` causes HackEso to segfault
21:58:18 <esolangs> [[Algebraic Brainfuck]] M https://esolangs.org/w/index.php?diff=135334&oldid=135333 * Corbin * (+57) /* Listing of Idioms */ One more from my notes which I don't use: detect certain infinite loops in terms of Couch's set() macro.
22:01:29 <fizzie> `` \! bf '++++++++[->++++++++<]>.[]]' # a single one is enough for a segfault
22:02:07 <salpynx> ^bf ++++++++[->++++++++<]>.[]
22:02:09 <ais523> oh wow, BF implementations segfaulting *parsing* the code
22:02:39 <fizzie> Per my understanding, it should ignore everything after the first unmatched `]`, because it causes `optimize` to return from the top-level call; but it also makes it skip adding the program-terminating `FIN`, meaning the interpreter would run off the end of the program.
22:02:55 <fizzie> So arguably it's not a segfault in parsing as such.
22:04:10 <ais523> the parser is just producing an object that doesn't belong to its data type
22:07:16 <fizzie> Funnily enough, fungot and HackEso have somewhat similar brainfuck interpretation strategies, in that both convert the brainfuck into an intermediate representation of sorts. (Although HackEso has more transformations, like turning [-] into `p[0] = 0`-equivalent, and [->>+++<<] into an `p[2] += 3*p[0]; p[0] = 0` style of a thing.)
22:07:16 <fungot> fizzie: oh, bugger it all.
22:07:29 <fizzie> fungot: I didn't mean you should feel bad about that.
22:07:29 <fungot> fizzie: yeah. i have a problem" :) is it possible without reinventing the wheel unnecessarily :) i like it
22:14:20 <ais523> BF's syntax is not a very good form for implementing BF with
22:14:41 <ais523> I think most implementations that do any optimisation at all run-length encode + and -, for example (even fungot does that)
22:14:42 <fungot> ais523: i got a 5 on it. i always have trouble with f64vectors and the blas egg. chicken tells me " what are you
22:15:27 <ais523> my BF implementation in Esimpl doesn't, I guess – its main optimisation is storing numbers in binary rather than unary
22:15:45 <ais523> and it just has increment/decrement routines, not general addition, so run-length-encoding wouldn't help
22:24:18 <esolangs> [[Too Many Variables!]] N https://esolangs.org/w/index.php?oldid=135335 * Squareroot12621 * (+1057) Created page.
23:02:44 -!- X-Scale has joined.
23:14:49 -!- X-Scale has quit (Ping timeout: 256 seconds).
23:23:24 <korvo> ais523: Hopefully easy question: Are computed movements possible in Brainfuck without something like a stack and marker cells?
23:24:03 <korvo> I basically need to be told that no, it's not feasible to represent a graph of natural numbers by giving each node a cell.
23:27:03 <ais523> korvo: it's possible to move a particular distance along the tape without marker cells, although you either need a) a regular pattern of temporary cells in between the useful ones to use as working space (most large BF programs choose to do this anyway), or b) to move the existing data out of the way to leave room for your working
23:28:28 <ais523> the idea is that you move the loop counter along the tape in addition to the tape pointer, so that it's always a fixed distance away from the pointer
23:28:42 <esolangs> [[Algebraic Brainfuck]] https://esolangs.org/w/index.php?diff=135336&oldid=135334 * Corbin * (+53) Categorize.
23:29:10 <ais523> and by "always" I mean at a known point in the loop
23:29:45 <korvo> ais523: I see. It sounds like I found a special case of this by using a stack with two cells per stack item and using [>>] and [<<] to scroll up and down the stack.
23:30:43 <ais523> you probably found the other common technique, where you use marker cells to mark particularly interesting cells and then move between the interesting cells by looking for the markers
23:31:07 <korvo> I think of it as like a construction crane. The crane has to lift a special cabinet into place in order to incrementally add height to itself.
23:31:42 <korvo> I was marking every occupied stack item. 21 21 21 01 01 01 21 Pairs!
23:32:04 <korvo> I think that it's because of bfmacro's conventions, which leave most cells 0 at most times.
23:32:25 <korvo> So I needed regularly-spaced markers just to not drift off into space.
23:33:20 <ais523> the usually simplest mechanism is to have a "movement track" of regularly spaced cells, which are usually 1, but with a few interesting cells (e.g. the start and end of a queue) as 0
23:44:07 <esolangs> [[Too Many Variables!]] M https://esolangs.org/w/index.php?diff=135337&oldid=135335 * Squareroot12621 * (+232) Add the special stuff.
23:44:13 <korvo> Yeah, totally makes sense. I'll have to think about this more, but I appreciate your advice and insight.
23:44:46 -!- ais523 has quit (Remote host closed the connection).
23:44:49 <korvo> I think I'm done with semantics of BF for now. If you have any questions, ask them and I'll gladly improve the page, but I've emptied my head.
23:45:59 -!- ais523 has joined.
23:50:59 <esolangs> [[Light Pattern]] https://esolangs.org/w/index.php?diff=135338&oldid=123701 * Rottytooth * (+414) /* External resources */
23:57:27 <esolangs> [[Talk:Divmeq]] M https://esolangs.org/w/index.php?diff=135339&oldid=134226 * TheCanon2 * (+571) Split the operators section into Operations