< 1763079204 15036 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1763080303 805537 :Melvar!~melvar@dslc-082-082-054-197.pools.arcor-ip.net QUIT :Ping timeout: 246 seconds < 1763081151 513278 :Melvar!~melvar@dslc-082-082-054-197.pools.arcor-ip.net JOIN #esolangs Melvar :melvar < 1763084965 771005 :amby!~ambylastn@host-81-178-156-253.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 > 1763091493 513671 PRIVMSG #esolangs :14[[07Square-like14]]4 10 02https://esolangs.org/w/index.php?diff=168121&oldid=168100 5* 03Yayimhere2(school) 5* (+60) 10/* Syntax & semantics */ > 1763092173 706253 PRIVMSG #esolangs :14[[07Emmental14]]4 10 02https://esolangs.org/w/index.php?diff=168122&oldid=148993 5* 03Yayimhere2(school) 5* (+115) 10/* See also */ > 1763096929 388275 PRIVMSG #esolangs :14[[07User talk:Chris Pressey14]]4 10 02https://esolangs.org/w/index.php?diff=168123&oldid=90288 5* 03Yayimhere2(school) 5* (+150) 10/* Controversial */ < 1763100638 256463 :Sgeo!~Sgeo@user/sgeo QUIT :Ping timeout: 256 seconds < 1763101152 572542 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1763101762 524787 :Sgeo_!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1763101837 556208 :Sgeo!~Sgeo@user/sgeo QUIT :Ping timeout: 264 seconds > 1763103273 282832 PRIVMSG #esolangs :14[[07Apraxia14]]4 N10 02https://esolangs.org/w/index.php?oldid=168124 5* 03Yayimhere2(school) 5* (+2953) 10Created page with "'''Apraxia''' is a [[Category:Pattern-based|pattern-based esolang]] created by [[User:Yayimhere]], after being disappointed by the use of the before mentioned term. In Apraxia, every string of length 1 is valid as code. Apraxia is quite complex c > 1763103519 664151 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=168125&oldid=168124 5* 03Yayimhere2(school) 5* (+220) 10 < 1763103731 915610 :Sgeo_!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer > 1763104194 255964 PRIVMSG #esolangs :14[[07User:Yayimhere14]]4 10 02https://esolangs.org/w/index.php?diff=168126&oldid=168057 5* 03Yayimhere2(school) 5* (+14) 10/* esolangs */ > 1763104464 390629 PRIVMSG #esolangs :14[[07Delta Relay14]]4 M10 02https://esolangs.org/w/index.php?diff=168127&oldid=154072 5* 03ThrowAwayLurker 5* (+4) 10Changed punctuation and capitalization > 1763104614 606671 PRIVMSG #esolangs :14[[07Square-like14]]4 10 02https://esolangs.org/w/index.php?diff=168128&oldid=168121 5* 03Yayimhere2(school) 5* (-5) 10/* Syntax & semantics */ > 1763104669 992387 PRIVMSG #esolangs :14[[07ObjLang14]]4 M10 02https://esolangs.org/w/index.php?diff=168129&oldid=122882 5* 03ThrowAwayLurker 5* (+31) 10Added distinguish to Obj > 1763104707 288773 PRIVMSG #esolangs :14[[07Obj14]]4 M10 02https://esolangs.org/w/index.php?diff=168130&oldid=139777 5* 03ThrowAwayLurker 5* (+36) 10Added distinguish to ObjLang < 1763105592 431914 :sprout_!~sprout@84-80-106-227.fixed.kpn.net NICK :sprout > 1763107297 383909 PRIVMSG #esolangs :14[[07Square-like14]]4 10 02https://esolangs.org/w/index.php?diff=168131&oldid=168128 5* 03Yayimhere2(school) 5* (+80) 10/* Syntax & semantics */ > 1763107863 934497 PRIVMSG #esolangs :14[[07STABS-MOD14]]4 N10 02https://esolangs.org/w/index.php?oldid=168132 5* 03Yayimhere2(school) 5* (+2072) 10Created page with "{{WIP}} '''STABS-MOD''', an acronym for "STAck Based String MODification language", is a language created based on an idea for a [[Minsky Machine]] translation into [[Square-like]]. It is quite the strange stack(well, dequeue) based language. It is currentl > 1763108026 577202 PRIVMSG #esolangs :14[[07STABS-MOD14]]4 10 02https://esolangs.org/w/index.php?diff=168133&oldid=168132 5* 03Yayimhere2(school) 5* (+17) 10/* Commands */ > 1763108039 5502 PRIVMSG #esolangs :14[[07STABS-MOD14]]4 10 02https://esolangs.org/w/index.php?diff=168134&oldid=168133 5* 03Yayimhere2(school) 5* (+17) 10/* Commands */ > 1763108130 471649 PRIVMSG #esolangs :14[[07STABS-MOD14]]4 10 02https://esolangs.org/w/index.php?diff=168135&oldid=168134 5* 03Yayimhere2(school) 5* (-2) 10/* Commands */ < 1763109619 533469 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 JOIN #esolangs * :Textual User > 1763109713 599710 PRIVMSG #esolangs :14[[07Square-like14]]4 10 02https://esolangs.org/w/index.php?diff=168136&oldid=168131 5* 03Yayimhere2(school) 5* (+97) 10/* Syntax & semantics */ > 1763109888 446541 PRIVMSG #esolangs :14[[07STABS-MOD14]]4 10 02https://esolangs.org/w/index.php?diff=168137&oldid=168135 5* 03Yayimhere2(school) 5* (+93) 10/* Commands */ > 1763110261 585748 PRIVMSG #esolangs :14[[07Notwise Cyclic Tag14]]4 N10 02https://esolangs.org/w/index.php?oldid=168138 5* 03Yayimhere2(school) 5* (+421) 10Created page with "'''Notwise Cyclic Tag''' or '''NCT''' is a modified [[BCT]]. It was created to prove [[STABS-MOD]] turing complete. == NCT programs == A NCT program is any finite string of commands, executed as follows: {| class="wikitable" ! Symbol !! Meaning |- > 1763113299 881415 PRIVMSG #esolangs :14[[07Fillin14]]4 N10 02https://esolangs.org/w/index.php?oldid=168139 5* 03Yayimhere2(school) 5* (+1172) 10Created page with "'''Fillin''' (pronounced \ii\) is an esolang created by [[User:Yayimhere]] after being dissatisfied by [[Square-like]], another esolang they made. Fillin functions by filling in its own program again and again. == Memory == Fillin has a stack. This stack is f > 1763113475 892290 PRIVMSG #esolangs :14[[07Fillin14]]4 10 02https://esolangs.org/w/index.php?diff=168140&oldid=168139 5* 03Yayimhere2(school) 5* (+158) 10/* Leave */ > 1763113503 838837 PRIVMSG #esolangs :14[[07Fillin14]]4 10 02https://esolangs.org/w/index.php?diff=168141&oldid=168140 5* 03Yayimhere2(school) 5* (+44) 10 > 1763113647 736749 PRIVMSG #esolangs :14[[07Fillin14]]4 10 02https://esolangs.org/w/index.php?diff=168142&oldid=168141 5* 03Yayimhere2(school) 5* (+46) 10/* Commands */ > 1763113704 520803 PRIVMSG #esolangs :14[[07Fillin14]]4 10 02https://esolangs.org/w/index.php?diff=168143&oldid=168142 5* 03Yayimhere2(school) 5* (-146) 10/* Memory */ > 1763113717 386119 PRIVMSG #esolangs :14[[07Fillin14]]4 10 02https://esolangs.org/w/index.php?diff=168144&oldid=168143 5* 03Yayimhere2(school) 5* (-21) 10/* Commands */ < 1763114471 272292 :Taneb!~username@host-95-251-57-201.retail.telecomitalia.it JOIN #esolangs Taneb :realname > 1763114526 467886 PRIVMSG #esolangs :14[[07Incident14]]4 10 02https://esolangs.org/w/index.php?diff=168145&oldid=67279 5* 03Yayimhere2(school) 5* (+52) 10/* See also */ < 1763115374 99889 :Yayimhere!~Yayimhere@197.185.187.170 JOIN #esolangs * :[https://web.libera.chat] Yayimhere < 1763115394 943621 :Yayimhere!~Yayimhere@197.185.187.170 QUIT :Client Quit > 1763116058 88397 PRIVMSG #esolangs :14[[07User:RaiseAfloppaFan392514]]4 10 02https://esolangs.org/w/index.php?diff=168146&oldid=168112 5* 03RaiseAfloppaFan3925 5* (-2238) 10 < 1763116159 800525 :APic!apic@apic.name PRIVMSG #esolangs :Hi < 1763116971 976427 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1763117444 125064 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 JOIN #esolangs * :Textual User < 1763124156 535522 :amby!~ambylastn@host-81-178-154-63.as13285.net JOIN #esolangs amby :realname < 1763124970 367865 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1763125249 953193 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1763125332 802413 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 JOIN #esolangs * :Textual User > 1763127332 481581 PRIVMSG #esolangs :14[[07Delta Relay14]]4 10 02https://esolangs.org/w/index.php?diff=168147&oldid=168127 5* 03Ais523 5* (+0) 10partial rv: the bullet points in the "any of the following algorithms" list start in the middle of the sentence, so the first word of the bullet point is not capitalised because it occurs mid-sentence and is not a proper noun > 1763128307 582063 PRIVMSG #esolangs :14[[07Talk:Fire14]]4 N10 02https://esolangs.org/w/index.php?oldid=168148 5* 03Waffelz 5* (+91) 10Created page with ""fire" -~~~~" < 1763130326 101753 :impomatic!~impomatic@host81-138-18-19.in-addr.btopenworld.com JOIN #esolangs * :[https://web.libera.chat] impomatic < 1763131035 158316 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1763131324 339593 :impomatic!~impomatic@host81-138-18-19.in-addr.btopenworld.com QUIT :Quit: Client closed < 1763131637 359835 :lynndotpy6093!~rootcanal@134.122.123.70 QUIT :Quit: bye bye < 1763131711 300461 :lynndotpy6093!~rootcanal@134.122.123.70 JOIN #esolangs lynndotpy :lynn < 1763133822 225043 :Taneb!~username@host-95-251-57-201.retail.telecomitalia.it QUIT :Ping timeout: 256 seconds > 1763133895 691344 PRIVMSG #esolangs :14[[07Talk:Fire14]]4 10 02https://esolangs.org/w/index.php?diff=168149&oldid=168148 5* 03Esolangist alt 5* (+176) 10Esolangist alt > 1763133972 669581 PRIVMSG #esolangs :14[[07Bliss14]]4 M10 02https://esolangs.org/w/index.php?diff=168150&oldid=168110 5* 03H33T33 5* (+204) 10 > 1763134013 263007 PRIVMSG #esolangs :14[[072 commands :(14]]4 N10 02https://esolangs.org/w/index.php?oldid=168151 5* 03 5* (+1040) 10Created page with "'''2 commands :(''' is a language by ~~~, made as the sequel to [[3 commands :)]]. 2 commands :( has 2 commands and 2 cells. ==Commands== {| class="wikitable" | 1 || If cell 2 is 256, output cell 1 as a number. If it is 257, output it as an ASCII character. If it is 258 < 1763134363 101386 :DOS_User_webchat!~DOS_User_@72.red-88-1-117.dynamicip.rima-tde.net JOIN #esolangs * :[https://web.libera.chat] DOS_User_webchat < 1763134380 67765 :DOS_User_webchat!~DOS_User_@72.red-88-1-117.dynamicip.rima-tde.net CHGHOST ~DOS_User_ :user/DOS-User:11249 < 1763134551 310635 :DOS_User_webchat!~DOS_User_@user/DOS-User:11249 QUIT :Remote host closed the connection > 1763135983 830336 PRIVMSG #esolangs :14[[07Bliss14]]4 M10 02https://esolangs.org/w/index.php?diff=168152&oldid=168150 5* 03H33T33 5* (-1) 10 > 1763136353 411810 PRIVMSG #esolangs :14[[07Bliss14]]4 10 02https://esolangs.org/w/index.php?diff=168153&oldid=168152 5* 03Aadenboy 5* (+1) 10fix tag < 1763137185 677528 :pool!~nathan@user/PoolloverNathan QUIT :Read error: Connection reset by peer < 1763137303 643994 :pool!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan < 1763137682 205395 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1763137748 894319 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 256 seconds < 1763137762 624965 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life > 1763138671 971655 PRIVMSG #esolangs :14[[07Extended beescript14]]4 N10 02https://esolangs.org/w/index.php?oldid=168154 5* 03Esolangist alt 5* (+1937) 10Esolangist alt > 1763139206 809218 PRIVMSG #esolangs :14[[07User:Hammy14]]4 10 02https://esolangs.org/w/index.php?diff=168155&oldid=167740 5* 03Esolangist alt 5* (+223) 10Esolangist alt < 1763139517 102166 :Yayimhere!~Yayimhere@197.185.187.170 JOIN #esolangs * :[https://web.libera.chat] Yayimhere < 1763139525 948845 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :Hello! < 1763139789 923513 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1763139900 190186 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hi < 1763139908 847861 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :how are you? < 1763139937 788650 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :a bit tired, also there's a rainstorm over the UK at the moment so it's making it difficult to do things outdoors < 1763139963 348214 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :makes sense < 1763139983 748143 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :(i am not quite surprised you arent working on much, because you have already worked on a whole lot of things) < 1763140046 280220 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I find it hard to get enough mental energy together to focus on anything in particular, it can take days < 1763140060 594228 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :I get that sometimes < 1763140089 398226 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :atm I'm mentally working on a replacement for one of the most fundamental standard library types in Rust (specifically Box) < 1763140098 668552 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but am having trouble working out the exact soundness conditions < 1763140104 548569 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :wowo < 1763140111 58944 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :that sure is a project < 1763140156 81818 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :even if I work it out, it might be hard to persuade the Rust developers to accept the change, but I still want to figure out how it's supposed to look instead and think I can make it backwards-compatible with stable code < 1763140171 309864 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :oh wow < 1763140174 377111 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :being in #esolangs means that you can try to reimagine things that most language developers wouldn't dare to < 1763140176 491661 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :your actually like < 1763140184 48628 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :trying to get it in rust < 1763140189 138208 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523: in fact < 1763140257 9873 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :trying is kind-of different from succeeding < 1763140264 590311 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm actually trying to get something *else* into Rust which I think has a better chance < 1763140286 288419 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :its still wild < 1763140289 651708 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but I was trying to write a prototype, and got stuck on Box not working the way I needed it to, so I'm writing my own Box so that i can use it to write the prototype of the other feature < 1763140333 848445 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this has been my life for the past 5 years or so, try to write a program, find that the language isn't quite right for writing the program in, try to fix the language < 1763140352 859079 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :then decide I want a prototype to demonstrate my ideas more clearly, but that's also a program, so the cycle repeats < 1763140363 906772 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :thats... cool < 1763140364 928164 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :until it starts touching on ever more fundamental parts of the language < 1763140381 213428 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :has any of your esolangs resulted from this < 1763140403 583756 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :doing this on Rust, no, because the resulting language changes end up too practical to really be esolangs < 1763140414 528000 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :true < 1763140416 328588 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's given me a few ideas for intermediate representations (which are languages used internally within compilers) < 1763140425 53348 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :but like in general, not this specifically < 1763140436 406511 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :which are fairly esoteric as intermediate representations go, but IRs still generally aren't considered to be esolangs > 1763140475 631747 PRIVMSG #esolangs :14[[07User:Yayimhere14]]4 10 02https://esolangs.org/w/index.php?diff=168156&oldid=168126 5* 03Yayimhere2(school) 5* (+0) 10/* Favorite esolangs: */ > 1763140524 58172 PRIVMSG #esolangs :14[[07User:Yayimhere14]]4 10 02https://esolangs.org/w/index.php?diff=168157&oldid=168156 5* 03Yayimhere2(school) 5* (+8) 10/* Favorite esolangs: */ < 1763140555 610881 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think people are still surprised that we got the URL https://esolangs.org/wiki//// to work < 1763140562 521981 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :URLs don't normally work like that < 1763140585 324010 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :yea < 1763140651 182040 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(I'm not involved in the webserver/hosting side of esolangs.org so I don't know how difficult it was) < 1763140677 492505 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 JOIN #esolangs * :Textual User > 1763140687 214798 PRIVMSG #esolangs :14[[07User:Ractangle14]]4 M10 02https://esolangs.org/w/index.php?diff=168158&oldid=165846 5* 03Ractangle 5* (+17) 10/* Esolangs */ > 1763140721 802747 PRIVMSG #esolangs :14[[07Filename "xxx" doesn't seem to be a valid filename. Please check if the filename your trying to execute is written correctly14]]4 M10 02https://esolangs.org/w/index.php?diff=168159&oldid=163160 5* 03Ractangle 5* (-190) 10/* Python */ < 1763140797 938690 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :for what im working on, im making an esolang with another esolanger < 1763140816 478239 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :in which a program generates programs, put them on a wheel, and reject or accept them < 1763140900 42006 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :what does the wheel do? < 1763140953 617595 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :hold programs genarated < 1763140973 581782 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ah, so it's your equivalent of a stack or tape? < 1763141031 693424 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :yes < 1763141038 872885 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :well theres also a stack < 1763141049 281554 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :but its a wheel cuz wee spin it around in a cycle < 1763141052 193192 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm, now I'm thinking about how, in addition to having stacks and tapes and queues to store data, languages often conceptually have something similar to a stack or tape or queue to hold the program < 1763141068 209339 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :true < 1763141077 16653 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :thats an interesting concept for an esolang < 1763141085 660023 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :BF is like the program is on a stack, because when you encounter the start of a loop and it's taken, you push a copy of the loop body in front of the loop < 1763141110 697376 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(this is actually how I implemented it when I wrote a BF interpreter in Esimpl, which is designed to map onto a lot of other simple esolangs so they would probably implement it the same way) < 1763141123 750558 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :likewise, Underload treats the program like a stack because ^ pushes onto the start of the program < 1763141135 412161 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :true < 1763141172 473931 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :meanwhile, in languages like cyclic tag and the I/D machine, the program acts like a queue because the easiest way to implement the implicit loop is, after running a command, you push that command onto the end of the program < 1763141206 100305 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and in languages like Unefunge, the program is there as a static entity but you can move the instruction pointer back and forward through it and it can move in either direction, so the program behaves like a tape < 1763141220 910215 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm not sure if there's a pattern or important concept here but it's interesting to think about > 1763141230 701880 PRIVMSG #esolangs :14[[078ial14]]4 M10 02https://esolangs.org/w/index.php?diff=168160&oldid=166147 5* 03Ractangle 5* (-49) 10/* Interpreter */ < 1763141231 552241 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :yea < 1763141243 509857 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :I guess its a method for creating a self modifying language < 1763141248 620412 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :in a more "logical" way < 1763141250 70731 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :maybe this is somehow connected to the way that tag systems are better at interpreting counter machines than tag systems, but counter machines are better at intepreting tag systems than counter machines < 1763141271 66273 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :lol < 1763141277 931282 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :thats strange < 1763141280 760214 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :but cool < 1763141285 948816 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(when *compiling* it behaves more sensibly, normally tag systems compile most easily into other tag systems and counter machines into other counter machines) < 1763141326 868973 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1763141369 783108 PRIVMSG #esolangs :14[[078ial14]]4 M10 02https://esolangs.org/w/index.php?diff=168161&oldid=168160 5* 03Ractangle 5* (-51) 10/* Syntax */ < 1763141374 538005 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :this makes me wonder if there is a fun way to make a self modifying Apraxia variant < 1763141438 974091 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :Apraxia is most definitely trivial in a stack < 1763141439 724556 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 JOIN #esolangs * :Textual User < 1763141440 618335 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :i think < 1763141440 884418 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :"trying to get something *else* into Rust which I think has a better chance" => I hope it's a better replacement for the whole format! mechanism, because that's the part that I'd most like to replace. But it's tricky, because the current format! parses the format template at compile time, which is very useful, not really because of performance but to find type errors at compile time, but isn't trivial < 1763141446 983253 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :to implement. < 1763141482 268639 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I wouldn't have guessed that you want to replace Box, that one is surprising. < 1763141506 513502 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: I (and others) realised a while ago that Rust had an important missing abstraction < 1763141515 729179 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but it's only very recently that I realised that it's a generalisation of Box < 1763141551 453558 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the difference from current Rust Box is that the current Box manages an allocation itself and also manages the lifetime of the value inside the box itsefl < 1763141595 933401 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :which is a special case of my generalised Box (which I'm calling Box2), which wraps around an object representing an allocation, and manages the lifetime of the value inside the Box but delegates the management of the allocaiton itself < 1763141681 889303 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so Box::::new(t) would be sugar for Box2::::new_at(x, GlobalAllocator::new_allocation::()), but this would then allow you to start using other allocation-like things instead of actual allocations < 1763141704 911690 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :"got the URL https://esolangs.org/wiki//// to work" => I don't find that surprising. like, the RFCs say that . and .. components between slashes are supposedly special in URLs, but they also say that proxies must not rewrite any part of the URL with the exception that if there's no path after the hostname they can add a single slash, and the webservers can just interpret URLs however they want and tell < 1763141710 920200 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :proxies how to cache pages, so nobody actually enforces the theoretical rules about URLs < 1763141717 438062 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and I think even the theoretical rules don't require that extra slashes can't have a meaning < 1763141735 636123 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, most webservers treat them as directory-like but there's no rule that actually says you have to < 1763141815 330854 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :also I think MediaWiki does this out of the box with the slahes, though you can run into problems with some other characters in article titles < 1763141844 508832 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :IIRC it used to not work, but got intentionally fixed at some point < 1763141860 891834 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but it might have been something before MediaWiki in the chian < 1763141870 599593 :fizzie!~irc@selene.zem.fi PRIVMSG #esolangs :Hah, I *just* mentioned https://esolangs.org/wiki//// on #go-nuts yesterday. < 1763141894 922310 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: It's worth asking *why* we want self-modifying systems. Often it's much easier to analyze when a system's code and data are completely separate. < 1763141904 306855 :fizzie!~irc@selene.zem.fi PRIVMSG #esolangs :Someone came by complaining that the Go standard library's router collapses consecutive slashes (or removes empty path components, whichever way you want to think of it). < 1763141924 293480 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: I think the want directly comes from a challenge of not being allowed to separate them < 1763141926 367294 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :And even when we want to be able to treat code as data for runtime code generation, we can use something like multi-stage programming or two-layer types to do it safely. < 1763141941 47109 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :as an estoric language's goal atleast < 1763141955 678840 :fizzie!~irc@selene.zem.fi PRIVMSG #esolangs :Which may or may not be true, they may have also misdiagnosed the issue; in any case, what I know for sure is, nginx does that by default when proxying, so a `merge_slashes off;` setting is needed for that /// link to actually work. < 1763141977 576523 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: so I think the attraction is that self-modification is both powerful and hard to reason about, which makes it an interesting challenge for programmers < 1763141991 447390 :fizzie!~irc@selene.zem.fi PRIVMSG #esolangs :(That's the before-MediaWiki thing that needed a fix. It's only an issue when using the "pretty" URLs, of course.) < 1763142006 221637 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :maybe it isn't the best thing to use in production < 1763142006 773211 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1763142008 235123 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Sure. Lucky 10000: most computers today are either *Harvard* or *Von Neumann* architectures. The big difference is that a Harvard architecture doesn't allow code to be altered after it's been loaded, while a Von Neumann architecture allows code to be changed. < 1763142016 977994 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523: in fact I just stated < 1763142041 56316 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I remember reading about someone who was using cross-modifying code as a performance optimisation, that seems to be a similar attraction < 1763142042 125672 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :Korvo: i actually do prefer the concept of a Von Neumann one > 1763142052 917523 PRIVMSG #esolangs :14[[078ial14]]4 M10 02https://esolangs.org/w/index.php?diff=168162&oldid=168161 5* 03Ractangle 5* (-6) 10/* Cat program */ < 1763142072 557198 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :You'll see lots of Harvard architectures being pushed for safety, and ideas that emulate it like W^X, "write XOR execute", which says that pages in memory can either be mutable or executable but not both. < 1763142100 71074 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: it makes sense < 1763142117 961235 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :is propably comes fro my want to be able to modify anything I want to < 1763142123 548327 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :if I really want to < 1763142126 700864 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :fizzie: maybe I'm a wimp but I referred to it as https://esolangs.org/wiki/Slashalash in https://logs.esolangs.org/libera-esolangs/2025-10.html#lJJb . I don't think the punctuation-only one is bad for a URL, but because I think it's bad for the name of a language. Cplusplus and C-sharp are bad enough, we don't have to compete with them. < 1763142175 939530 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 JOIN #esolangs * :Textual User < 1763142190 67234 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: so my conceptual objection to self-modifying code that isn't extremely low level is that it really restricts what source code transformations are valid < 1763142196 903052 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: I don't really understand that Box thing, but I assume you'll eventually just explain it in a blog post < 1763142208 791798 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Sure. And that attitude makes sense for a single person on a single machine with no network. But how do you prevent Somebody Else from modifying anything on your machine? Once we start asking that sort of question, it becomes more attractive to make parts of the software immutable so that *nobody* can change them. < 1763142227 328224 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: this is normal with my ideas in early stages of development, I often don't really understand them myself < 1763142243 313042 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: true. I had not really though of that, however this is for me still an esolang question < 1763142245 992565 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :to some extent < 1763142249 621064 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :fizzie: I see < 1763142252 787307 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Yeah. Or it makes them much more expensive, since the transformation must track the original code and any modifications that have been statically applied. < 1763142252 950795 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :but yea I see *why* < 1763142255 795042 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :it would be done > 1763142388 191089 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=168163&oldid=168125 5* 03Yayimhere2(school) 5* (+14) 10/* Semantics */ < 1763142441 536345 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :"so my conceptual objection to self-modifying code that isn't extremely low level is that it really restricts what source code transformations are valid" => oh yeah! that reminds me of a certain obfuscated dc short signature that reuses a string for both executing and getting its length, so if you try to modify that string to add debug statements for reverse engineering then the code breaks. that's not < 1763142447 575615 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :self-modifying code, but gives a similar problem. much later I wrote something like that in perl where you can't even modify any character in the string without it breaking something. < 1763142458 391957 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: the thing that bothers me about the security argument is that it isn't obvious to me that it's impossible to have secure self-modifying code < 1763142468 336774 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :that dc code was when I was young so I didn't yet expect that that kind of thing can happen > 1763142474 425136 PRIVMSG #esolangs :14[[078ial14]]4 M10 02https://esolangs.org/w/index.php?diff=168164&oldid=168162 5* 03Ractangle 5* (-18) 10/* Truth-machine */ < 1763142474 551995 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :you could place restrictions on what modifications were allowed, or use a taint system, or the like < 1763142515 803620 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: it would have been much easier in A Pear Tree :-P < 1763142540 748942 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :also < 1763142542 102147 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although that runs the risk of someone finding the checksum < 1763142542 923299 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :yes... but then most people won't know how to run it < 1763142566 425494 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :whereas (especially at the time when I wrote it) everyone just had a perl interpreter already < 1763142580 418283 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523, me and a couple of other people was wondering about the statement that a looping counter is not possible by a PDA, since it makes sense to none of us < 1763142585 880361 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :(this was stated on the black page) < 1763142591 435977 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I wonder if you can write an interesting/nontrivial Perl program where any single addition, removal or substitution of a byte breaks the program < 1763142609 710940 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :wasn't there a challenge like that on Code Golf SE? < 1763142613 781553 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: yes < 1763142633 208498 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :see the pristine-programming tag for a whole load of variants on it < 1763142660 215716 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Yayimhere: OK, so a push-down automaton is, basically, a stack where each element can only hold one of finitely many possibilities, plus a state machine < 1763142664 803938 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :any single addition would have to use something like reading __DATA__ and verifying the integrity, because otherwise it's hard to make somethign that doesn't break if you add a space at the start or end < 1763142681 559686 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :Ais523: yes? < 1763142685 288632 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :especially if it's just a perl script, not a polyglot or something < 1763142703 94317 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :say we want the program to output a really big number, then that number + 1, then that number + 2, and so on (and the number is bigger than anything that appears in the program) < 1763142707 124280 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :which a looping counter has to do, eventually < 1763142719 974057 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there are only finitely many states, and only finitely many possibilities for each stack element < 1763142720 271360 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and if I can just read the whole code and verify a checksum then the challenge gets trivial < 1763142742 83551 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so the number has to be stored across a range of stack elements, and in order to read the whole number we have to keep popping the stack until they're all read < 1763142753 293500 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ah ok < 1763142763 283315 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but, by the time the entire number has been read, all the elements that represented it have been popped from the stack and there's nowhere else to store it < 1763142773 113156 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :i assume this also applies to if we just have an integer counter? < 1763142776 576203 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so a push-down automaton can't read a really big number without forgetting its value, and that makes the next line impossible to print < 1763142786 499267 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :yes, 1-counter machines have the same problem < 1763142794 985936 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :2-counter machines don't, because as you read a number from one counter you can store it on the other counter < 1763142803 494462 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :wait they cant do a looping counter < 1763142807 970851 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :hmm < 1763142815 670237 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :a 1-counter machine can't, a 2-counter machine can < 1763142820 504211 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(but 2-counter machines are Turing-complete) < 1763142889 22005 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523: all of em? < 1763142898 921661 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :no, 2 counters are enough but you need other things too < 1763142925 637535 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but 2 counters is enough *storage* for Turing-completeness, so if it's Turing-incomplete it's because the program has trouble reading or writing them reliably, or insufficiently powerful control flow < 1763142946 890746 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523: ok < 1763142950 653328 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :makes sense < 1763142966 213173 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :(this makes me very sure that TLQ is TC) < 1763142993 629584 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :usually if a 2-counter language isn't Turing-complete it's because either a) it's been contrived to make it Turing-incomplete or b) the author forgot to add a way to make values read from the counter affect the control flow < 1763143012 668850 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :or c) there's no way to create an infinite loop, I guess < 1763143036 317093 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Mark Miller's perspective might be useful. He showed that if we safely *load* the code, and we enforce cap discipline throughout the VM, then there's no point of entry for attackers. In that sense, safe code loading is the only thing that has to be done right. But he argues that Java's parade of vulns is precisely from unsafe code loading! < 1763143052 380102 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :in http://www.madore.org/cgi-bin/comment.pl/showcomments?href=http%3a%2f%2fwww.madore.org%2f~david%2fweblog%2f2017-08.html%23d.2017-08-18.2460#comment-23792 I have a proof that the language (1) is equivalent to the language (1) with arrays, which seems funny because (1) apparently only has access to one stack, the call stack that holds local variables and return addresses, whereas (1) with arrays lets < 1763143058 385916 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :you random access arrays. of course the trick is that bignums of unbounded size are used and in the general case they will grow big, but the proof hides it nicely. < 1763143059 340988 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: I guess that makes sense < 1763143072 448887 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I might agree but I think that the phrase "safe code loading" is carrying a lot of weight there and needs to be precisely defined < 1763143102 30252 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Yeah. We gotta be careful not to follow Miller wholesale though, as he will pied-piper us onto blockchains and cryptocurrency and augmented-reality metaverses. < 1763143146 399502 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: holy f*ck < 1763143146 934742 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there's https://esolangs.org/wiki/Feed_the_Chaos which is a two-counter machine that might or might not be Turing-complete < 1763143161 961962 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :(the amount of times I typed *f is incredible) < 1763143202 618243 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I contrived that by making the control flow awkward enough that you're restricted in what you can do with values read from one counter < 1763143220 305182 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: http://www.erights.org/talks/thesis/markm-thesis.pdf Chapter 10, p93. Quoting p96, why Java is not object-cap: "The import mapping that [the user] provides cannot override some magic class names, and some of those system classes provide authority." > 1763143263 832380 PRIVMSG #esolangs :14[[07User:H33T3314]]4 10 02https://esolangs.org/w/index.php?diff=168165&oldid=166956 5* 03H33T33 5* (+12) 10 > 1763143287 981527 PRIVMSG #esolangs :14[[07User:H33T3314]]4 10 02https://esolangs.org/w/index.php?diff=168166&oldid=168165 5* 03H33T33 5* (-9) 10 < 1763143299 978334 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: my first thought there is "can you *make* Java an object-capability language by using a security manager to deny access to the loopholes?" < 1763143333 739612 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I simultaneously know more about Java security managers than anyone really should, whilst not enough to do anything particularly useful with them < 1763143360 635138 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: See Miller's language Joe-E, not really worth documenting IMO. When the dust settled there remained E. Crucially, prior to this, there was Tribble's language Joule which had done the same to Smalltalk, and that gave a hint of how to do it. < 1763143430 788704 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :There's a flavor of ML called Alice. Wyvern is arguably a taming of a sort of generic OO teaching language. Monte is explicitly a taming of Python concepts. We haven't really made any object-cap languages which didn't start as taming attempts. < 1763143499 728700 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I've been vaguely planning to write one (although it will be hard to find time to do so) < 1763143533 169010 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :actually there are significant effects on the language design, e.g. I want to keep the type system as simple as feasible to reduce the chance of soundness bugs in it < 1763143592 849079 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think you'd still need generics because every language needs those eventually, but am hoping to be able to keep it to a very simple version of them < 1763143774 810961 :tromp!~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1763143829 664592 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Oh, for sure. Last time I tried, I got Cammy, which doesn't have objects, Zaddy, which doesn't really have anything to encapsulate, and Vixen, which has the unappetizing task of taming Linux and will thus be Yet Another Taming. > 1763143921 619938 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=168167&oldid=168163 5* 03Yayimhere2(school) 5* (-1) 10/* Semantics */ < 1763144118 86117 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: I don't think I have it offhand, but somewhere in my Monte notes there is an enumeration of what *is* safe to provide to a code loader, assuming that the loading is a TC process. There can be a central dispatch object which reifies calls and sends; you can "call to call" by calling it. That's the object E in E, M in Monte, V in Vixen, etc. ASTs are legal too, so multi-stage programming is fine. E and Monte have safe quasiquotation. < 1763144169 172304 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :my mental model of safe code loading is "start with a sequence of bytes and then run some parser/verifier on it to make sure it's a valid binary for the language you're working in" < 1763144193 890504 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :another advantage of this model is that you can run it on trusted code, too, to ensure that it hasn't been miscompiled in a way that breaks cap-safety < 1763144207 683946 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Collections are safe but heavily restricted. Only immutable collections can be identical to each other. Maps must be insertion-ordered. Lots of determinism requirements. If you've ever suffered EVM or other blockchain programming, you'll have seen this before. No gas in E, but easy enough to see where it's added. < 1763144252 52228 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm increasingly coming to believe that determinism is a security property < 1763144289 957189 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Right. But in the presence of E-style auditors, which WLOG get access to an entire object's AST, usually the compiled binary has to include the AST too. For Monte, we just shrugged and accepted this because we want the code loader to audit and certify that each imported module is immutable, and that's not something that can be wholly in user code. < 1763144372 542461 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :one thing I really want to do is a memory-safe (and capability-safe) assembly language < 1763144381 761409 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that's basically just regular assembly language equipped with a correctness proof < 1763144388 542295 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so the hard part is writing the proof language < 1763144395 178973 :pool!~nathan@user/PoolloverNathan QUIT :Read error: Connection reset by peer < 1763144406 174904 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this is not a new idea but I think it's an unpopular idea < 1763144474 740456 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :That could have been overkill. WASM doesn't bother doing auditors; they insist that modules are immutable, and that's really all that they use it for. Monte does something a bit more ambitious; unlike in WASM, in Monte a server can safely load *arbitrary bytes* directly into memory and try to run it, and the loading process is automatically safe by construction. < 1763144519 685026 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The only other use of E-style auditing in Monte is transparency, so that users can write objects which invisibly decompose into their components. Very important for smart contracts but not essential for local programming. < 1763144524 638075 :pool!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan < 1763144783 997030 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :(Since somebody's going to ask: E is utterly paranoid about everything. By "load arbitrary bytes directly into memory" I mean what most folks would think of as a safe encapsulated bytestring. E assumes that having arbitrary bytes resident in memory could be a security issue; the security model defends against shellcode!) < 1763144799 103451 :Yayimhere!~Yayimhere@197.185.187.170 QUIT :Ping timeout: 250 seconds < 1763144913 967304 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: you're reminding me of the different methods of implementing object-capabilities in-memory at runtime (i.e. shadow capabilities versus tracing capabilities) < 1763144942 712745 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :with shadow capabilities you can't really write arbitrary bytes as the instructions to write new shadow bytes just don't exist, at best you can copy them < 1763144969 417821 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :with tracing capabiliites, you can write arbitrary bytes but what they mean is context-dependent and you can't put them into a context where they would represent a capability < 1763144989 111948 :Yayimhere!~Yayimhere@197.185.187.170 JOIN #esolangs * :[https://web.libera.chat] Yayimhere < 1763145061 467922 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sometimes I think of it as a Veil or maya. A Monte bytestring like b`this` can't *do* anything; its methods are all just plain old data. If we take something behind the Veil like m`fn { "this" }` then we can *do* something, but that quasiquotation happened before the program started running, with the authority to do pre-delegated. < 1763145126 673890 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Smalltalk tries to have it both ways with CompiledMethod. The issue is that decompiling an object is an authority! It really shouldn't be delegated to the safe scope where code is loaded. < 1763145168 907910 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :one of my beliefs is that most languages, even ones that aim for safety, have too much ambient authority / things you can do without capabilities < 1763145184 834299 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :In E and Monte, we forbade catching exceptions. I mean, syntactically one can do it, but actually *unsealing* and examining them is an unsafe cap. As a result, most code assumes that it's never erroring, since it can't recover from errors anyway. It's safe to create a delimited continuation and pass *that* into subroutines, though. < 1763145236 611559 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm, interesting – what was the reasoning behind banning that rather than trying to make it safe? (fwiw I've also had thoughts along those lines but want to see if yours are the same) < 1763145275 912356 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah! I don't have unveil() on Linux but I'm going to follow that sort of strategy for Vixen. The filesystem is behind the Veil, along with most binaries, and the only safe action is to pass messages by composing pre-delegated references in the local scope. < 1763145345 778711 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, making it safe is a big hassle because, in general, the catcher shouldn't have the authority to receive control flow that it didn't originally have. So when an exception is thrown, only the thrower really has the authority to catch it, but the no-stale-stack-frames rule means that the thrower is going to soon be reaped, so *nobody* ought to be allowed to catch it. < 1763145357 903976 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :And this is why we were sad to see both Go and Rust evolve the ability to catch panics. < 1763145399 317629 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so my opinion on this is a bit different – I think that throwing an exception should destroy everything the thrower has authority to write to < 1763145412 584886 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so from my point of view, it doesn't create stale stack frames < 1763145418 367469 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Delimited continuations work around this by allowing a subroutine to have precisely the delegated control flow that the caller was using. E requires continuations to expire after they're used once. We say that they're "single-shot" or "single-use" delimited continuations. For jargon we call them "ejectors". < 1763145453 723284 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :Hello, i have a little bit of a problem. I need an expression language that takes any bit string as input, however the output is always a 0 or 1. Each expression must also, however, be able to be of any length < 1763145501 769779 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, for sure. The entire stack frame gets torn down. If a caller uses an ejector, then usually they wanted to abort their control flow anyway. In Monte, IIRC the idiom is m`throw.eject(ej, reason)` and if ej is none then it throws with the global sealer so nobody can catch it. < 1763145530 173678 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: is that a response to me or??? < 1763145547 460816 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Yayimhere: you haven't stated hte problem yet, just the situation it occurred in < 1763145554 209574 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so we're waiting for the question < 1763145571 609837 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :my question is: is there any such language < 1763145581 592710 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Oh, I haven't mentioned Midori! A *lot* of this traces through Duffy et al. at Microsoft Research. They independently came to the same conclusion as E's team and their error model involves aborting stack frames too. Their path forward is in Fuchsia; you can follow the color names to see more of that. < 1763145588 600725 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Yayimhere: oh, I see < 1763145612 581178 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm not sure if there's any language designed specifically like that, but it would be easy to take an existing language that allowed any bit string of any length, then change the output format < 1763145634 173127 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523: I guess yea < 1763145643 599817 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: huh, so Midori and Fuschia both being names of colors isn't a coincidence? < 1763145657 8922 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :shortly any function F(x) must be either 1 or 0, but must also rely on x < 1763145708 252234 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Yeah, even the corporate teams have a bit of name fun. < 1763145770 864999 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: What do you mean by "each expression" and "any length"? Assuming you've chosen a finite alphabet, you can't have infinitely many programs represented by expressions of length 1. < 1763145834 256451 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: you just suddenly made me realise that I don't know of any esolangs with an infinite alphabet, other than those which allow arbitrary integers to be commands < 1763145863 924553 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Incident I guess? but it's debatable whether its alphabet is Incident tokens or bytes < 1763145920 796951 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: Ok so, what im saying is, for any bit string input N and expression of just the function M, then it must be either 1 or 0. But then for an expression of just MX then X must be the one that returns a single bit, and M must(be allowed to) return more < 1763145960 853150 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523: maybe this is "plugging" but I recently created a language that maybe kinda technically has an infinite alphabet? maybe? < 1763145983 614989 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :sometimes alphabets are hard to define < 1763145989 518526 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :yea < 1763145992 60440 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :because for mine < 1763146002 817998 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :you could use any symbol out of an infinite alphabet < 1763146003 425831 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I used to think that the syntax was the least important part of programming, but then I came across codegolf sites that do interesting things with it < 1763146005 327531 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :BUT < 1763146022 248524 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :only a finite number will be used < 1763146024 386687 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the hundreds-of-languages polyglot actually cared about all those BF derivatives that just change the commands < 1763146062 338443 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and some of them were very different from others to fit into the polyglot, mostly based on how commonly their commands appeared in other languages' source code < 1763146087 892980 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: The reason for that assumption is to try to figure out how much you are *not* asking for expressions representing (N → 2) → 2, the type of functions from bitstrings to booleans. A *lot* has been said about this type and types like it, but I'd like to avoid confusing you or linking you to unreadable maths. < 1763146154 697682 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: i do not really understand that sentence < 1763146158 600409 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :mostly < 1763146165 987427 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :which assumption is being mentioned < 1763146183 293889 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Automorphisms of syntax are trivial: you can have any of them. Automorphisms of semantics are trivial: there aren't any. I admit a lifelong difficulty in recognizing this distinction. < 1763146226 802815 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Well, I'm trying to figure out whether you're working with a finite alphabet or infinite alphabet. Like ais523 says, an infinite alphabet might as well be the natural numbers N, and a finite alphabet might as well be the Booleans 2. < 1763146243 969204 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: which category are you doing the morphisms in? < 1763146246 208303 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: finite < 1763146284 625718 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Like, yes, there have been so many such languages! But the *interpretation* of them is what matters, and computability theory's entire point is that there are limitations on how we interpret bitstrings. < 1763146354 816860 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Syntax gets the category of sets; it's just about labels for stuff and algebraic trees of stuff. Semantics gets, well, the category of semantics for whatever programming system we're talking about. And physics generally doesn't commute its operators, so the semantics of a physical machine won't commute either. (I think we talked about Galois-Yanofsky theory before?) < 1763146383 1099 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: ah so this is specific to *denotational* semantics < 1763146407 398079 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but that's not the only, or even most common, way to do a semantics > 1763146526 713909 PRIVMSG #esolangs :14[[07Place14]]4 10 02https://esolangs.org/w/index.php?diff=168168&oldid=167474 5* 03Hammy 5* (+34) 10 < 1763146553 729967 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah, it's not a great slogan once we start implementing languages relative to other languages. Yayimhere, ais523 refers to operational semantics, which are often what we want to see when you're *implementing* a language. This is why we think it'd be great for you to continue learning Python and *implement* your languages; you will get an intuition for what the machine can do and how to do it. < 1763146571 729906 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: ok < 1763146590 125526 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I'm actually not totally sure that there are no sorts of semantics other than operational and denotational < 1763146595 219149 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :(my biggest issue in implementation is like, syntax work, on finding each command) < 1763146598 738757 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although I haven't seen any others used < 1763146649 352729 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: But if you give me a rewrite system, or anything that I can put a refinement system or Hoare system onto, then I can give you a *native type theory*, which is the category of all possible denotational semantics; it's the category of functors from syntax to that rewrite system. In this sense, most languages admit a category, and it can be given nice dependent types that line up with language-specific behaviors. < 1763146703 512730 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Such a category is automatically a Grothendieck topos, so it's a place where people can do general maths. This could help explain why so many programmers develop a language-specific way of thinking that repeatedly fails to generalize (the so-called "expert beginner" phenomenon) < 1763146715 127241 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :trying to remove nontrivial equivalences is basically the point of denotational semantics, and that's most interesting when it's constructive > 1763146732 826351 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Uff20xd 5* 10New user account < 1763146867 921405 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :I know there were some issues with my language, but uh, I came up with a way to do it < 1763146965 549340 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :language/question < 1763147049 326735 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: TBH I think operational semantics just kick the can. It can be useful to do that, say in electrical engineering, but it's just precomposition with the denotational semantics of something else. < 1763147054 18801 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: in my PhD I worked quite a lot with game semantics, which is basically a denotational semantics constructed as follows: you imagine the program and its free variables (and environment, modeled as a free variable) as though they were Smalltalkish objects, and produce an execution trace which is a list of all the messages sent to and from the program, then the semantics of a program is the set of all possible execution traces that it could have < 1763147084 760616 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and that got me thinking that, in effect, a denotational semantics category is just a way of describing what your program's environment and free variables are < 1763147150 493159 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah. And it doesn't have to have a monad underneath, although that turns out to be convenient because computation is monadic (and interaction is comonadic) in general. > 1763147159 56745 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=168169&oldid=167999 5* 03Uff20xd 5* (+158) 10 < 1763147171 900046 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, there usually is some extra structure in practice, but I don't think that's inherently required < 1763147202 609259 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :FWIW we call the possible nondeterministic responses to a fixed input message the *spectrum of an actor*, or at least that's the name I used when arguing against Carl Hewitt's crankery. Hewitt argued that a counter actor that starts from 0 and repeatedly increments itself is super-Turing; I argue that it merely has the natural numbers as its spectrum. < 1763147220 998794 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :you could just come up with a completely arbitrary set of execution traces and it would describe a program in some language (although you might have to add causality restrictions to make it computable) > 1763147255 795393 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=168170&oldid=168169 5* 03Uff20xd 5* (+29) 10 < 1763147296 842292 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :maybe not even that, if you have a sufficiently reliable environment < 1763147329 527513 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :like, the program might not have to be uncomputable if it has a requirement to be run in an environment that ensures it'll always continue giving input that the program can handle < 1763147338 90204 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: What did you come up with? < 1763147340 148898 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and not stop early on an impossible trace < 1763147353 429382 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :"the set of all possible execution traces" => that's so broad it allows not only nondeterminism but also semantics that can time travel < 1763147367 557378 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ok, that might not be a real distinction < 1763147377 963473 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :general nondeterminism basically implies time travel anyway < 1763147380 593220 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: simply, an expression can only either keep the length of the input, or shorten it, until it is one bit < 1763147386 462131 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :*loops until one bit < 1763147387 770374 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: that's why I mentioned causality restrictions < 1763147397 872733 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :which *technically* isnt what I wanted but it works fine it my case < 1763147426 161324 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :yeah < 1763147470 577524 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :b_jonas: Lucky 10000, perhaps: There's a fairly popular state monad for Haskell that implements time travel; state can legally travel backwards from the POV of the monad's order of operations. < 1763147483 894666 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But that might be a POV issue rather than actual time travel. < 1763147489 385636 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: I love time travel < 1763147571 377352 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: I think it can be beautiful in stories. You might enjoy the movie "Primer"; it's easily my favorite. There's a book on my shelf, "The Bone Clocks", that might be available in your language of choice and I think you could handle at your age. < 1763147596 148061 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :korvo: in fact. Ill look into both of them < 1763147606 27637 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I tend not to like time travel stories because they don't normally play into the nature of time travel consistently < 1763147633 767927 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :like, the stories are written as though they happen in order in time, things later in the story are caused by things earlier in the story and people have memories that extend backwards through the story's pages > 1763147655 75091 PRIVMSG #esolangs :14[[07User:Uff20xd14]]4 N10 02https://esolangs.org/w/index.php?oldid=168171 5* 03Uff20xd 5* (+158) 10created the page > 1763147678 759110 PRIVMSG #esolangs :14[[07User:Uff20xd14]]4 10 02https://esolangs.org/w/index.php?diff=168172&oldid=168171 5* 03Uff20xd 5* (+4) 10 < 1763147720 815572 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :In computing, we generally think it's impossible due to physics. If it *were* possible then we could do a lot of cheating. For example, suppose we want to know the answer to a hard problem, and we can cycle through the possible answers with a simple counter that resets when it overflows. Then we can solve an NP-hard problem by putting the cycle machine into a time loop (a CTC or "closed timelike curve") and reading the counter afterward. < 1763147824 162203 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: I also appreciate when the work clarifies the nature of time travel somehow. "Primer" comes with a temporal model. "Hitchhiker's Guide to the Galaxy", which our younger guests might not recognize at first, contributed a little bit with verbs and thought experiments although the physics was bunk. < 1763147870 765369 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ACTION willen haven been eating breakfast < 1763147885 728187 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: HHGTTG didn't actually define those verbs though < 1763147886 923568 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :what? younger guests don't recognize HHGG? < 1763147888 920250 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it just came up with a few as a joke < 1763147903 799922 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :without enough context to understand what they meant or use them in other situations < 1763147960 40795 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :oh yea, ais523, to give the language I created with "infinite alphabet" see Apraxia on the esolangs wiki < 1763148001 958581 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Yayimhere: ah, I looked at that already, it's more like an "undefined alphabet" language in that it works equally well in any language (but having more letters lets you write more complicated programs) < 1763148004 25882 :pool!~nathan@user/PoolloverNathan QUIT :Read error: Connection reset by peer < 1763148028 698257 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523: oh, wow. But yea true, the alphabet is defined as the program executes < 1763148036 237955 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :which I guess is the same as incident to some extenet < 1763148045 472285 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :extenet < 1763148048 48028 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :esolang name < 1763148051 974451 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :well, both Apraxia and Incident can do their parsing in advance < 1763148077 208949 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :anyways, I have to leave now, bye, it was nice talking!!! < 1763148079 136796 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this is true of most languages, except for some languages with a string eval and some self-modifying langauges < 1763148080 23744 :Yayimhere!~Yayimhere@197.185.187.170 PRIVMSG #esolangs :ais523: yea < 1763148080 732529 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :bye < 1763148082 855389 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Couldn't find breakfast. Got some string cheese. < 1763148086 151616 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: That's fair. < 1763148127 685164 :pool!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan < 1763148157 474024 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :korvo: as in, most languages cheese the alphabet thing by allowing multi-character identifiers of arbitrary length and then only care about the tokens, not the original alphabet of characters, thus cheesing the restriction of finite alphabets by using strings? > 1763148160 525563 PRIVMSG #esolangs :14[[07User:Uff20xd14]]4 10 02https://esolangs.org/w/index.php?diff=168173&oldid=168172 5* 03Uff20xd 5* (+21) 10 > 1763148169 413557 PRIVMSG #esolangs :14[[07User:Uff20xd14]]4 10 02https://esolangs.org/w/index.php?diff=168174&oldid=168173 5* 03Uff20xd 5* (+1) 10 < 1763148174 799655 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But yeah, time travel bugs me because it leads to people talking about tachyons and other ridiculous ideas. Folks get lost first in the math, then in the literary memes, and then in the emotional anguish of not being able to properly regret and find closure in the immutable past. < 1763148198 616462 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and most of the time it's easier to choose spellings for the tokens than in Incident < 1763148228 447179 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: isn't that one of the two hard problems of computer science? < 1763148255 695023 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :b_jonas: Oh wow, that's amazing. What a thought. No, in the USA we have little prism-shaped blocks or "strings" of low-moisture mozzarella "cheese". I'm told that the mere existence of low-moisture mozzarella is a horrifying concept in Europe, but over here we often batter and deep-fry them to make "mozzarella sticks". < 1763148255 723642 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :if you want the code to be readable then yes < 1763148282 595283 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: it depends a lot on country, you will horrify the Italians more than the Brits < 1763148286 474382 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :korvo: yeah, I know that's the other meaning, and Europe has cheese strings too < 1763148310 351656 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :or at least string-shaped cheese < 1763148317 732178 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :from my point of view it seems highly nutritionally unbalanced and I'm not sure why people would want to eat it, but I don't recoil from it in horror the way some people would < 1763148381 356447 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Ah, okay. No worries; I'm not judging where anybody's from, I just know that the USA's attitude toward cheese is not shared by the rest of the lactose-tolerant world. I've seen the memes. I live with somebody who eats shredded cheese out of the bag at 2 in the morning. < 1763148416 813242 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :"highly nutritionally unbalanced" is great litote for what we eat over here. < 1763148439 103809 :Yayimhere!~Yayimhere@197.185.187.170 QUIT :Ping timeout: 250 seconds < 1763148474 259356 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm intolerant to cheese so I don't have personal experience of this sort of thing (when I was very young, before it was discovered that I couldn't safely eat it, I did enjoy cheese though) < 1763148613 548447 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :ACTION is glad that lactase enzyme supplements exist. I survive partly on pizza and am lactose intolerant < 1763148647 948770 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :for me it isn't lactose, it's probably one of the other chemicals in milk but we're not sure which one < 1763148675 728817 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :korbo: as in https://www.smbc-comics.com/comic/bomb < 1763148823 240253 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :b_jonas: Ooh, yeah. Canadians are even more extreme; poutine is real and delicious. < 1763148965 157054 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :We also love imitating other cheeses. At a local burger place, I can get pepperjack, cheddar, chevre, or swiss. Lowercase on all of those, of course; we're not importing them but making them here in Oregon. < 1763149025 188225 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Curses. I had an apple but I'm still hungry. Now I want a cheeseburger. < 1763149183 404272 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, now I remember where I'd seen Yay's type before. https://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/ < 1763149235 331357 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Imperative version, using ejectors, with comments: https://github.com/monte-language/typhon/blob/master/mast/fun/cantor.mt < 1763149280 841236 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: oh, I remember that one too! (the Escardo post) < 1763149306 352962 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah. And then he came back a few years later with this one: https://math.andrej.com/2014/05/08/seemingly-impossible-proofs/ < 1763149723 263565 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Escardo and I were actually working in the same department at the same time (but I don't think it overlapped with when he was doing this work) < 1763149823 326716 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but I don't really understand topology to a CS-research level < 1763149850 110413 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(the category theory was hard enough) < 1763150428 871636 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Research-level constructive maths is really tough because, quoting Bauer IIRC?, "it requires us to unlearn all of our intuitions." It's not really as intuitive as the word "intuitionistic" would lead one to believe. < 1763150512 408587 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Escardó had an old post, a tweet maybe, where they asked folks about trichotomy on the real numbers; constructively, given that either x = 0, x < 0, or x > 0, is x a real? The answer is "yes" in typical constructive foundations and it made me realize how much I lean on pattern-matching and bogus assumptions. < 1763150585 757511 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :...Wait, that's a bizarre way to phrase trichotomy. I don't know why, but I don't like what I just wrote. It's probably wrong somehow. < 1763150665 377984 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :well, x=0 is obviously a real, the rest of the question depends on how you define < and > I think < 1763150698 740919 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :an esolang I'm working on has three data types (dynamically typed): complex rationals, lists, and null < 1763150750 369598 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and in that esolang, it is the case that a value x is a real number if and only if one of x = 0, x < 0, and x > 0 is scalar true < 1763150799 865248 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(calculating [1, 2] > 0 gives you a list of two truthy elements, which is truthy itself, but [1, 2] isn't a real number, so a "scalar true" requirement is needed not just "true") > 1763151992 860498 PRIVMSG #esolangs :14[[07Iterate/Math14]]4 10 02https://esolangs.org/w/index.php?diff=168175&oldid=165589 5* 03Aadenboy 5* (+1413) 10friendlier labels < 1763154013 871213 :zzo38!~zzo38@host-24-207-46-238.public.eastlink.ca PRIVMSG #esolangs :I would think that x>0 can be if x is infinite < 1763154128 347696 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :my esolang doesn't have an infinity, 1/0 is null < 1763154139 554043 :zzo38!~zzo38@host-24-207-46-238.public.eastlink.ca PRIVMSG #esolangs :OK < 1763154949 255693 :zzo38!~zzo38@host-24-207-46-238.public.eastlink.ca PRIVMSG #esolangs :Another alternative of JSON-based syntax would be ASN.1-based syntax; ASN.1X is a superset of the data model of JSON (standard ASN.1 isn't because it lacks a key/value list type). < 1763157419 192260 :zzo38!~zzo38@host-24-207-46-238.public.eastlink.ca PRIVMSG #esolangs :(Also, I think the JSON syntax described for Delta Relay is actually "concatenated JSON" format, from what I can understand of it. NDJSON is a subset of concatenated JSON, and I wrote a program in uxn to convert stanard JSON to concatenated JSON with line breaks in between.) < 1763157450 552137 :zzo38!~zzo38@host-24-207-46-238.public.eastlink.ca PRIVMSG #esolangs :(Also, concatenated JSON does not work if any of the top-level values are numbers.) > 1763158682 98095 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=168176&oldid=168120 5* 03Buckets 5* (+8) 10/* 2024 */ > 1763158690 605994 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=168177&oldid=168176 5* 03Buckets 5* (+0) 10/* Total of Esolangs */ > 1763158726 991954 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=168178&oldid=168116 5* 03Buckets 5* (+9) 10 > 1763158744 702098 PRIVMSG #esolangs :14[[07O&14]]4 N10 02https://esolangs.org/w/index.php?oldid=168179 5* 03Buckets 5* (+2944) 10Created page with "{{lowercase}} o& is an Esoteric Programming Language created By [[User:Buckets]] in 2024. {| class="wikitable" |- ! Commands !! Instructions |- | / || Pushes the value of The previous Cell Value, then It Increments It by one. |- | * || Swap the Current tape Cell with The top < 1763159150 335988 :tromp!~textual@2001:1c00:3487:1b00:c091:8d2b:d263:84cc JOIN #esolangs * :Textual User < 1763159206 698825 :APic!apic@apic.name PRIVMSG #esolangs :Good Night < 1763159362 936646 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :hmmm... i wrote an infinite counter bf program: < 1763159380 778354 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :++++++++++[>>>>>----------<[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>[[-]<<[-]+>>>>-- < 1763159380 872827 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :--------<[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>]<<[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>[ < 1763159380 872871 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :[-]<<+>>]<<+[>>>]<<<[<++++++++[>++++++<-]>-.<++++++++[>------<-]>+<<<]<.] < 1763159416 945734 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(prints decimal numbers, starting at 1, each followed by newline) < 1763159464 889952 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(that's actually my 1st bf program, other than "cat". wasted way too long on it, but it was interesting) < 1763159508 576975 :Sgeo_!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1763159512 389397 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :maybe s/wasted/spent/ :) < 1763159753 409084 :tromp!~textual@2001:1c00:3487:1b00:c091:8d2b:d263:84cc QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1763159762 559589 :Bowserinator!Bowserinat@hellomouse/dev/bowserinator JOIN #esolangs Bowserinator :No VPS :( < 1763159763 974375 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :_way_ too many instructions on "if (cell is 0) {set cell to 1}" < 1763159807 711762 :pool4!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan < 1763159818 967275 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(without destructing cell if it's not 0) < 1763159886 69883 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1763159922 471786 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :that's my current code for that, which uses 2 tmp cells right after cell itself. if anyone has a better idea for that, i won't mind hearing: < 1763159923 907194 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>[[-]<< < 1763159923 935019 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs : + < 1763159923 935072 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :>>]<< < 1763160021 570249 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(it's an application of my generic "if (cell == N) BODY" where N is 0 and BODY is "+") < 1763160037 947203 :lambdabot!~lambdabot@haskell/bot/lambdabot QUIT :Ping timeout: 256 seconds < 1763160038 128745 :pool!~nathan@user/PoolloverNathan QUIT :Ping timeout: 256 seconds < 1763160038 166039 :amby!~ambylastn@host-81-178-154-63.as13285.net QUIT :Ping timeout: 256 seconds < 1763160038 224375 :simcop2387!~simcop238@perlbot/patrician/simcop2387 QUIT :Ping timeout: 256 seconds < 1763160038 405737 :perlbot!~perlbot@perlbot/bot/simcop2387/perlbot QUIT :Read error: Connection reset by peer < 1763160039 121088 :pool4!~nathan@user/PoolloverNathan NICK :pool < 1763160063 263438 :perlbot!~perlbot@perlbot/bot/simcop2387/perlbot JOIN #esolangs perlbot :ZNC - https://znc.in < 1763160071 931238 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :*.net *.split < 1763160071 958668 :Sgeo!~Sgeo@user/sgeo QUIT :*.net *.split < 1763160072 65694 :Bowserinator_!Bowserinat@hellomouse/dev/bowserinator QUIT :*.net *.split < 1763160072 225787 :iovoid!iovoid@hellomouse/dev/iovoid QUIT :*.net *.split < 1763160081 32566 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1763160095 488482 :simcop2387!~simcop238@perlbot/patrician/simcop2387 JOIN #esolangs simcop2387 :ZNC - https://znc.in < 1763160143 947486 :lambdabot!~lambdabot@haskell/bot/lambdabot JOIN #esolangs lambdabot :Lambda_Robots:_100%_Loyal < 1763160187 512532 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :s/cell/cell-value/ < 1763160255 202448 :ajal!~ambylastn@host-81-178-154-63.as13285.net JOIN #esolangs * :realname < 1763160255 202749 :iovoid!iovoid@hellomouse/dev/iovoid JOIN #esolangs iovoid :MPCitH is when you read a book < 1763160286 458107 :tromp!~textual@2001:1c00:3487:1b00:c091:8d2b:d263:84cc JOIN #esolangs * :Textual User < 1763160342 168908 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(the tmp cells are assumed 0 initially, and are already back with value 0 at BODY) < 1763160406 876776 :int-e!~noone@int-e.eu PRIVMSG #esolangs :There's stuff like >+<[>->]>[>>]<< which needs 3 temp cells, all initially 0, and sets the first of them to 1 if the cell is zero < 1763160490 896218 :int-e!~noone@int-e.eu PRIVMSG #esolangs :err, one more < to move back to the original cell < 1763160500 346606 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :i don't mind 3 tmps, and i do the same with one of the temps, but "if (val == N) BODY" is more than just setting a tmp cell to 1 if the condition is true. it includes also cleanups < 1763160547 805768 :int-e!~noone@int-e.eu PRIVMSG #esolangs :the other two temps aren't modified, they're just used as landing pads for the loops < 1763160549 785482 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :but thanks, let me check what it does. maybe i'll get ideas < 1763160581 435965 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :gotcha. so only 1 tmp? and cell itself is not destructed in the process? < 1763160592 224406 :int-e!~noone@int-e.eu PRIVMSG #esolangs :right < 1763160609 812739 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :cool. let me figure out that code. thanks. < 1763160656 513897 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(i can't really read bf in my head yet...) < 1763160667 571520 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :what about [->[-]->+<<]>+ < 1763160669 887338 :int-e!~noone@int-e.eu PRIVMSG #esolangs :they are "temporary" in the sense that they need to be 0, so you can't store useful data there < 1763160685 616984 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :int-e: yeah, got that. < 1763160695 627629 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(preserves the value but moves it to a different cell, you can move it back afterwards) < 1763160701 844884 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :they need to be there as 0 at the time of this code. < 1763160759 819963 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :written like that it needs a wrapping implementation but a non-wrapping version is easy too < 1763160819 594146 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh, even better, set the target cell to 1, then [->[-]>+<<] < 1763160846 547350 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so >+<[->[-]>+<<] < 1763160857 194117 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :ais523: that's basically what my code does, including the moving back. but i need to look more carefully at these codes. i don't read it "natively"... < 1763160876 233922 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm basically just translating from counter machines < 1763160888 274337 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that isn't the only way to program in BF but it's usually one of the simplest < 1763160914 178714 :int-e!~noone@int-e.eu PRIVMSG #esolangs :ais523: I'm advocating unbalanced loops :P < 1763160917 529266 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :not familiar with counter machines or the paradigm of such translation < 1763160952 198501 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :you can think of counter machines as being BF except all the loops are balanced < 1763160960 254759 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :unbalanced loops are fine. i use them too. the right tool for the job is what matters < 1763160986 117336 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :they are normally easier to implement than BF itself is, so I frequently use them as a basis for programming in other non-BF esolangs < 1763160992 812118 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so I'm pretty used to them and how they work < 1763161002 221326 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :ais523: off the top of my head, that hardly makes my life easier in programming for THAT and then translating to bf ;) < 1763161017 389250 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :fair enough < 1763161052 756460 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :but i will look at these codes. i can read bf, just not in a glance < 1763161104 577419 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :after staring at enough BF, things like [->+>+<<] sort-of become single words that you can recognise immediately < 1763161139 874448 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :int-e: ais523: so with your suggestions, how would it look to "if (value == N) BODY" ? < 1763161157 961083 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(without destructing value) < 1763161162 746681 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :subtract N from the value, do an "if value == 0 BODY", add N to the value again < 1763161189 665864 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :i mean in code. < 1763161214 162433 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(the thing I find hardest when switching between Rust and C is remembering that C wants parentheses around an if condition and Rust doesn't" < 1763161217 786767 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :err, s/"/)/ < 1763161218 598755 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :because it _sounds_ like what my code does. but these subs and copies do end up with additional instructions. < 1763161271 913504 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :i don't mind if you write c without parenthesis at the condition :) < 1763161273 154025 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :well if N is small the subtraction and addition are just strings like --- and +++ < 1763161281 406867 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :avih: yes but the C compiler does < 1763161288 579903 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :i''m not one... > 1763161294 232849 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Nomnomnom 5* 10New user account < 1763161332 130263 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :ais523: yes, and in the case of 0 it's even no-op, but again, it does add up at the final piece of code > 1763161430 563699 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 M10 02https://esolangs.org/w/index.php?diff=168180&oldid=168170 5* 03Nomnomnom 5* (+25) 10 < 1763161434 809953 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :that's my generic "if (==N) BODY", where (MINUS N) is empty in the case of 0: < 1763161436 5708 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :>(MINUS N)<[>+>+<<-]>>[-<<+>>]+<[>-<[-]]>[[-]<< < 1763161436 33642 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs : BODY < 1763161436 33697 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :>>]<< > 1763161483 120267 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168181&oldid=168007 5* 03NTMDev 5* (+824) 10/* Conditionals / If Statements */ < 1763161735 689465 :pool0!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan < 1763161759 489431 :pool!~nathan@user/PoolloverNathan QUIT :Ping timeout: 264 seconds < 1763161759 634145 :pool0!~nathan@user/PoolloverNathan NICK :pool < 1763162081 386321 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :ais523: your code starts with N 0 0 and ends up in 0 !(is N) N yes? < 1763162092 284403 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :avih: yes > 1763162223 628753 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168182&oldid=168181 5* 03NTMDev 5* (+698) 10 < 1763162247 374132 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :thx. let me try to use that for my use cases. in this case BODY is simply +, but elsewhere i need the tmp cells back at 0 when BODY is executed, because BODY moves to the next digit, and it needs the tmps cleaned up when it happens > 1763162307 862841 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168183&oldid=168182 5* 03NTMDev 5* (+25) 10/* Conditionals (If Statements and more) */ < 1763162329 635961 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(and N is not 0 currently at elsewhere) < 1763162380 13555 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(i feel like a child learning the basics of programming... weird...) > 1763162395 630161 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168184&oldid=168183 5* 03NTMDev 5* (+171) 10/* LogicalOperation */ > 1763162412 930646 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168185&oldid=168184 5* 03NTMDev 5* (+6) 10/* LogicalOperation */ > 1763162429 764633 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168186&oldid=168185 5* 03NTMDev 5* (+10) 10/* If Statement Structure */ > 1763162442 264111 PRIVMSG #esolangs :14[[07Bitty14]]4 N10 02https://esolangs.org/w/index.php?oldid=168187 5* 03Nomnomnom 5* (+109) 10Created page with "==Overview== bitty has 5 instructions ''!'', ''/'', ''\'', ''>'', and ''<''. the list below shows there uses." < 1763163234 799524 :tromp!~textual@2001:1c00:3487:1b00:c091:8d2b:d263:84cc QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1763163240 146274 PRIVMSG #esolangs :14[[07Bitty14]]4 10 02https://esolangs.org/w/index.php?diff=168188&oldid=168187 5* 03Nomnomnom 5* (+164) 10 > 1763163671 217155 PRIVMSG #esolangs :14[[07Bitty14]]4 10 02https://esolangs.org/w/index.php?diff=168189&oldid=168188 5* 03Nomnomnom 5* (+155) 10/* Overview */ > 1763163692 71220 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168190&oldid=168186 5* 03NTMDev 5* (+935) 10/* LogicalOperation */ > 1763163778 103994 PRIVMSG #esolangs :14[[07User:Nomnomnom14]]4 N10 02https://esolangs.org/w/index.php?oldid=168191 5* 03Nomnomnom 5* (+103) 10Created page with "==About== i am just a user that likes esolangs, so i decided to join. ==Languages== * Bitty: [[Bitty]]" > 1763163876 394301 PRIVMSG #esolangs :14[[07Bitty14]]4 10 02https://esolangs.org/w/index.php?diff=168192&oldid=168189 5* 03Nomnomnom 5* (+70) 10/* Bitty */ > 1763163929 258146 PRIVMSG #esolangs :14[[07User:Nomnomnom14]]4 10 02https://esolangs.org/w/index.php?diff=168193&oldid=168191 5* 03Nomnomnom 5* (+5) 10/* Languages */ > 1763164037 723235 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168194&oldid=168190 5* 03NTMDev 5* (+285) 10 > 1763164357 711468 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168195&oldid=168194 5* 03NTMDev 5* (+672) 10/* Switch / Match */ < 1763164369 197226 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :int-e: i tried to follow your code, but i'm not sure it works. 1st, your corrected code is >+<[>->]>[>>]<<< yes? if yes, then if the initial val is not 0, i think it ends up two cells left to the original cell < 1763164401 428327 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :(and if it's 0 then it does end up at the original cell) < 1763164452 557723 :int-e!~noone@int-e.eu PRIVMSG #esolangs :if the initial value is not 0, the first loop is executed, once. < 1763164461 74482 :int-e!~noone@int-e.eu PRIVMSG #esolangs :otherwise, the second loop is executed once < 1763164494 484794 :int-e!~noone@int-e.eu PRIVMSG #esolangs :and both of these move the pointer two places to the right < 1763164515 896149 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :let me look at it again. thanks. > 1763164673 44617 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168196&oldid=168195 5* 03NTMDev 5* (+162) 10/* Switch / Match */ > 1763164702 9608 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=168197&oldid=168196 5* 03NTMDev 5* (+28) 10/* Conditionals (If Statements and more) */