> 1764894782 810130 PRIVMSG #esolangs :14[[07EsoBall14]]4 N10 02https://esolangs.org/w/index.php?oldid=169998 5* 03A() 5* (+419) 10Created page with "[[EsoBall]] is an esolang made by [[User:A()]]. Inspired by https://en.wikipedia.org/wiki/American_football. ==How it works== There are two teams, Team Program and Team Blockers. In order to output a 1, Team Program must throw it to the goal. To output a zero, Team Blockers < 1764895447 684994 :amby!~ambylastn@host-81-178-154-63.as13285.net 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 < 1764895960 517948 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine < 1764896052 586704 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord > 1764900386 312362 PRIVMSG #esolangs :14[[07!frjnrehrbwgyrigbyieurgbyfaerkhbvrwgtr.14]]4 M10 02https://esolangs.org/w/index.php?diff=169999&oldid=169913 5* 03Sawyer.go0923 5* (+40) 10fixed and added somethings. < 1764902113 425051 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1764903124 954225 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1764903715 237363 :dbohdan!~dbohdan@user/dbohdan QUIT :Ping timeout: 240 seconds > 1764904794 243818 PRIVMSG #esolangs :14[[07User:FluixMakesEsolangs14]]4 M10 02https://esolangs.org/w/index.php?diff=170000&oldid=169889 5* 03FluixMakesEsolangs 5* (+14) 10/* 2025 */ > 1764906184 65739 PRIVMSG #esolangs :14[[07User:Tommyaweosme14]]4 10 02https://esolangs.org/w/index.php?diff=170001&oldid=169915 5* 03Tommyaweosme 5* (+897) 10 > 1764906489 610538 PRIVMSG #esolangs :14[[07Abcdefghijklmnopqrstuvwxyz.now.i.know.my.abcs.next.time.wont.you.sing.with.me14]]4 10 02https://esolangs.org/w/index.php?diff=170002&oldid=168480 5* 03Sawyer.go0923 5* (-347) 10 > 1764906568 124039 PRIVMSG #esolangs :14[[07Abcdefghijklmnopqrstuvwxyz.now.i.know.my.abcs.next.time.wont.you.sing.with.me14]]4 10 02https://esolangs.org/w/index.php?diff=170003&oldid=170002 5* 03Sawyer.go0923 5* (+21) 10 > 1764907728 845810 PRIVMSG #esolangs :14[[07User:Tommyaweosme14]]4 10 02https://esolangs.org/w/index.php?diff=170004&oldid=170001 5* 03Tommyaweosme 5* (+726) 10bringing together past parts of old userpages from long ago in order to create the one correct userpage in perfect harmony and sync with all other variations past. < 1764908247 780794 :ais523!~ais523@user/ais523 QUIT :Quit: sorry about my connection > 1764909244 65671 PRIVMSG #esolangs :14[[07Redirekt14]]4 N10 02https://esolangs.org/w/index.php?oldid=170005 5* 03Tommyaweosme 5* (+548) 10Created page with "Redirekt is an esoteric data structure made by [[user:tommyaweosme]]. It works like this: you can place data on any part of an infinitely long line. Gravity will push it down. Any two data that intersects will permenantly merge (by addition, concatenation, or any > 1764909389 204774 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Mun Hammer 5* 10New user account > 1764909536 584901 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=170006&oldid=169940 5* 03Mun Hammer 5* (+233) 10/* Introductions */ < 1764911816 396567 :dbohdan!~dbohdan@user/dbohdan JOIN #esolangs dbohdan :ZNC - https://znc.in < 1764912414 231159 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1764912558 403804 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine < 1764913747 974271 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1764913999 216244 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Client Quit < 1764914213 971440 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord > 1764914952 550642 PRIVMSG #esolangs :14[[07User:Tommyaweosme14]]4 10 02https://esolangs.org/w/index.php?diff=170007&oldid=170004 5* 03Ais523 5* (-48) 10 > 1764915042 819162 PRIVMSG #esolangs :14[[07Special:Log/delete14]]4 revision10 02 5* 03Ais523 5* 10Ais523 changed visibility of 11 revisions on page [[02User:Tommyaweosme10]]: content hidden: redact personal/private information: according to [[Esolang:Policy]] you should not submit private information to the wiki > 1764916239 602294 PRIVMSG #esolangs :14[[07Vixen14]]4 10 02https://esolangs.org/w/index.php?diff=170008&oldid=169182 5* 03Corbin 5* (+1921) 10Add Vixen expression language. > 1764919809 62985 PRIVMSG #esolangs :14[[07Talk:OISC14]]4 M10 02https://esolangs.org/w/index.php?diff=170009&oldid=169995 5* 03None1 5* (+0) 10/* does an OISC have to be Turing complete? */ < 1764920090 715216 :ais523!~ais523@user/ais523 QUIT :Quit: quit > 1764920456 69825 PRIVMSG #esolangs :14[[07Interpret Esolangs Online14]]4 10 02https://esolangs.org/w/index.php?diff=170010&oldid=168583 5* 03None1 5* (+224) 10/* Note */ > 1764920508 806617 PRIVMSG #esolangs :14[[07Interpret Esolangs Online14]]4 10 02https://esolangs.org/w/index.php?diff=170011&oldid=170010 5* 03None1 5* (+1) 10/* Note */ < 1764922348 878361 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1764923421 789463 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 JOIN #esolangs * :Textual User > 1764924773 125347 PRIVMSG #esolangs :14[[07Satans Disciples GangLang $14]]4 M10 02https://esolangs.org/w/index.php?diff=170012&oldid=165514 5* 03JIT 5* (+23) 10 > 1764926695 194147 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Mker-bin 5* 10New user account > 1764928023 465745 PRIVMSG #esolangs :14[[07Goto machine14]]4 M10 02https://esolangs.org/w/index.php?diff=170013&oldid=158978 5* 03TenBillionPlusOne 5* (+17) 10/* Memory and syntax */ > 1764928081 362419 PRIVMSG #esolangs :14[[07Goto machine14]]4 M10 02https://esolangs.org/w/index.php?diff=170014&oldid=170013 5* 03TenBillionPlusOne 5* (+0) 10/* Execution */ > 1764928283 956890 PRIVMSG #esolangs :14[[07Goto machine14]]4 M10 02https://esolangs.org/w/index.php?diff=170015&oldid=170014 5* 03TenBillionPlusOne 5* (+14) 10/* Looping counter */ > 1764928325 585706 PRIVMSG #esolangs :14[[07Goto machine14]]4 M10 02https://esolangs.org/w/index.php?diff=170016&oldid=170015 5* 03TenBillionPlusOne 5* (+2) 10/* NOP */ > 1764928421 306897 PRIVMSG #esolangs :14[[07Goto machine14]]4 M10 02https://esolangs.org/w/index.php?diff=170017&oldid=170016 5* 03TenBillionPlusOne 5* (+14) 10/* NOP */ > 1764929199 529879 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170018&oldid=169996 5* 03Yayimhere2(school) 5* (-151) 10The proof is still no proof. There's multiple cases where things are very close to, but not 100% TC, even though they look like they'd be. If you want to prove it, then make a formal proof, by compilation or similar. Im deleting the section again, it is no proof. For examp < 1764930013 647071 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1764930133 698703 PRIVMSG #esolangs :14[[07User talk:Buckets14]]4 10 02https://esolangs.org/w/index.php?diff=170019&oldid=168822 5* 03JIT 5* (+933) 10/* What did you mean by this? */ new section > 1764930240 868658 PRIVMSG #esolangs :14[[074gn/14]]4 M10 02https://esolangs.org/w/index.php?diff=170020&oldid=169784 5* 03JIT 5* (+50) 10 < 1764930244 106980 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 JOIN #esolangs * :Textual User < 1764930931 662618 :APic!apic@apic.name PRIVMSG #esolangs :Hi * < 1764931255 679787 :msv!~msv@user/msv QUIT :Remote host closed the connection > 1764932372 539296 PRIVMSG #esolangs :14[[07Hangover14]]4 N10 02https://esolangs.org/w/index.php?oldid=170021 5* 03Yayimhere2(school) 5* (+1167) 10Created page with "'''Hangover''', named by the constant spinning of its counter, is a 2d esoteric programming language created by [[User:Yayimhere]]. It uses only two commands. == Semantics == Hangover has nowhere to store memory. As such, it must be stored in the program. It > 1764932711 466733 PRIVMSG #esolangs :14[[07XOR Machine14]]4 N10 02https://esolangs.org/w/index.php?oldid=170022 5* 03None1 5* (+31) 10Redirected page to [[XO Mchne]] > 1764932802 575880 PRIVMSG #esolangs :14[[07Hangover14]]4 10 02https://esolangs.org/w/index.php?diff=170023&oldid=170021 5* 03Yayimhere2(school) 5* (+20) 10/* Semantics */ > 1764932847 671789 PRIVMSG #esolangs :14[[07Talk:OISC14]]4 10 02https://esolangs.org/w/index.php?diff=170024&oldid=170009 5* 03None1 5* (+308) 10/* Does an OISC have to be Turing complete? */ > 1764932887 225851 PRIVMSG #esolangs :14[[07User:Yayimhere14]]4 10 02https://esolangs.org/w/index.php?diff=170025&oldid=169734 5* 03Yayimhere2(school) 5* (+15) 10/* esolangs */ > 1764934802 425166 PRIVMSG #esolangs :14[[07Brain-accumulator14]]4 10 02https://esolangs.org/w/index.php?diff=170026&oldid=160267 5* 03Kaveh Yousefi 5* (+8143) 10Supplemented an interpreter implementation in the programming language Common Lisp. > 1764935827 705641 PRIVMSG #esolangs :14[[07Brain-accumulator14]]4 10 02https://esolangs.org/w/index.php?diff=170027&oldid=170026 5* 03Kaveh Yousefi 5* (+142) 10Rectified the cat program (Cat), which would translate to the brainfuck code ,[,.], and supplemented a truth-machine implementation. > 1764935883 113602 PRIVMSG #esolangs :14[[07Brain-accumulator14]]4 M10 02https://esolangs.org/w/index.php?diff=170028&oldid=170027 5* 03Kaveh Yousefi 5* (+0) 10Rectified the hyperlink to the cat program article. < 1764936786 941022 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1764937298 419738 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 JOIN #esolangs * :Textual User > 1764940645 203089 PRIVMSG #esolangs :14[[07Brain-accumulator14]]4 M10 02https://esolangs.org/w/index.php?diff=170029&oldid=170028 5* 03Kaveh Yousefi 5* (-1) 10Rectified an instance of cacography. > 1764941553 243363 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170030&oldid=170018 5* 03Aadenboy 5* (+707) 10simple translation to unbounded brainfuck, turing-complete > 1764943087 518032 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170031&oldid=170030 5* 03Yayimhere2(school) 5* (+53) 10/* Computational class */ add "Note that this assumes infinity is a valid constant." < 1764943176 528002 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1764943338 395035 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=170032&oldid=166390 5* 03Yayimhere2(school) 5* (+32) 10/* changes */ < 1764943364 413888 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 JOIN #esolangs * :Textual User > 1764943404 333157 PRIVMSG #esolangs :14[[07Talk:QX14]]4 N10 02https://esolangs.org/w/index.php?oldid=170033 5* 03Aadenboy 5* (+583) 10Created page with "adding a note here since I don't have the time to do this at the momenta proof w/o infinity should be possible by simulating the wrapping behavior for + and -, then replacing and - with 257 and 0 1764943670 522534 PRIVMSG #esolangs :14[[07Special:Log/upload14]]4 upload10 02 5* 03 5* 10uploaded "[[02File:QX logo.png10]]" > 1764943687 688205 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170035&oldid=170031 5* 03 5* (+45) 10 > 1764943746 693486 PRIVMSG #esolangs :14[[07Hangover14]]4 10 02https://esolangs.org/w/index.php?diff=170036&oldid=170023 5* 03Yayimhere2(school) 5* (+121) 10/* Semantics */ > 1764943808 285455 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170037&oldid=170035 5* 03Yayimhere2(school) 5* (+3) 10/* Computational class */ its translation *from* not *to* > 1764943819 15358 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170038&oldid=170037 5* 03Yayimhere2(school) 5* (-1) 10/* Computational class */ > 1764944100 686828 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170039&oldid=170038 5* 03 5* (-2901) 10/* Python interpreter */ Removed AI generated interpreter > 1764944263 620786 PRIVMSG #esolangs :14[[07Assembler14]]4 N10 02https://esolangs.org/w/index.php?oldid=170040 5* 03Timm 5* (+1083) 10Created page with "== '''''MEMORY''''' == Regs; A, B, C, D, E, ACC, PC 0000 0001 0010 0011 0100 0101 NOCODE Ram; TR, ER, PROGRAM VALUE OR PV (STORES PV'S A, B, C, D, E, ACC AND SO ON) 0110 0111 NOCODE INT; 1000 INT == '''''COMMANDS''''' == MOV [REG] [INT/REG] load [2] into [1] MOV [R > 1764944295 615705 PRIVMSG #esolangs :14[[07Assembler14]]4 10 02https://esolangs.org/w/index.php?diff=170041&oldid=170040 5* 03Timm 5* (+14) 10 > 1764944328 134690 PRIVMSG #esolangs :14[[07User:Timm14]]4 10 02https://esolangs.org/w/index.php?diff=170042&oldid=169883 5* 03Timm 5* (+15) 10 > 1764944354 798378 PRIVMSG #esolangs :14[[07Eror14]]4 10 02https://esolangs.org/w/index.php?diff=170043&oldid=146993 5* 035anz 5* (+0) 10/* Definitions & Redefinitions */ > 1764944395 483608 PRIVMSG #esolangs :14[[07QX14]]4 M10 02https://esolangs.org/w/index.php?diff=170044&oldid=170039 5* 03Aadenboy 5* (+60) 10/* Lua interpreter */ negative infinity > 1764944467 64400 PRIVMSG #esolangs :14[[07Eror14]]4 10 02https://esolangs.org/w/index.php?diff=170045&oldid=170043 5* 035anz 5* (+1) 10/* Stack */ > 1764944564 165156 PRIVMSG #esolangs :14[[07User talk:14]]4 10 02https://esolangs.org/w/index.php?diff=170046&oldid=169805 5* 03 5* (+663) 10/* QX is my best project so far */ new section > 1764945012 794594 PRIVMSG #esolangs :14[[07Eror14]]4 10 02https://esolangs.org/w/index.php?diff=170047&oldid=170045 5* 035anz 5* (-3) 10/* Exclusionary cat program */ > 1764945073 270 PRIVMSG #esolangs :14[[07A Delusion of Control14]]4 N10 02https://esolangs.org/w/index.php?oldid=170048 5* 03Yayimhere2(school) 5* (+819) 10Created page with "'''A Delusion of Control''' or ADoC, is an esoteric language, devised by [[User:Yayimhere]], as a strange stack based language. == Command set == Using the following notation: '''stack - stack after command , program after command''': * '''''': > 1764945260 672384 PRIVMSG #esolangs :14[[07Eror14]]4 10 02https://esolangs.org/w/index.php?diff=170049&oldid=170047 5* 035anz 5* (-1) 10/* Number guessing game */ > 1764945282 529380 PRIVMSG #esolangs :14[[07Eror14]]4 10 02https://esolangs.org/w/index.php?diff=170050&oldid=170049 5* 035anz 5* (+1) 10/* Number guessing game */ > 1764945856 376981 PRIVMSG #esolangs :14[[07User:QuantumV14]]4 M10 02https://esolangs.org/w/index.php?diff=170051&oldid=161122 5* 03QuantumV 5* (+16) 10 > 1764945878 355965 PRIVMSG #esolangs :14[[07CONTAIN14]]4 M10 02https://esolangs.org/w/index.php?diff=170052&oldid=169957 5* 03QuantumV 5* (+27) 10 > 1764946178 666377 PRIVMSG #esolangs :14[[07Category talk:Stubs14]]4 10 02https://esolangs.org/w/index.php?diff=170053&oldid=8394 5* 035anz 5* (+179) 10 > 1764946637 18575 PRIVMSG #esolangs :14[[07Category talk:Thematic14]]4 N10 02https://esolangs.org/w/index.php?oldid=170054 5* 035anz 5* (+310) 10Created page with "== All languages == Could you not argue every language is Thematic? brainfuck could be argued to be themed around having a small interpreter. [[Forte]] could be argued to be themed around redefining numbers. You could realistically use any language as an exa > 1764946866 396516 PRIVMSG #esolangs :14[[07Use of AI in esoteric languages14]]4 10 02https://esolangs.org/w/index.php?diff=170055&oldid=169976 5* 03 5* (-30) 10/* Esolang interpreters generated by AI */ > 1764947517 391987 PRIVMSG #esolangs :14[[07A Delusion of Control14]]4 10 02https://esolangs.org/w/index.php?diff=170056&oldid=170048 5* 03Yayimhere2(school) 5* (+55) 10/* Command set */ < 1764947789 268724 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname > 1764949182 332445 PRIVMSG #esolangs :14[[07Category talk:Thematic14]]4 10 02https://esolangs.org/w/index.php?diff=170057&oldid=170054 5* 03Aadenboy 5* (+517) 10/* All languages */ reply < 1764949820 580862 :msv!~msv@user/msv JOIN #esolangs msv :msv < 1764949836 548562 :msv!~msv@user/msv QUIT :Remote host closed the connection < 1764949861 870012 :msv!~msv@user/msv JOIN #esolangs msv :msv > 1764950943 45750 PRIVMSG #esolangs :14[[07Gemini14]]4 N10 02https://esolangs.org/w/index.php?oldid=170058 5* 03PrySigneToFry 5* (+35383) 10Created page with "{{WIP}} Not be confused with the AI with the same name of this programming language. Gemini is designed by PSTF. = Intro = == Code Blocks == In order to make the program look more layered and clear, we do not use any brackets to distinguish code blocks. All cod > 1764950961 684032 PRIVMSG #esolangs :14[[07Gemini14]]4 10 02https://esolangs.org/w/index.php?diff=170059&oldid=170058 5* 03PrySigneToFry 5* (+22093) 10 > 1764951235 385962 PRIVMSG #esolangs :14[[07Abcdefghijklmnopqrstuvwxyz.now.i.know.my.abcs.next.time.wont.you.sing.with.me14]]4 10 02https://esolangs.org/w/index.php?diff=170060&oldid=170003 5* 03Sawyer.go0923 5* (+36) 10 > 1764951381 553994 PRIVMSG #esolangs :14[[07Talk:QX14]]4 10 02https://esolangs.org/w/index.php?diff=170061&oldid=170033 5* 03PkmnQ 5* (+219) 10 < 1764951526 885431 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1764951596 982762 PRIVMSG #esolangs :14[[07Talk:QX14]]4 M10 02https://esolangs.org/w/index.php?diff=170062&oldid=170061 5* 03PkmnQ 5* (+9) 10forgot the newline < 1764951616 100115 :Yayimhere!~Yayimhere@197.184.68.100 JOIN #esolangs * :[https://web.libera.chat] Yayimhere < 1764951622 919414 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :hiii! > 1764952023 749404 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170063&oldid=170044 5* 03Aadenboy 5* (+836) 10/* Computational class */ some bug fixing + a non-infinity proof < 1764952571 325198 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Good morning. > 1764952701 323453 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03RikoMamaBala 5* 10New user account > 1764952723 908900 PRIVMSG #esolangs :14[[07Talk:QX14]]4 10 02https://esolangs.org/w/index.php?diff=170064&oldid=170062 5* 03PkmnQ 5* (+97) 10 < 1764952952 92773 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 JOIN #esolangs * :Textual User > 1764953497 688232 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=170065&oldid=170006 5* 03RikoMamaBala 5* (+256) 10 < 1764953811 20515 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :thanks korvo! > 1764955221 919794 PRIVMSG #esolangs :14[[07Use of AI in esoteric languages14]]4 M10 02https://esolangs.org/w/index.php?diff=170066&oldid=170055 5* 03Ractangle 5* (+34) 10 > 1764955288 447900 PRIVMSG #esolangs :14[[07Use of AI in esoteric languages14]]4 10 02https://esolangs.org/w/index.php?diff=170067&oldid=170066 5* 03Yayimhere2(school) 5* (-9) 10/* Esolang interpreters generated by AI */ its not actually official, there is none(COPY WITH @) > 1764955447 65510 PRIVMSG #esolangs :14[[07User:Aadenboy/xml maybe14]]4 N10 02https://esolangs.org/w/index.php?oldid=170068 5* 03Aadenboy 5* (+6303) 10cool concept I came up with some time ago > 1764955485 796558 PRIVMSG #esolangs :14[[07User:Aadenboy/xml maybe14]]4 10 02https://esolangs.org/w/index.php?diff=170069&oldid=170068 5* 03Aadenboy 5* (+111) 10 > 1764955796 607638 PRIVMSG #esolangs :14[[07User:Aadenboy14]]4 10 02https://esolangs.org/w/index.php?diff=170070&oldid=169986 5* 03Aadenboy 5* (+30) 10/* just some drafts */ add [[User:Aadenboy/xml maybe]] > 1764955815 475260 PRIVMSG #esolangs :14[[07User:Aadenboy/randomuserpage14]]4 10 02https://esolangs.org/w/index.php?diff=170071&oldid=169946 5* 03Aadenboy 5* (+28) 10add [[User:Aadenboy/xml maybe]] > 1764955994 726247 PRIVMSG #esolangs :14[[07User talk:Aadenboy14]]4 10 02https://esolangs.org/w/index.php?diff=170072&oldid=165523 5* 03Yayimhere2(school) 5* (+527) 10/* Discussion */ > 1764956042 954695 PRIVMSG #esolangs :14[[07User:Yayimhere14]]4 10 02https://esolangs.org/w/index.php?diff=170073&oldid=170025 5* 03Yayimhere2(school) 5* (+39) 10/* things about me */ > 1764956451 124474 PRIVMSG #esolangs :14[[07Talk:QX14]]4 10 02https://esolangs.org/w/index.php?diff=170074&oldid=170064 5* 03 5* (+750) 10/* You can translate Brainpocalypse to QX */ new section > 1764956574 611459 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170075&oldid=170063 5* 03 5* (+284) 10/* Computational class */ > 1764956594 541396 PRIVMSG #esolangs :14[[07Talk:QX14]]4 10 02https://esolangs.org/w/index.php?diff=170076&oldid=170074 5* 03 5* (+47) 10/* You can translate Brainpocalypse to QX */ > 1764956626 218418 PRIVMSG #esolangs :14[[07QX14]]4 M10 02https://esolangs.org/w/index.php?diff=170077&oldid=170075 5* 03 5* (+2) 10/* Computational class */ > 1764956856 954919 PRIVMSG #esolangs :14[[07QX14]]4 M10 02https://esolangs.org/w/index.php?diff=170078&oldid=170077 5* 03 5* (+2) 10/* Computational class */ > 1764957155 681810 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170079&oldid=170078 5* 03Aadenboy 5* (-4) 10/* Computational class */ < 1764957422 553943 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1764957501 370261 PRIVMSG #esolangs :14[[07Talk:QX14]]4 10 02https://esolangs.org/w/index.php?diff=170080&oldid=170076 5* 03Aadenboy 5* (+444) 10/* You can translate Brainpocalypse to QX */ fix < 1764957512 104906 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :hi ais > 1764957540 188020 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170081&oldid=170079 5* 03Aadenboy 5* (+113) 10/* Computational class */ fix > 1764957563 65416 PRIVMSG #esolangs :14[[07QX14]]4 10 02https://esolangs.org/w/index.php?diff=170082&oldid=170081 5* 03Aadenboy 5* (-3) 10/* Computational class */ > 1764957721 691213 PRIVMSG #esolangs :14[[07Category talk:Thematic14]]4 10 02https://esolangs.org/w/index.php?diff=170083&oldid=170057 5* 03Ais523 5* (+955) 10it's mostly about visual appearance > 1764957801 986152 PRIVMSG #esolangs :14[[07Category talk:Thematic14]]4 10 02https://esolangs.org/w/index.php?diff=170084&oldid=170083 5* 03Ais523 5* (+314) 10an addendum < 1764958158 301433 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1764958697 120441 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hi Yayimhere < 1764958754 681457 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :how are you today? < 1764959138 353386 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 JOIN #esolangs * :Textual User < 1764959204 672643 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :a bit tired < 1764959207 242506 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :still trying to wake up properly < 1764959213 54607 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :yea < 1764959224 379742 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :hope you end up waking up properly < 1764959231 834487 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :down the line > 1764959574 564312 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Esocreator 5* 10New user account < 1764959720 615105 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Great to see that QX got positive attention. I suppose that it's an instance of Cunningham's Law that somebody will reply to an AI-generated interpreter with a hand-written interpreter that is easier to read. < 1764959732 894911 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :yea < 1764959748 98273 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :i am quite jealous though > 1764959753 334335 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=170085&oldid=170065 5* 03Esocreator 5* (+262) 10 < 1764959787 854930 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :my most attention given esolang is probably ;;; > 1764959823 619170 PRIVMSG #esolangs :14[[07User:Esocreator14]]4 N10 02https://esolangs.org/w/index.php?oldid=170086 5* 03Esocreator 5* (+117) 10Created page with "Hello! My name is Esocreator. I got interested in esolangs around October 2025. Save this if i become famous one day." > 1764959928 234145 PRIVMSG #esolangs :14[[07OoOoOM14]]4 10 02https://esolangs.org/w/index.php?diff=170087&oldid=169158 5* 03Yayimhere2(school) 5* (+98) 10/* Commands */ < 1764960025 469931 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :I guess RECT4n=GLE got some attention < 1764960100 671494 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this discussion has made me really curious about just how bad the AI-generated QX interpreter is < 1764960133 994703 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :lol < 1764960149 743893 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :"discussion" is a little of a stretch < 1764960154 419099 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :atleast in IRC < 1764960167 543910 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :well, was checking across IRC and the wiki talk page and the wiki edit history < 1764960180 74302 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :ah ok < 1764960181 677294 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I can't tell how much of the ridiculousness here is the AI and how much is Python < 1764960183 396519 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :yea in that case < 1764960279 131303 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but it reminds me more of compiler output than anything < 1764960329 279207 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :actually, one thing I remember saying ages ago is that despite being slow to write and hard to maintain, assembly is actually fairly easy to learn and fairly easy to write in (although nothing helps to catch your mistakes and they can have hugely bad consequences) < 1764960345 237997 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and this has made me realise that LLMs can effectively write assembly in any language < 1764960463 526468 :lynndotpy6093!~rootcanal@134.122.123.70 QUIT :Quit: bye bye < 1764960484 585996 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it also seems to have the classic LLM output traits of "technically correct but is missing important details", e.g. it places a time limit on program execution after which it dumps out the entire memory state, and this is not usually what people want to do with a Turing tarpit < 1764960500 812052 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Well, first, consider that you have to do something *interesting* first. Right now, because you're still learning, it's reasonable for you to feel like *everything* is interesting. That's okay! But you should consider that the wider community of folks who have education and experience might only be interested in very *specific* things that you aren't talking about. < 1764960512 598421 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :korvo: true < 1764960512 871001 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and it stores the memory array in a dictionary and has to sort it by index in order to output it in the right order < 1764960517 925645 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :(Second, along similar lines, consider that you might not *want* that much attention at your age!) < 1764960526 154611 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :fax. no priunter < 1764960531 754560 :Yayimhere!~Yayimhere@197.184.68.100 PRIVMSG #esolangs :im going to sleep I cant type < 1764960532 653137 :lynndotpy6093!~rootcanal@134.122.123.70 JOIN #esolangs lynndotpy :lynn < 1764960544 479250 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, okay. Have a good night. < 1764960554 598176 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: fwiw I find that people who are still learning and find everything interesting and churn out a lot of concepts as a consequence do sometimes end up coming across ideas that are interesting to other people too < 1764960576 396899 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :even if they can't identify which ones they are < 1764960589 107263 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I was going to say that, third, it says something about the *community* when they aren't interested in what you're doing. Sometimes that's because the community has biases and that's not your fault. < 1764960635 307201 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Like, I've come to understand that the authors of languages like Odin, Zig, Oils, and D aren't interested in my POV. But their boos mean little to me because I've seen what they think good code looks like. < 1764960673 997744 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: now I'm curious about whether what you dislike about Zig is different or the same as what I dislike about Zig < 1764960686 519872 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: That's definitely true too. That's part of why I keep pushing Yayimhere to prioritize *learning* above creating new stuff just for fun. < 1764960702 17791 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I don't mind it so much because creating new stuff for fun can be a form of learning < 1764960741 499795 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: My very very first reaction was that the explicit allocator is a massive step backwards, a design mistake comparable to some of the showstoppers in e.g. Go. Since then, I've come to respect their implementation of multi-stage programming, but otherwise it's just not compelling. < 1764960776 900347 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I think it's fun that the toolchain can ingest C and C++. We considered doing a similar thing in Monte to ingest E, but there's no interesting algorithms written in E. (Which I now understand to be a red flag on its own!) < 1764960802 534569 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm, my reaction to Zig's explicit allocators is that it could be a good idea but I'm not sure that the details are correct (and it may be that the type system isn't strong enough that the details *can* be correct!) < 1764960821 102098 :Yayimhere!~Yayimhere@197.184.68.100 QUIT :Ping timeout: 250 seconds < 1764960842 419605 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Ironically, I've added explicit allocation to Vixen, so that I don't just hardcode /tmp as the place where temporary objects are stored, and I can see the value in customizing allocation in general. I just think that it's a low-level detail and I'm not willing to give up GC just because somebody on Youtube said so. < 1764960866 657903 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :something that I've been thinking a lot about recently is that programmers in lower-level/system languages aren't taking enough advantage of their allocators, there are lots of things that people do manually from within the program that could more efficiently be done by asking the allocator for help < 1764960882 430938 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(and this is true even in GCed languages) < 1764960914 860047 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :By "explicit" I mean that instead of writing something like [|^self clone], I write [|^self clone: self allocator*]. Fine, whatever, as long as it lets me write more portable objects. < 1764960925 797517 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :one of my favourite examples is middle-bit tagging: tagging objects by asking the allocator to allocate them at addresses that have certain numerical properties, so that you can then discover something about the object by looking at its address < 1764960985 719280 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :As Zig's evolved, I've come to understand that my approach to the colored-functions blogpost is completely alien to everybody else's. In particular, it seems that folks literally cannot perceive that async/await is necessarily a second-string solution rather than the ultimate syntax. I think it's a memetic blindness. < 1764961016 511555 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :my reaction to async/await is *also* different from everyone else's, but also different from yours I think < 1764961068 865180 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah, mine starts with "codensity monad" and only gets worse from there. < 1764961074 538626 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I like to think of a blocked await as returning a value "this routine can't continue yet because…" and the function later being effectively resumable from that point, and it to be possible to do something with these values to determine when to unblock < 1764961093 750782 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :err, I mean routine, not function < 1764961127 937784 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I like to try to be careful with terminology, especially when talking to you, but decades of living with languages that call everything "functions" or "methods" makes it hard to be precise unless I'm really concentrating > 1764961174 40446 PRIVMSG #esolangs :14[[07User talk:Aadenboy14]]4 10 02https://esolangs.org/w/index.php?diff=170088&oldid=170072 5* 03Aadenboy 5* (+735) 10reply < 1764961174 434123 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :No worries, I get it. Sometimes I wonder if I've been permanently rotated five-dimensionally or something. < 1764961192 950843 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :anyway, from this point of view, async is basically a caching system – you are caching what the routine has done so far so that you can replay it when the routine is resumed < 1764961295 217898 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think it's possible to design a language in order to make it entirely an optimisation rather than something that has semantic effects, but it would be somewhat alien and not how most languages work (in particular I/O would have to be idempotent) < 1764961348 905137 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah, this POV can work. Like, Windows still uses completion-based I/O. < 1764961472 219840 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think it's undisputed that promises/futures are a monad, and async/await is sugar for the monad – the interesting thing about my viewpoint is that it basically collapses into being the same monad as Either < 1764961480 958346 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Oh, there's cap lore that might be more legible than any category-theoretic rambling. There's a pattern, membrane, for partitioning an object's references into multiple regions. The idea is that access across the membrane is only permeable in one direction, but we can still manipulate objects on the other side of the membrane by stretching it. < 1764961529 350866 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I don't think the informal description of membranes there is hugely useful in helping me figure out how it works < 1764961581 606844 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Ha! It's very disputed. Very frustrating. But if you're comfortable with that, then yeah, Either is like the first-order version of the more general effect where each codensity monad generates its own color of functions. < 1764961643 743441 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :https://gist.github.com/MostAwesomeDude/76e61e6634571da296ec1fccc6784c19 Very dense note that I made about this. Basically, async/await means *hosting* one codensity monad within another, and then we have a way to run the monad to extract values. But "running" is...waiting? That's oxymoronic; how do we actually delegate control flow? < 1764961688 791775 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's not specifically waiting but blocking < 1764961702 105319 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but you have to block on everything simultaneously < 1764961743 620669 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sure. Ideally blocking means doing something CPU-bound, though. We only want to wait when there's genuinely no work left to schedule. So what we actually want to do is run a *continuation* which has more work to do. < 1764961753 791033 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there are basically two models of async, one in which starting a computation starts it in the background and it may have finished by the time you attempt to wait for it to finish, and one in which starting a computation does nothing until you attempt to block on it, and only then does it start running < 1764961778 498342 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I've been told that there are theoretical reasons to prefer the latter but I don't know what they are < 1764961821 455172 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :In Twisted Python, there's an idiom where any sort of cooperative iteration should be threaded through the main event loop. This gives backpressure to all iterators and also ensures that the IO loop rarely goes to sleep under load. The same sort of thing is implicit in E. < 1764961838 17939 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : Sure. Ideally blocking means doing something CPU-bound, though. ← this reminds me of something I've seen a couple of times recently, "don't use async for CPU-bound problems, it doesn't help, use it for I/O-bound problems only" < 1764961910 504633 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :one thing I have worked on in the past is attempting to design the perfect low-level I/O API (i.e. not the API that the programmer uses directly, but the API that the compiler causes the compiled code to use) < 1764961917 301896 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, right, membranes. We can let an object's locals be either "safe" or "unsafe". Or "sync" or "async", I suppose; same reasoning. If we have two unsafe objects, we can compose them without actually doing anything; the composition takes place on the other side of the membrane. In terms of monads, this is when a language does something special to lift actions to monads, like Haskell STM. < 1764961942 326851 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, this is very monad-like < 1764962057 382197 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :There's a physical semantics. Composition of async objects is done with "promise pipelining"; when we send to a promise, we send a message on top of another send. This breaks monad transparency! When something is doable behind a membrane, it must be expressed wholly in terms of pipelined sends. < 1764962114 377893 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :anyway, I think that the right API for doing I/O is a combination of "start doing this I/O request", "is this I/O request done yet?" and "block until at least one I/O request is finished" (this last API is the only way to block and is only used when there is nothing else to do) < 1764962127 77289 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but one thing I'm not sure about is how to mix I/O requests with continuous CPU use < 1764962164 536567 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I suppose, for the logs, let p1 and p2 be E-style promises; they represent async actions. `p1<-firstThis()<-thenThat(p2)` doesn't have to materialize an intermediate object representing the far-away result `p1<-firstThis()`; it stays on the other side of the membrane/network. < 1764962166 577535 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :because ideally you would want implementations in which requests are not started until an attempt to block to be valid, but continuous CPU use would cause them to livelock < 1764962221 538607 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: OK, I see, this is equivalent to a monad but instead of the monad being a *type* it is some other property that might have a runtime effect < 1764962335 982760 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this is analogous to the way that you can compose monad actions without knowing how to run them < 1764962351 611663 :ais523!~ais523@user/ais523 PRIVMSG #esolangs ::t (>>=) < 1764962356 130212 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs :Monad m => m a -> (a -> m b) -> m b < 1764962369 591671 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Yes! The monad is in the physical interaction between networked machines. This is also what I mean in that note when I say that the comonad is on the other side of the screen; really, it seems like the user and the computer are *adjoint* through the screen, and the comonad and monad are merely ways of describing their experiences. < 1764962418 451395 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Also yes. In Haskell, the API for Arrow is an example of this, although there it's because the algebraic laws aren't strong enough; the optimizer is forced to pretend that it can't see inside certain functions. < 1764962426 819776 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :@djinn m a -> (a -> m b) -> m m b < 1764962427 16922 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs :Error: kind error: (KVar 0,KVar 1) < 1764962433 650639 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :@djinn m a -> (a -> m b) -> m (m b) < 1764962434 57393 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs :-- f cannot be realized. < 1764962466 17766 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :@djinn m a -> (a -> b) -> m b < 1764962466 283622 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs :-- f cannot be realized. < 1764962477 223468 :ais523!~ais523@user/ais523 PRIVMSG #esolangs ::t fmap < 1764962481 346566 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs :Functor f => (a -> b) -> f a -> f b < 1764962501 90313 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(sorry for all the lambabot usage, I feel like I'm confused about something and am trying to establish what it is) < 1764962502 870744 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I like that API idea. In Vixen, starting I/O would be done with execline's `background` wrapped by V/send:. PIDs can be checked with Process/fromPID:. Blocking can be done with execline's `wait`. < 1764962547 841885 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think for performance reasons, the request to block should indicate which request unblocked, so that you don't have to check them all individually (although that isn't needed for correctness) < 1764962551 414087 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I don't have E-style vats yet. In E, if two objects are in distinct vats then they might as well be network-gapped. Linux containers could work for that. < 1764962574 270701 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :@djinn Monad m => m a -> (a -> b) -> m b < 1764962574 472189 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs :-- f cannot be realized. < 1764962620 411784 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: And possibly completions are faster still. I'm thinking about experimenting with s6's IPC services; they have the ability to park an FD and save it for later. < 1764962630 537779 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :OK this is suddenly reminding me a lot of the "treating a runtime value as a type" thing I was talking about a few months ago < 1764962647 198989 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's like you have a different monad for each vat < 1764962663 757991 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but vats are runtime concepts rather than compile-time concepts, you don't have a statically known set of them < 1764962681 146357 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so you effectively have a type that's parameterized by a runtime value (in this case the vat ID) < 1764962686 109243 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Huh, I guess. I hadn't thought of that. I suppose that different runtimes can technically have different vat internals, but they'd speak the same wire protocol. < 1764962739 758672 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I have spent over a year with this being the primary problem I've been thinking about (for the Rust scoped generic things), so anything that fits the pattern, I am likely to notice < 1764962778 97597 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but you're working with a type system that's quite different from the ones that I'm working with, so the implications may be different < 1764962859 534663 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I don't see the scoped-generic connection quite yet. But I can see how scoped-ness and generic-ness are related, for sure. < 1764962917 291578 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I've been meaning to rename them to runtime generics < 1764962925 94179 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Like, as an optimization for the case where the object that you're delivering to is in the same address space, you'd like to have a scoped generic conversation with that object's vat, hand over control flow, and let the message be delivered. seL4 does small message deliveries like this; messages must fit in registers! < 1764962951 838131 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the interesting part is that the type is generic on a runtime value, and this can be compile-time checked because it's sufficiently generic that the actual runtime value doesn't matter, the compiler just has to prove that it's always the same < 1764962985 574047 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1764962994 337768 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :specialising on a particular value would be difficult, but I'm thinking primarily about Rust which hasn't managed to implement specialisation soundly < 1764963005 678240 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and even the minimal cut-down version which was intended to always be sound is somehow also unsound < 1764963032 16295 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 240 seconds < 1764963057 826966 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Huh. Now that's starting to sound like Haskell ST, where a `forall` is used to force the caller to not control local state. But the caller still gets to initiate the initial control-flow delegation "into" the ST monad. < 1764963065 277058 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1764963066 777548 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but as I said, in this case I think the type system is too different to translate well < 1764963085 19905 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Wow, what a sentence. Maybe "the caller still gets to delegate control flow into..." < 1764963127 658247 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: OK this is very familiar, the best current Rust approximation for problems that need scoped generics is called "generativity" in the Rust community and it is basically the same trick you described there with the forall < 1764963168 971129 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(and many implementations even use an actual Rust forall, for<'a>) < 1764963216 431602 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :anyway, /away for a bit, this is a fun conversation but I need to eat < 1764963236 907600 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: BTW Weiher and I (in different places) have suggested that call/return is a very specific thing that doesn't align with the rest of compositional semantics. https://lobste.rs/s/alzaim/thoughts_on_gentle_tyranny_call_return is a decent starting place. < 1764963250 158922 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :So it could be that what we mean by "caller" is *also* a monad-specific concept. < 1764963260 796084 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I should eat too. Peace. > 1764964215 888279 PRIVMSG #esolangs :14[[07Unpredictabillity14]]4 N10 02https://esolangs.org/w/index.php?oldid=170089 5* 03Esocreator 5* (+1312) 10Created page with "=== What is Unpredictabillity === Unpredictabillity is a language that relies on randomness. Its "purpose" is to make everything compact and tiny and basically be the final boss of golflangs. And also be terrible to code in. === Explanation === It wor > 1764964325 730617 PRIVMSG #esolangs :14[[07Unpredictabillity14]]4 10 02https://esolangs.org/w/index.php?diff=170090&oldid=170089 5* 03Esocreator 5* (+67) 10 > 1764964354 659404 PRIVMSG #esolangs :14[[07Unpredictabillity14]]4 M10 02https://esolangs.org/w/index.php?diff=170091&oldid=170090 5* 03Esocreator 5* (-8) 10/* Quine */ > 1764964941 930859 PRIVMSG #esolangs :14[[07Unpredictabillity14]]4 10 02https://esolangs.org/w/index.php?diff=170092&oldid=170091 5* 03Esocreator 5* (+740) 10 < 1764965127 392529 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :" […] the authors of languages like Odin, Zig, Oils and D" => wait, Oils? what is that? I'd heard of the rest < 1764965259 205052 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :b_jonas: https://oils.pub/ > 1764965261 753625 PRIVMSG #esolangs :14[[07Unpredictabillity14]]4 10 02https://esolangs.org/w/index.php?diff=170093&oldid=170092 5* 03Esocreator 5* (-17) 10/* Brainfuck to Unpredictabillity Converter in Python */ > 1764965346 666969 PRIVMSG #esolangs :14[[07Unpredictabillity14]]4 10 02https://esolangs.org/w/index.php?diff=170094&oldid=170093 5* 03Esocreator 5* (-8) 10/* Brainfuck to Unpredictabillity Converter in Python */ < 1764965347 789547 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :async/await => didn't ziglang just replace those with something else? < 1764965348 341505 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :It's very funny in retrospect that I went to Google and was all horrified at how people were commodotized, and Andy and Andrew came away from Google with beliefs like "bash sucks" or "C sucks". < 1764965478 225298 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yes, Zig is now doing a pattern where they "return into the monad", so to speak; the entire action returns into some chosen I/O context, which can be async or sync or something else. I also accidentally tripped over this pattern in 2012 when wrapping Ganeti: https://github.com/mostawesomeDude/gentleman < 1764966040 488829 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :“ […] the primary problem I've been thinking about (for the Rust scoped generic things)” => we should attract more Haskellers to this channel, because I think they could comment more on a lot of these ideas that you are discussing < 1764966074 729193 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: in my most recent blogpost I mentioned looking in Haskell to try to find the typesystem ideas I needed, because it's almost always had them first < 1764966143 946938 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : It's very funny in retrospect that I went to Google and was all horrified at how people were commodotized ← to me, the commoditization of developers is a problem but isn't in the least unexpected, so although it's somewhat horrifying, seeing it in person wouldn't make me more horrified < 1764966254 668882 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh wow, just loading that Github link caused a noticeable difference to my (sadly onscreen rather than physical) blinkenlights, I'm not surprised that Github has bloated JS but I didn't expect it to be *that* bloated < 1764966311 108210 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Yeah, for sure. It's just like, I don't know. Like somebody looking at Dark City or Cloud Atlas or Metropolis or Blade Runner or Ferngully and saying, "Y'know, running a big machine like that at scale takes a lot of engineering effort. I think I could make this machine much more efficient if I contributed a bunch of open-source labor!" < 1764966536 268825 :zzo38!~zzo38@host-24-207-46-238.public.eastlink.ca PRIVMSG #esolangs :You can use the GitHub API instead, or add your own script (the JSON data is included with the HTML so you could make your own script to parse that data) < 1764966557 845334 :zzo38!~zzo38@host-24-207-46-238.public.eastlink.ca PRIVMSG #esolangs :In that case you will not have to use GitHub's bloated scripts; I do not use (or like) GitHub's scripts < 1764966639 490645 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :“looking in Haskell” => of course, you should do that too. < 1764968389 863110 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I had a bagel sandwich. Turkey on pumpernickel, hot mustard. < 1764968436 430960 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :On ais523's suggested I/O API: I looked up execline's wait. https://www.skarnet.org/software/execline/wait.html "wait for one of the listed pids — exec into prog as soon as one of the listed children dies. (If no pid is listed, wait for one child to die.) The ! environment variable will be set to the pid that died, and the ? environment variable will contain an approximation of its exit code." So it supports selecting just one event. < 1764968482 667357 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :selecting one seems OK to me – in a delay-insensitive world it's enough < 1764968529 465260 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the reasons to be able to select multiple are basically down to a) prioritisation of things that need to happen sooner (e.g. relatime programs or performance optimisations in multithreade programs) and b) avoiding livelocks < 1764968579 264237 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: You might be interested to know that, in the Joule lineage (E, Monte), we *can't* wait. We can only attach a when-block that will run when the promise resolves in the future. If it resolves, really. This is like always being "in the monad", experientially. < 1764968601 802971 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :We're supposed to always do that in Twisted, EventMachine, Node, etc. but there's ways to dig below the runtime layer. Ditto for e.g. React and its layer. < 1764968626 863062 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: right, the API call to block is basically the monad runner, but there's no reason for the monad runner to conceptually exist in the language rather than in the runtime < 1764968764 864333 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(but it needs to exist from the point of view of the OS or wrapper-around-system-calls that provides the API, so that the runtime is possible to write) < 1764968781 92177 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah. Speed, maybe. Tradition? It used to be the case that the entire system had to contort around a single poll() or select() call; the event loop is literally one specific while-loop. > 1764969367 500999 PRIVMSG #esolangs :14[[07Tea14]]4 10 02https://esolangs.org/w/index.php?diff=170095&oldid=169633 5* 03Waffelz 5* (+54) 10 < 1764969384 697389 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :fwiw I still think that it's correct for I/O-bound programs to do that (or maybe have a thread on each core and do one poll/select equivalent per thread) < 1764969403 91319 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although we have better APIs than poll and select nowadays < 1764969416 978300 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's still conceptually a single-point API, just with a better interface > 1764969758 333440 PRIVMSG #esolangs :14[[07Brain-accumulator14]]4 10 02https://esolangs.org/w/index.php?diff=170096&oldid=170029 5* 03Kaveh Yousefi 5* (+18) 10Improved the interpreter's documentation and supplemented a further page category tag. < 1764969766 949998 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :ais523: re CPU-bound programs, so my model here is schmorp's modules, and they provide two APIs for this. one is yield, which has an interface like it was an IO action that could block, but doesn't actually block, whenever the event loop next checks for when it's read it'll always be ready and successful and call its callback for that, but there's a forward progress guaranteed that if any other actions < 1764969772 958033 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :(of the same or more urgent priority) are ready too then if you yield enough times then something will be handled. the other is idle, which blocks until every action (of the same or more urgent priority) is blocking so there's free CPU time. < 1764969891 779487 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: OK, that makes sense – I was having similar thoughts myself < 1764969929 320993 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the primary issue here is just to avoid starvation/livelock, which you do by cycling through priorities, and that means that CPU-bound computations need to be able to yield so that they can be outprioritised > 1764970046 132746 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=170097&oldid=169990 5* 03Buckets 5* (+12) 10 > 1764970073 434955 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=170098&oldid=169991 5* 03Buckets 5* (+11) 10 > 1764970082 103139 PRIVMSG #esolangs :14[[07Copix14]]4 N10 02https://esolangs.org/w/index.php?oldid=170099 5* 03Buckets 5* (+1084) 10Created page with "Copix Is an esoteric Programming Language created By [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | i || Push the Input value. |- | a || Negate The top value And add the Top two values. |- | = || Duplicate the Top value. |- | ! || If th > 1764970146 904577 PRIVMSG #esolangs :14[[07User talk:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=170100&oldid=170019 5* 03Buckets 5* (+129) 10 > 1764970209 581141 PRIVMSG #esolangs :14[[074gn/14]]4 M10 02https://esolangs.org/w/index.php?diff=170101&oldid=170020 5* 03Buckets 5* (+13) 10 < 1764970559 605785 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: About threads: what if they're also a traditional solution? Like, we don't just put any actions on long-running threads; it's specifically stuff like audio callbacks or filesystem accesses which (used to be?) time-sensitive interrupts that had their own vectors. < 1764970576 843413 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Threading discipline, loose as it is, evolved from IRQ-handling discipline. < 1764970597 407575 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: OK, I think here you have to distinguish threads as a programming model from OS-level threads as an implementation technique < 1764970609 184944 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm not a huge fan for using threads for I/O in *either* case, but the reasons are different in the two cases < 1764970675 489062 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :or, well, they both stem to "threads require a certain amound of bookkeeping to use properly and it's usually a bad match for the purpose for which you actually wanted the thread" < 1764970689 772503 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Yeah. The punchline for Vixen is that I think I don't care about threads but I care about locks. I will probably want to be able to serialize accesses to an object s.t. it can't have two method activations at once, which seems like an interesting problem, but I don't care how many threads the kernel is managing. < 1764970748 608233 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the history of Rust is a bit interesting here, originally it had tasks (same semantics as threads but not necessarily implemented using OS threads), but eventually it removed them < 1764970783 743683 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but I wasn't paying attention at the time so I'm not sure what the reasoning behind the decision was < 1764970812 727057 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :IIRC it was just a theoretical burden for future embedded toolchains. < 1764970848 935887 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, runtimes often don't scale down very well < 1764970893 727398 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and there are also some awkwardnesses like "you need some way to pre-empt the tasks if you want them to act exactly like threads" – I'm not sure whether old Rust pre-empted them or not < 1764970901 211412 :sorear!sid184231@id-184231.uxbridge.irccloud.com PRIVMSG #esolangs :threads which last longer than a single user action were a mistake, in general, because they make painless updates and many types of power management impossible < 1764971093 146911 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :sorear: A pattern: C++ `inline` guarantees that the code is copied to the call site. E `PassByCopy` and `CopyByConstruction` (sp?) guarantees that an object/method is copyable over the network. seL4 something something, declare that a micro-message is okay, promise not to touch registers. < 1764971133 324686 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Pass some memory. Promise you won't go outside the memory. Do it quickly. You can only have a tiny bit of my control flow, maybe a single-use continuation to abort early. < 1764971426 795349 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sorry, I'm getting weird. Later. < 1764973752 811108 :APic!apic@apic.name PRIVMSG #esolangs :cu > 1764974815 299982 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03ImOnlyHereForReversibleComputing 5* 10New user account > 1764975186 888903 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=170102&oldid=170085 5* 03ImOnlyHereForReversibleComputing 5* (+247) 10 > 1764975540 875519 PRIVMSG #esolangs :14[[07User:Tommyaweosme14]]4 10 02https://esolangs.org/w/index.php?diff=170103&oldid=170007 5* 03Tommyaweosme 5* (+417) 10added self-promo + a few other things > 1764975690 842808 PRIVMSG #esolangs :14[[07User:Tommyaweosme14]]4 M10 02https://esolangs.org/w/index.php?diff=170104&oldid=170103 5* 03Tommyaweosme 5* (+0) 10update counter; day 1/1845 (0.0542% completed) < 1764975748 544112 :simcop2387!~simcop238@perlbot/patrician/simcop2387 QUIT :Quit: ZNC 1.9.1+deb2+b3 - https://znc.in < 1764975748 573543 :perlbot!~perlbot@perlbot/bot/simcop2387/perlbot QUIT :Quit: ZNC 1.9.1+deb2+b3 - https://znc.in < 1764977618 789507 :tromp!~textual@2001:1c00:3487:1b00:4ec:c6c9:2447:6676 QUIT :Quit: My iMac has gone to sleep. ZZZzzz…