> 1749601840 285342 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03PrecognizantWaffles 5* 10New user account > 1749602102 729648 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 M10 02https://esolangs.org/w/index.php?diff=159648&oldid=159639 5* 03PrecognizantWaffles 5* (+180) 10/* Introductions */ < 1749603307 573161 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.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 > 1749603537 887168 PRIVMSG #esolangs :14[[07Special:Log/upload14]]4 upload10 02 5* 03PrecognizantWaffles 5* 10uploaded "[[02File:Order of operations example.png10]]" > 1749603730 229125 PRIVMSG #esolangs :14[[07Special:Log/upload14]]4 upload10 02 5* 03PrecognizantWaffles 5* 10uploaded "[[02File:Hello world example.png10]]" > 1749603833 682656 PRIVMSG #esolangs :14[[07Special:Log/upload14]]4 upload10 02 5* 03PrecognizantWaffles 5* 10uploaded "[[02File:Factorial example.png10]]" > 1749604407 73999 PRIVMSG #esolangs :14[[07User:PrecognizantWaffles/Sandbox14]]4 N10 02https://esolangs.org/w/index.php?oldid=159652 5* 03PrecognizantWaffles 5* (+4319) 10Created page with "Calcu-less 2 is a language built around integrals. Programs are made up of nested integrals, with the bounds and functions as inputs, and the differential as the command instruction. The end result should be one giant integral that c > 1749604565 436021 PRIVMSG #esolangs :14[[07User:PrecognizantWaffles/Sandbox14]]4 M10 02https://esolangs.org/w/index.php?diff=159653&oldid=159652 5* 03PrecognizantWaffles 5* (-4) 10/* Fractions as Input */ > 1749604747 739900 PRIVMSG #esolangs :14[[07User:PrecognizantWaffles/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=159654&oldid=159653 5* 03PrecognizantWaffles 5* (+169) 10 > 1749604877 250998 PRIVMSG #esolangs :14[[07Calcu-less 214]]4 N10 02https://esolangs.org/w/index.php?oldid=159655 5* 03PrecognizantWaffles 5* (+4484) 10Created page with "Calcu-less 2 is a language built around integrals. Programs are made up of nested integrals, with the bounds and functions as inputs, and the differential as the command instruction. The end result should be one giant integral that can be calculated to < 1749608125 522874 :ais523!~ais523@user/ais523 QUIT :Quit: quit > 1749608140 664583 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Wilber 5* 10New user account > 1749608389 617115 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=159656&oldid=159648 5* 03Wilber 5* (+160) 10 > 1749608889 544212 PRIVMSG #esolangs :14[[07GameState14]]4 N10 02https://esolangs.org/w/index.php?oldid=159657 5* 03Wilber 5* (+7843) 10Created page with " = GameState = == Introduction == '''GameState''' is an esolang inspired by classic video game mechanics created by Wilber Escobar in 06/2026.
The core idea behind this language is to simulate a video > 1749609576 261766 PRIVMSG #esolangs :14[[07Tiny14]]4 10 02https://esolangs.org/w/index.php?diff=159658&oldid=159121 5* 03Ron.hudson 5* (-2032) 10Announcing Newtiny V0.0100 > 1749610213 262665 PRIVMSG #esolangs :14[[07Tiny14]]4 10 02https://esolangs.org/w/index.php?diff=159659&oldid=159658 5* 03Ron.hudson 5* (+133) 10 < 1749613648 519573 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine < 1749613763 387744 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1749618009 435124 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 260 seconds < 1749618131 508698 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord > 1749620211 278393 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 N10 02https://esolangs.org/w/index.php?oldid=159660 5* 03TheMCoder 5* (+823) 10Created page with "This is my attempt at making ~ATH via python. === My Code === import psutil import argparse import string command = "" parser = argparse.ArgumentParser() parser.add_argument("file", type=str) parser.parse_args() file = open(parser.parse_args().fil > 1749620391 841441 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159661&oldid=159660 5* 03TheMCoder 5* (+80) 10My attempted implementation of ~ATH > 1749620572 58581 PRIVMSG #esolangs :14[[07User:TheMCoder14]]4 10 02https://esolangs.org/w/index.php?diff=159662&oldid=135139 5* 03TheMCoder 5* (+114) 10 > 1749620717 624892 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 M10 02https://esolangs.org/w/index.php?diff=159663&oldid=159661 5* 03TheMCoder 5* (+96) 10/* My Code */ > 1749620850 945558 PRIVMSG #esolangs :14[[07User talk:/w/wiki/index.php/Talk:index.php/Main page14]]4 10 02https://esolangs.org/w/index.php?diff=159664&oldid=159439 5* 03None1 5* (+63) 10 > 1749621201 869058 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159665&oldid=159663 5* 03TheMCoder 5* (+530) 10 > 1749621240 120761 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159666&oldid=159665 5* 03TheMCoder 5* (-6) 10 > 1749621260 902660 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 M10 02https://esolangs.org/w/index.php?diff=159667&oldid=159666 5* 03TheMCoder 5* (+0) 10 > 1749621387 731147 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159668&oldid=159667 5* 03TheMCoder 5* (+146) 10/* Examples */ > 1749621765 436080 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159669&oldid=159668 5* 03TheMCoder 5* (+275) 10/* My Code */ < 1749621774 834682 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer > 1749621803 604337 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159670&oldid=159669 5* 03TheMCoder 5* (+1) 10/* My Code */ > 1749621817 858600 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159671&oldid=159670 5* 03TheMCoder 5* (+2) 10/* My Code */ > 1749621829 181248 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159672&oldid=159671 5* 03TheMCoder 5* (+1) 10/* My Code */ > 1749622151 735607 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 M10 02https://esolangs.org/w/index.php?diff=159673&oldid=159672 5* 03TheMCoder 5* (-2) 10/* My Code */ > 1749622331 659734 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159674&oldid=159673 5* 03TheMCoder 5* (+48) 10/* My Code */ > 1749622709 480679 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159675&oldid=159674 5* 03TheMCoder 5* (+18) 10 > 1749622722 341948 PRIVMSG #esolangs :14[[07Sixtyfeetunderassembly14]]4 10 02https://esolangs.org/w/index.php?diff=159676&oldid=135068 5* 03TheMCoder 5* (-15) 10 > 1749623337 301898 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159677&oldid=159675 5* 03TheMCoder 5* (+146) 10/* My Code */ < 1749624377 542369 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User < 1749625134 15448 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1749625150 576773 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1749630029 790414 :Everything!~Everythin@77.120.244.38 JOIN #esolangs Everything :Everything > 1749632180 562360 PRIVMSG #esolangs :14[[07GameState14]]4 10 02https://esolangs.org/w/index.php?diff=159678&oldid=159657 5* 03Stkptr 5* (-194) 102026?? > 1749632220 438126 PRIVMSG #esolangs :14[[07Calcu-less 214]]4 10 02https://esolangs.org/w/index.php?diff=159679&oldid=159655 5* 03Stkptr 5* (+53) 10 < 1749632676 544414 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749635785 305212 :APic!apic@apic.name PRIVMSG #esolangs :Hi * > 1749636169 499843 PRIVMSG #esolangs :14[[07Talk:WhatLang14]]4 M10 02https://esolangs.org/w/index.php?diff=159680&oldid=159550 5* 03UrnEn 5* (+145) 10/* whatlang with six kinds of symbols is tc too! */ > 1749637672 924940 PRIVMSG #esolangs :14[[07User talk:YufangTSTSU14]]4 10 02https://esolangs.org/w/index.php?diff=159681&oldid=158520 5* 03None1 5* (+373) 10 > 1749637706 944908 PRIVMSG #esolangs :14[[07User talk:YufangTSTSU14]]4 M10 02https://esolangs.org/w/index.php?diff=159682&oldid=159681 5* 03None1 5* (+7) 10 < 1749639788 915205 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net JOIN #esolangs amby :realname > 1749641962 688783 PRIVMSG #esolangs :14[[07UE114]]4 10 02https://esolangs.org/w/index.php?diff=159683&oldid=150869 5* 03B jonas 5* (+90) 10links < 1749643864 647882 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu JOIN #esolangs b_jonas :[https://web.libera.chat] wib_jonas < 1749643940 163790 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :zzo38: you asked about UE-1 earlier. https://github.com/Nakazoto/UEVTC/blob/main/UE1/Software/Emulator/UE1E_BINARY.BAS has an emulator with mostly readable source code, so you can read that if you want to figure out what the computer can do. I'm trying to read it right now. the same repository has some other potentially useful info, mostly about < 1749643940 664151 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :the hardware implementation. < 1749644009 666884 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :also Usagi Electric has declared the computer as complete and working, and it seems he might be planning to make a second vaccum tube homebrew computer using the experienced that he got from learning this first one > 1749644468 292949 PRIVMSG #esolangs :14[[07User:I am islptng/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=159684&oldid=159635 5* 03Hotcrystal0 5* (+56) 10 > 1749644647 930532 PRIVMSG #esolangs :14[[07User:Hotcrystal0/My esolang ideas14]]4 10 02https://esolangs.org/w/index.php?diff=159685&oldid=152948 5* 03Hotcrystal0 5* (+0) 10 > 1749644839 757621 PRIVMSG #esolangs :14[[07List of ideas14]]4 10 02https://esolangs.org/w/index.php?diff=159686&oldid=159641 5* 03Hotcrystal0 5* (+145) 10/* Partially Silly Ideas */ > 1749645683 905327 PRIVMSG #esolangs :14[[07Python is Magic/Constants14]]4 10 02https://esolangs.org/w/index.php?diff=159687&oldid=141303 5* 03PkmnQ 5* (+373) 10Finally rework < 1749646812 717426 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu QUIT :Quit: Client closed > 1749648090 219353 PRIVMSG #esolangs :14[[07FrainBuck--14]]4 10 02https://esolangs.org/w/index.php?diff=159688&oldid=115337 5* 03Kaveh Yousefi 5* (+455) 10Introduced an examples section which comprehends as its incipial members a letter output program and a bouncing printer. > 1749648195 835593 PRIVMSG #esolangs :14[[07FrainBuck--14]]4 10 02https://esolangs.org/w/index.php?diff=159689&oldid=159688 5* 03Kaveh Yousefi 5* (+214) 10Added a hyperlink to my implementation of the FrainBuck-- programming language on GitHub. > 1749649447 198625 PRIVMSG #esolangs :14[[07User talk:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=159690&oldid=155188 5* 03Hotcrystal0 5* (+272) 10 < 1749650655 883025 :b_jonas!~x@88.87.242.184 QUIT :Ping timeout: 252 seconds < 1749654603 345915 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1749657764 142907 :Everything!~Everythin@77.120.244.38 QUIT :Quit: leaving < 1749658224 671944 :impomatic!~impomatic@2a00:23c7:5fc9:5401:24ec:b052:cced:828d JOIN #esolangs * :[https://web.libera.chat] impomatic < 1749659229 10448 :impomatic!~impomatic@2a00:23c7:5fc9:5401:24ec:b052:cced:828d QUIT :Quit: Client closed < 1749660039 670963 :impomatic!~impomatic@2a00:23c7:5fc9:5401:24ec:b052:cced:828d JOIN #esolangs * :[https://web.libera.chat] impomatic < 1749661278 151686 :b_jonas!~x@88.87.242.184 JOIN #esolangs * :b_jonas < 1749661346 647488 :Raoof!~Raoof@31.171.100.28 JOIN #esolangs * :[https://web.libera.chat] Raoof < 1749661730 644688 :Raoof!~Raoof@31.171.100.28 PRIVMSG #esolangs :hello all again. I came up with an early prototype of my language here https://raoofha.github.io/r/r.html (it's a simple text editor with a run button and error reporting) I appreciate your feed back. I'm interested to know whether you can write a loop with this language < 1749662009 528478 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Fun. FWIW it looks like the Node script isn't being run server-side; I get a glitchy page with some broken text. < 1749662118 206191 :Raoof!~Raoof@31.171.100.28 PRIVMSG #esolangs :korvo only test it on chromium, firefox ignore line break < 1749662198 112232 :Raoof!~Raoof@31.171.100.28 PRIVMSG #esolangs :there is no server it's all offline, you can save the file and run it by "node r.html arg1 arg2 arg3 ...." < 1749662851 695409 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I didn't realise node could run HTML files < 1749662920 435942 :Raoof!~Raoof@31.171.100.28 PRIVMSG #esolangs :ais523 it's not html, I used some trick and commented the html tags < 1749663250 197794 :Raoof!~Raoof@31.171.100.28 PRIVMSG #esolangs :korvo have you test it out ? what browser are you using ? < 1749663277 592704 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: I'm using Firefox. I looked at the source and it looks alright. Where are you headed with this language? < 1749663306 474309 :Raoof!~Raoof@31.171.100.28 QUIT :Quit: Client closed < 1749663325 646306 :Raoof!~Raoof@151.238.173.253 JOIN #esolangs * :[https://web.libera.chat] Raoof < 1749663453 376024 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :it is my practical model of computation that you can teach to kids or adults < 1749663639 540016 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :It's just primitive recursive functions, right? It's not Kleene's style, but it's using the tower of hyperoperators. < 1749663935 964346 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :korvo I believe (I don't have any proof yet because a self-interpreter takes a lot of time to write) it can compute all total computable functions, but you might disagree I guess ? < 1749664091 484911 :impomatic!~impomatic@2a00:23c7:5fc9:5401:24ec:b052:cced:828d QUIT :Quit: Client closed < 1749664337 743778 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: Yeah. Kleene would disagree too. Diagonalization should apply here. < 1749664829 321628 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :korvo what is the set of functions that this language can compute ? it is not the set of primitive recursive functions because it can compute 'hyp' < 1749665146 487589 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: Probably primitive recursive functionals, also called higher-order primitive recursive functions. Not sure though. The corresponding class sits between PR and R; it's not complete, but it's very powerful. < 1749665178 168170 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :My language Cammy has that class, for example. < 1749665234 567735 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm pretty sure there are computable functions that are total, but can't be proven to be total < 1749665324 342427 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :or, you can look at concrete examples like this Turing machine: https://bbchallenge.org/1RB2LC1RC_2LC---2RB_2LA0LB0RA < 1749665325 239566 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah, in the sense that they can be expressed in a Turing machine but not by mere composition of Kleene's functions. < 1749665365 851780 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it is currently believed that it probably halts when executed, but runs for too long to simulate with current hardware and CS knowledge, so we don't know how long it runs for or even whether the suspicion that it halts is correct < 1749665399 672387 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :say it is total, how do you express it in a provably total programming language without first executing it to see when it stops? < 1749665492 504985 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, it's Bigfoot. Yeah, Bigfoot "probviously" halts (JH Conway's word for it); we have good evidence that it ought to halt, but no formal proof. < 1749665571 781397 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: that isn't Bigfoot < 1749665578 162495 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Bigfoot probviously doesn't halt, this is one that probviously does < 1749665600 669122 :impomatic!~impomatic@2a00:23c7:5fc9:5401:24ec:b052:cced:828d JOIN #esolangs * :[https://web.libera.chat] impomatic < 1749665666 419751 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Ah, whoops. I should have read more carefully. < 1749665765 590449 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Speaking of reading carefully, I can't actually find the statement "there is a total computable function which can't be expressed with Kleene's first PCA". It's neither a corollary of Kleene's Parameter nor Recursion theorems. It's not equivalent to Gödel's First Incompleteness either. < 1749665866 331512 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But it's an example of a diagonal argument, IIRC. But it's not in any of the lists of diagonal arguments. Maybe I've hallucinated it. < 1749665897 713626 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think the usual diagonal argument doesn't work < 1749665911 699067 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there might be an unusual one, though < 1749666023 863418 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :...Wait, Kleene's first PCA isn't Kleene's PRFs. I've made the same mistake as nLab, which calls their page "partial recursive function" and only discusses PRFs as a special case. < 1749666113 904238 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Found a copy of the argument. It has no citations, so I don't know who it comes from, but I think it's part of Kleene's proof of Gödel's Incompleteness. https://en.wikipedia.org/wiki/Primitive_recursive_function#Limitations < 1749666182 50706 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Consider PRFs of one argument. Use Gödel numbering to encode them as numbers. Define an evaluator function of two arguments: a number, and a PRF encoded as a number, s.t. the evaluator does Gödel evaluation. Then diagonalize to show that the evaluator isn't PRF. < 1749666377 313458 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh! I recognize this proof. It's the proof that total self-interpreters don't occur. Raoof, this is probably what you wanted. < 1749667093 460460 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :korvo I believe Diagonalization is a mistake that we all should put a side. (I have an argument for my view if you are interested) < 1749667126 868601 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: Well, I believe in Lawvere's fixed-point theorem, so we're not likely to agree there. Diagonalization is an inevitable feature of Cartesian closed categories. < 1749667234 736963 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Also I believe that the folklore about total self-interpreters is wrong, or at least badly phrased. There was a paper in 2016 that challenged the lore and refined exactly what is possible: http://compilers.cs.ucla.edu/popl16/popl16-full.pdf < 1749667321 474632 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: your statement sounds wrong. if that Turing machine (without input) halts then of course it can be proven to halt, we just don't have a short enough proof. < 1749667383 386973 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :now you could construct a turing-machine that takes input and halts on all inputs but can't be proven to halt on all inputs, but you need to quantify on more than finitely many possible inputs for that < 1749667475 481300 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: Okay, I am interested though. What's your thought? < 1749667764 659058 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :I believe there is a total and sound but [maybe] not knowably sound turing machine that solves the halting problem because if you put the diagonal machine 'd1(n)=1+u(n,n)' or 'd2(n)=if h(n,n) then loop else 1' into this equation 't(m,n)=h(m,n)*u(m,n)' (t is a total Universal Turing Machine, u is a UTM and h is a halting decider) you don't get a < 1749667765 159800 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :contradiction, in another words ... < 1749667807 644713 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :Raoof: nice, looks like you're proposing a specific and implemented programming language now, that's definitely an improvement over the underspecified statement that you brought last time < 1749667813 748703 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: it has to take input for the statement to be correct I think < 1749667822 449114 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :otherwise, yes, there is a proof that simply specifies the expected running time of the program < 1749667908 159001 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: yes, or a full execution trace depending on what kind of proof you allow < 1749667955 329813 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :meanwhile, I've been having a bit of a crisis with my Rust scoped generics thing after unexpectedly realising that they have to be Sync in order to work properly < 1749668009 571323 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: You'd have to get rid of one of the structural assumptions of Turing machines. (1) Tapes can encode single bits; tapes can encode natural numbers. (2) Everything computable is enumerable; we're only working with countable infinity at most. These two seem inarguable. < 1749668013 780206 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the idea is that you can send a *type* to another thread without sending any values of that type (by mentioning the type in a way that doesn't impact Send-ness), and then calling `default` or the like on the type to get at a value < 1749668045 354699 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: that doesn't sound like too big a restriction given the restrictions that you already have < 1749668049 311171 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and if you combine this with scoped generics it lets you send values between threads without doing anything that looks like you're sending the value to the type system < 1749668077 951483 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :(3) is Gödel encoding. (4) says that every computable function is represented by a set of Turing machines. < 1749668101 890235 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :it already has to be Copy or possibly a shared reference, right? < 1749668104 514695 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: it's a bigger restriction than I thought it was going to be, even for immutable things – lots of the cases where I practically want to use this are shared references that contain Cells < 1749668115 916839 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :err, that reference things that contain Cells < 1749668118 375099 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :those are Copy but not Send < 1749668118 394944 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: Under these four assumptions, Halting is a theorem; it's an instance of Lawvere's fixed-point. See p11-12 of https://arxiv.org/abs/math/0305282 for the diagram. < 1749668155 922291 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and of course you can use the same sort of trick to split a mutable reference between threads, which isn't allowed < 1749668287 706563 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :like, a good way to think about this is that say you want to have a scoped generic that references the allocator you're using, that has to be either a mutable reference, or else the allocator has to use cells to be able to allocate through a shared reference, and neither shares between threads well (you would need to have some sort of lock around the allocator, losing considerable performance in the process) < 1749668301 879752 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: I agree with you that it would be *consistent* if there were a machine that solved Halting. It would redefine quite a bit of what we mean by "machine" and "halting" in the first place. But that would require either removing one of the four assumptions, redefining the essentials of Turing machines, or disproving Lawvere's theorem. < 1749668499 12097 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :"send a *type* to another thread without sending any values of that type" => but doesn't Rust already stop that with the lifetime system, like you can't send a *type* with a limited lifetime to another thread this way, only a type that is 'static ? < 1749668499 846919 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :korvo (... I think MRDP theorem implies that R = {f| y=f(x) iff ∃y[E(y,x)=0]} so if we can isolate y in E(y,x)=0 then every partial function can be made total) my problem with all theorems, arguments or proofs of undecidability of halting problem is that they all implicitly use a total universal function instead of a partial function < 1749668558 690056 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: so this is true with lifetimes, but doesn't apply to other correctness mechanisms like Send and Sync < 1749668597 538289 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :well, it's probably true with lifetimes, at least – my attempt to make a type that mentioned a type with a lifetime but didn't have any dependence on that type at all failed, but there may be other attempts that work < 1749668748 796283 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :so is it not possible to prove that sending just a type with a limited lifetime would make the Rust thread library unsound even without scoped generics? < 1749668766 273129 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :this sounds like something we could ask about Rust even without defining scoped generics and the Rust folks could tell < 1749668781 586850 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: I was able to prove a race condition issue but can't prove a temporal safety issue < 1749668808 306868 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :a race condition issue with what? < 1749668808 567800 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Rust seems to consider types with lifetime parameters to not be 'static even if they're contravariant or don't mention the lifetime parameter at all < 1749668824 181410 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: scoped generics that aren't Send/Sync as appropriate < 1749668856 878612 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the other interesting type that works like that is Unpin but I suspect that one's probably OK < 1749668866 610743 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: (3) and (4) don't mind if the function is partial. They only care that it is computable in the sense that we can write down an algorithm for it, and a Gödel number for that algorithm. < 1749668875 726583 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :to be honest I never looked at the details of how the Rust thread library works and how it uses Send/Sync to avoid problems < 1749668917 576482 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :you'd have to make it so that a type that even mentioned a non-Send scope generic isn't Send, but that contradicts how Rust works at the moment < 1749668921 283022 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* scoped generic < 1749668960 714622 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it doesn't even need unsafe code (or indirect unsafe code from the standard library) < 1749668984 396866 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :pub trait UseGenericParameters { type Unit; } impl UseGenericParameters for T { type Unit = (); } struct Useless(::Unit); < 1749669011 768357 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Useless is just a newtype on () that mentions T, but it takes its sendness/syncness from () < 1749669050 907935 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and this is pure language-Rust without any dependency on std/alloc/core < 1749669366 898874 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :korvo I don't see the point of Godel numbers when you are modeling computation why not model the actual computers and use ASCII/binary string < 1749669399 551450 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :a Gödel number is just a way of interpreting an ASCII/binary string in such a way that you can prove things about it < 1749669442 111425 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Raoof: We can use any encoding that has the same properties that made Gödel encoding useful. I think that ASCII with a dedicated end marker would work, for example, but that would require writing a parser with PRFs. < 1749669530 715333 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :One must keep in mind that Gödel and Kleene were writing a decade before EBCDIC and several decades before ASCII. < 1749669683 443597 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :ais523 what do you mean exactly by 'prove' ? are you referring to Peano Arithmetic ? < 1749669745 388993 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Raoof: no, just regular mathematical proofs – we want to prove things about programs, and do that by saying that the programs can take other programs as input; but the programs are defined to take numbers as input, so we prove that programs can be represented as numbers (and thus can be taken as input by other programs) < 1749669852 987524 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Indeed, under the hood, a Turing system is a set of numbers (usually the natural numbers) and a collection of partial rules for decoding those numbers into various types: numbers, bits, functions on various types, ... < 1749669949 884441 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :And when we say that the decoding is "Gödel", we just mean that the corresponding encoders satisfy the obvious laws. In particular we mean that encoding then decoding is like doing nothing; decode(encode(X)) == X. > 1749670102 683365 PRIVMSG #esolangs :14[[07User:GreenThePear/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=159691&oldid=155041 5* 03GreenThePear 5* (-14) 10nicer to code stdin like this < 1749670406 283587 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :I have to go now, I have a lot more to say but it gets philosophical. thank you all for your feedback, if you are interested in my language and my idea that it is total and turing complete please reach me at my github < 1749670413 118431 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :No worries. Peace. < 1749670466 721193 :Raoof!~Raoof@151.238.173.253 PRIVMSG #esolangs :bye < 1749670473 957633 :Raoof!~Raoof@151.238.173.253 QUIT :Quit: Client closed < 1749670616 740735 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I feel for Gödel deniers, but mostly I wish that I could understand their intuition so that I could address it directly. < 1749670671 405039 :sprock!~sprock@user/sprock QUIT :Ping timeout: 276 seconds < 1749670682 468835 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :There's no surjection from 3 to 3 → 2 because the latter has cardinality 8. Indeed, there's no surjection from 4 to 4 → 2, etc. So why expect that there's a surjection from N to N → 2? < 1749670730 611272 :sprock!~sprock@user/sprock JOIN #esolangs sprock :maeve (she/her) < 1749670831 533142 :Everything!~Everythin@77.120.244.38 JOIN #esolangs Everything :Everything < 1749670874 296341 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I guess it really does go along with denying Cantor's discovery that there are multiple infinite cardinalities. But a computer scientist isn't really harmed by working with finite sets and finite functions, so it's still a workable perspective. < 1749671394 818675 :APic!apic@apic.name PRIVMSG #esolangs :cu < 1749672229 257285 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :korvo: There's no surjection from 3 to 3+1 or from 4 to 4+1, but there is a surjection from N to N+1. I think it's reasonable to expect infinite things to behave differently. < 1749672344 358736 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :shachaf: Sure, that's fair. I guess it just feels regressive to me. Infinite things have to be *proven* to behave differently; I didn't believe N covers N + 1 in grade school at first. < 1749672406 25649 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Hilbert's Hotel always seemed like a "just-so" story: a story that we tell ourselves in order to justify something that we don't understand. < 1749672512 259097 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: ok, I don't understand how you could smuggle the type to another thread. if you try to call default you have to be able to name the type (even if you don't explicitly write the name), and if your type mentions a const generic then you can only name it where it's in the dynamic scope, eg. you can't name it in an inner lambda that could escape from the dynamic scope. < 1749672548 29920 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :it seems like even if you can make a type that's supposedly Send, you can't actually use that type in the wrong place < 1749673179 756416 :Everything!~Everythin@77.120.244.38 QUIT :Quit: leaving < 1749673315 829884 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: the point is that the other thread *can* name the type, you just create a Send type that names it and send that < 1749673338 88798 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it is possible to have a Send type that names a non-Send type < 1749673505 351808 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: but how do you send the type? the program still has to typecheck so you can only send a value of a specific type named both where you send and where you receive < 1749673528 877211 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :eg. you could send a value of type T in a static Mutex < 1749673559 812331 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :but you can't declare a static as Mutex if T depends on a const generic because there's no const generic in scope in the top level where you declare the static < 1749673592 769515 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: it doesn't have to be a static Mutex, you can just provide the Mutex as an argument to the thread creation call < 1749673616 774928 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :either by limiting the lifetime of the thread to shorter than the lifetime of the mutex, or Box::leak-ing the mutex so that it lives for the rest of the program duration < 1749673659 894982 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :alternatively, you can send, e.g., a Useless by value, avoiding lifetime issues, and then get at the type T by pattern-matching against Useless in a blanket trait definition < 1749673681 834441 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :impl UselessArg for UselessArg { type Arg = T: }, that sort of thing < 1749673801 11021 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :what do you do with the Box::leaked mutex? < 1749673819 331414 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :give it to the thread you're creating as, e.g., a closure capture < 1749673831 955854 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :err, give a reference to it, you don't move it < 1749673874 853831 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :actually I think that doesn't work because you can't leak a mutex unless it contains a 'static value < 1749673885 821807 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but the Useless-by-value technique would still work < 1749673927 946461 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(it would, however, need scoped rather than regular threads in order to weaponise it into undefined behaviour, because scoped generics can't have a 'static lifetime) < 1749674399 310859 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: I don't think this can work. if your closure captures something then the type of the closure will mention the type of that capture. If you could somehow erase that from the type of the closure and assign it to a global variable with a fixed type then, even without involving threads at all, you could leak a reference to a local variable in that closure. < 1749674486 209585 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: my point is that type of a closure to mention something that isn't Send, but the closure itself can still be Send < 1749674504 359192 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and if you combine that with scoped generics, you can send the value of the scoped generic that way even if it isn't actually Send < 1749674521 192047 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: hold on, do you think it should be possible to get unsoundness this way without starting a new thread inside the scope? < 1749674522 681456 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :*the type of a closure can mention something that isn't Send < 1749674533 103057 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :s/should/would/ < 1749674610 691303 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think some sort of multithreading that works on non-'static things is probably necessary (the Send implementaitons being wrong probably doesn't matter without multithreading or async signals, and scoped generics cannot be 'static so they can't be mentioned by anything that only works on 'static things) < 1749674622 233816 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I think it's not a problem in itself that you can use a type for the closure starting type that is Send but mentions a type that isn't Send inside type parameters. < 1749674628 59621 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I suspect it wouldn't be limited to specifically the std scoped threads mechanism, though < 1749674645 551999 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :As in that should be possible but doesn't alone mean you can use that for unsoundness. < 1749674646 48644 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, you can do that in current Rust without issue and it's even useful < 1749674690 129484 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :scoped generics introduce an unsoundness because you can use, say, an implementation of Default on the non-Send type you sent and get at the same value that was used to create the scoped generic on another thread < 1749674705 183969 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :without scoped generics, you can't do that because Default would necessarily create a new object rather than reusing an existing one < 1749675738 888106 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User < 1749675786 170402 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :this still feels like you can get unsoundness this way only if you can also get unsoundness without threads or Send involved at all. like if you could start a thread this way then you could also just leak a Box from your scope with a method that calls default, and the method table in that would reference your const generic. but if you try this the lifetimes will stop you, no matter whether you try < 1749675792 178889 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :with dyn or a closure. you can erase the non-Send-ness but you can't erase the lifetime. < 1749675897 249875 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I was aware of the dyn issue earlier < 1749675969 189166 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess one way to think about it is this: one potential view of a scoped generic is as a lifetime that has a value – so this is basically changing things so that lifetimes themselves can be !Send or !Sync, which isn't possible currently < 1749676086 412723 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :can't you use dyn to implement a type eraser similar to C++ std::function, so you can leak a Fn() closure wrapped as a fixed type box regardless of the original type of the closure, right? and then you can call that closure even if it captures a value with a type that is scoped. but if you try this with const generics then rust should stop you by making it impossible to erase the lifetime from the type < 1749676092 410428 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :of the closure, so the type eraser wrapper will require that your closure is 'static, and the rules of your const generic extension will be such that if the closure has to capture the virtual method table for Default that references your stack then the closure will have a lifetime restricted to your scope. < 1749676133 436745 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :no, I still don't think Send or threads is relevant here, and if this is unsound then it's unsound without threads or Send < 1749676154 683514 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :with scoped threads the trick is that the starting function of the thread has to be 'static < 1749676191 793155 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :you can make the type Send but you won't be able to make it 'static and still leak a type that needs to reference your reference scoped generic < 1749676192 289421 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that isn't true for scoped threads, the whole point of scoped threads is that you can have a non-'static starting closure < 1749676223 711425 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :which library function starts such a scoped thread? < 1749676233 571510 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :pub fn std::thread::scope<'env, F, T>(f: F) -> T where F: for<'scope> FnOnce(&'scope Scope<'scope, 'env>) -> T < 1749676259 409305 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :which creates a Scope which can do this: < 1749676282 37550 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :pub fn spawn(&'scope self, f: F) -> ScopedJoinHandle<'scope, T> where F: FnOnce() -> T + Send + 'scope, T: Send + 'scope < 1749676290 859452 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ah, advanced type magic < 1749676309 115280 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this is only intermediate type magic I think < 1749676315 96809 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I think that's similar advanced type magic to what Haskell ST uses < 1749676328 553805 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ok fine, if it were advanced I couldn't even conceive it < 1749676350 822914 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, I can mostly follow this one, there is some type magic I struggle with < 1749676460 505704 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I'll have to look at how the heck that works because I really haven't payed attention to scoped threads < 1749676467 505762 :int-e!~noone@int-e.eu PRIVMSG #esolangs :@type runST < 1749676468 377013 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esolangs :(forall s. ST s a) -> a < 1749676470 51264 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :they didn't sound like something I wanted to do < 1749676484 366498 :int-e!~noone@int-e.eu PRIVMSG #esolangs :that 'scope is similar to the s in ST s a < 1749676514 789570 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh wait, this is a permaborrow isn't it < 1749676520 283108 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so quite advanced on the level of type magic < 1749676557 109824 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I have been meaning to learn more about permaborrows and write more about them, too < 1749676584 359035 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I feel like I understand them much better than the average Rust dev – I've answered Stack Overflow questions that turned out to be about them, and written code that makes use of them intentionally < 1749676596 711890 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but they're still one of the most confusing areas of Rust and have bad compiler diagnostics < 1749676685 43152 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this is the sort of situation where a permaborrow would make sense < 1749676760 499235 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :fwiw, I suspect that if permaborrows were more widely understood, then pinning wouldn't be necessary < 1749676771 629391 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but I'm not totally sure > 1749678400 327773 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=159692&oldid=159422 5* 03Buckets 5* (+11) 10 > 1749678442 158369 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=159693&oldid=159423 5* 03Buckets 5* (+10) 10 > 1749678460 982205 PRIVMSG #esolangs :14[[07Talk:Calcu-less 214]]4 N10 02https://esolangs.org/w/index.php?oldid=159694 5* 03Anthonykozar 5* (+728) 10Two questions. > 1749678470 531918 PRIVMSG #esolangs :14[[07Beef14]]4 N10 02https://esolangs.org/w/index.php?oldid=159695 5* 03Buckets 5* (+2367) 10Created page with "Beef is an Esoteric programming language created by [[User:Buckets]] in 2021. At the Start, It will Spiral Outwards in a Clockwise Manner Coming out From the Right. {| class="wikitable" |- ! Commands !! Instructions |- | < || Move left once. |- | > || Change the movment < 1749678778 449561 :impomatic!~impomatic@2a00:23c7:5fc9:5401:24ec:b052:cced:828d QUIT :Quit: Client closed > 1749679813 856816 PRIVMSG #esolangs :14[[07Sleep.14]]4 M10 02https://esolangs.org/w/index.php?diff=159696&oldid=154760 5* 03Buckets 5* (-350) 10 < 1749681185 516490 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :anyway, if you figure out whether this can break something without scoped threads I'll be interested, because that would localize the problem. < 1749681223 140808 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :also whether it could break anything without closures, because maybe you have to clarify the interaction of scoped generics and closures < 1749681554 737004 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749683730 45699 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :well, a closure is just sugar for an anonymous struct that implements FnOnce/FnMut/Fn < 1749683797 721271 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the current scoped thread APIs requires closures to be able to pass any data to it, but this seems like a coincidental/inessential detail rather than something that it would make sense to rely on < 1749684138 873424 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname