< 1763945072 241915 :pool!~nathan@user/PoolloverNathan QUIT :Read error: Connection reset by peer < 1763945201 965307 :pool!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan < 1763948684 527314 :pool!~nathan@user/PoolloverNathan QUIT :Read error: Connection reset by peer < 1763948809 11298 :pool!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan > 1763950604 809970 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=169139&oldid=168913 5* 03NTMDev 5* (+516) 10/* HasKey */ > 1763950612 423106 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=169140&oldid=169139 5* 03NTMDev 5* (-1) 10/* Add or Remove Pair = */ > 1763950690 137316 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=169141&oldid=169140 5* 03NTMDev 5* (+33) 10/* Bugs */ > 1763950997 821726 PRIVMSG #esolangs :14[[07ASTLang14]]4 10 02https://esolangs.org/w/index.php?diff=169142&oldid=169141 5* 03NTMDev 5* (+761) 10/* How to Troubleshoot Bug */ < 1763951558 244670 :amby!~ambylastn@host-81-178-154-63.as13285.net QUIT :Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement < 1763952576 268642 :svm!~msv@user/msv JOIN #esolangs msv :msv < 1763952703 856795 :msv!~msv@user/msv QUIT :Read error: Connection reset by peer < 1763953026 878307 :ski!~ski@remote11.chalmers.se QUIT :Remote host closed the connection > 1763953500 878350 PRIVMSG #esolangs :14[[072 Bits, 1 Byte but 01 and 10 are swapped14]]4 10 02https://esolangs.org/w/index.php?diff=169143&oldid=160657 5* 03Tommyaweosme 5* (+0) 10/* Quine */ fixed weird phrasing > 1763955583 232427 PRIVMSG #esolangs :14[[07User:FluixMakesEsolangs14]]4 M10 02https://esolangs.org/w/index.php?diff=169144&oldid=168018 5* 03FluixMakesEsolangs 5* (+33) 10 < 1763959045 53085 :yc[m]!~yc@user/youngchief QUIT :Remote host closed the connection < 1763959753 919290 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1763964514 730263 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :https://www.wolframalpha.com/input?i=infinity*e%5E%28i*pi%2F2%29+%2B+infinity+%2B+infinity*e%5E%28i*pi%29 < 1763966430 690993 :chomwitt!~alex@2a02:85f:9a5f:900:42b0:76ff:fe46:a5fd JOIN #esolangs chomwitt :realname < 1763968599 883770 :Sgeo!~Sgeo@user/sgeo QUIT :Quit: Leaving < 1763973613 830240 :yc!~yc@user/youngchief QUIT :Remote host closed the connection < 1763974043 425451 :yc!~yc@user/youngchief JOIN #esolangs youngchief :yc (she) [yc.hn] < 1763975386 549949 :tromp!~textual@89-99-43-152.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1763975411 36941 :tromp!~textual@89-99-43-152.cable.dynamic.v4.ziggo.nl QUIT :Read error: Connection reset by peer > 1763976820 131431 PRIVMSG #esolangs :14[[07File talk:Dango Language Logo.png14]]4 10 02https://esolangs.org/w/index.php?diff=169145&oldid=169113 5* 03RaiseAfloppaFan3925 5* (+844) 10My explanation, sorry if this caused some confusion > 1763976996 976522 PRIVMSG #esolangs :14[[07File talk:Dango Language Logo.png14]]4 10 02https://esolangs.org/w/index.php?diff=169146&oldid=169145 5* 03RaiseAfloppaFan3925 5* (+383) 10Just realized Apache-2.0 applies to non-code > 1763978649 905700 PRIVMSG #esolangs :14[[07User:RaiseAfloppaFan392514]]4 10 02https://esolangs.org/w/index.php?diff=169147&oldid=169080 5* 03RaiseAfloppaFan3925 5* (+1839) 10idk got bored > 1763980081 594826 PRIVMSG #esolangs :14[[07User:RaiseAfloppaFan392514]]4 M10 02https://esolangs.org/w/index.php?diff=169148&oldid=169147 5* 03RaiseAfloppaFan3925 5* (-14) 10correct translation error, liking something is probably "" (suki) not "" (kiniiru) I think idk > 1763980463 306398 PRIVMSG #esolangs :14[[07User talk:Ais52314]]4 10 02https://esolangs.org/w/index.php?diff=169149&oldid=169135 5* 03Yayimhere2(school) 5* (+326) 10/* Why do so many people delete lines from Introduce yourself? */ < 1763984735 53154 :pool!~nathan@user/PoolloverNathan QUIT :Read error: Connection reset by peer < 1763984846 386158 :pool!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan < 1763985141 333581 :perlbot!~perlbot@perlbot/bot/simcop2387/perlbot QUIT :Quit: ZNC 1.9.1+deb2+b3 - https://znc.in < 1763985141 361045 :simcop2387!~simcop238@perlbot/patrician/simcop2387 QUIT :Quit: ZNC 1.9.1+deb2+b3 - https://znc.in > 1763985486 33992 PRIVMSG #esolangs :14[[07Talk:No-code esolang14]]4 M10 02https://esolangs.org/w/index.php?diff=169150&oldid=169088 5* 03None1 5* (+284) 10 > 1763985493 652920 PRIVMSG #esolangs :14[[07Talk:Ascenic14]]4 10 02https://esolangs.org/w/index.php?diff=169151&oldid=169056 5* 03None1 5* (+287) 10 < 1763985567 271631 :pool!~nathan@user/PoolloverNathan QUIT :Ping timeout: 252 seconds > 1763985668 365382 PRIVMSG #esolangs :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=169152&oldid=169093 5* 03None1 5* (+357) 10/* Category:Golfing language should be moved to Category:Golfing languages */ It's difficult to move categories > 1763986142 952759 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Mutasimos 5* 10New user account > 1763986428 542494 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 M10 02https://esolangs.org/w/index.php?diff=169153&oldid=169128 5* 03Mutasimos 5* (+169) 10 < 1763986488 228132 :simcop2387!~simcop238@perlbot/patrician/simcop2387 JOIN #esolangs simcop2387 :ZNC - https://znc.in < 1763986607 307814 :perlbot!~perlbot@perlbot/bot/simcop2387/perlbot JOIN #esolangs perlbot :ZNC - https://znc.in < 1763986748 536871 :Everything!~Everythin@172-232-54-192.ip.linodeusercontent.com QUIT :Quit: leaving > 1763986939 380721 PRIVMSG #esolangs :14[[07List of ideas14]]4 M10 02https://esolangs.org/w/index.php?diff=169154&oldid=167494 5* 03Mutasimos 5* (+125) 10 < 1763987002 244503 :Everything!~Everythin@172-232-54-192.ip.linodeusercontent.com JOIN #esolangs Everything :Everything > 1763987205 920634 PRIVMSG #esolangs :14[[07List of ideas14]]4 10 02https://esolangs.org/w/index.php?diff=169155&oldid=169154 5* 03Mutasimos 5* (+0) 10 < 1763987826 570844 :amby!~ambylastn@host-81-178-154-63.as13285.net JOIN #esolangs * :realname < 1763988377 535338 :APic!apic@apic.name PRIVMSG #esolangs :Hi * > 1763988726 861016 PRIVMSG #esolangs :14[[07Tol14]]4 M10 02https://esolangs.org/w/index.php?diff=169156&oldid=132703 5* 03None1 5* (+30) 10 < 1763988752 657839 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1763989684 756219 PRIVMSG #esolangs :14[[07Talk:I/D machine Turing-completeness proof14]]4 10 02https://esolangs.org/w/index.php?diff=169157&oldid=167589 5* 03Yayimhere2(school) 5* (+372) 10 > 1763989857 684661 PRIVMSG #esolangs :14[[07OoOoOM14]]4 10 02https://esolangs.org/w/index.php?diff=169158&oldid=168052 5* 03Yayimhere2(school) 5* (+0) 10/* Commands */ the dot there may seem like a command, so I deleted it > 1763990514 153591 PRIVMSG #esolangs :14[[07Talk:Intermediate language14]]4 N10 02https://esolangs.org/w/index.php?oldid=169159 5* 03Yayimhere2(school) 5* (+200) 10Created page with "the fact that all but one of these esolangs are created by ais523, is kinda crazy --~~~~" > 1763990847 191517 PRIVMSG #esolangs :14[[07Talk:Intermediate language14]]4 10 02https://esolangs.org/w/index.php?diff=169160&oldid=169159 5* 03Ais523 5* (+713) 10an explanation > 1763991098 790715 PRIVMSG #esolangs :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=169161&oldid=169152 5* 03Ais523 5* (+600) 10/* Category:Golfing language should be moved to Category:Golfing languages */ this is technically difficult to do but might be worth it anyway > 1763991685 190608 PRIVMSG #esolangs :14[[07I/D machine Turing-completeness proof14]]4 M10 02https://esolangs.org/w/index.php?diff=169162&oldid=54394 5* 03Ais523 5* (+4) 10link [[bit bucket]] as this language is using it with its standard meaning > 1763992573 36380 PRIVMSG #esolangs :14[[07Talk:Intermediate language14]]4 10 02https://esolangs.org/w/index.php?diff=169163&oldid=169160 5* 03Yayimhere2(school) 5* (+172) 10 < 1763992590 776515 :chomwitt!~alex@2a02:85f:9a5f:900:42b0:76ff:fe46:a5fd QUIT :Remote host closed the connection > 1763992836 538180 PRIVMSG #esolangs :14[[07User talk:Unname479814]]4 10 02https://esolangs.org/w/index.php?diff=169164&oldid=166668 5* 03Yayimhere2(school) 5* (+194) 10/* What did I do to User:Yayimhere? */ > 1763993237 954507 PRIVMSG #esolangs :14[[07Talk:I/D machine Turing-completeness proof14]]4 10 02https://esolangs.org/w/index.php?diff=169165&oldid=169157 5* 03Ais523 5* (+4040) 10how ErrorBucket came about (a primer in how to write intermediate languages) > 1763993306 821725 PRIVMSG #esolangs :14[[07ErrorBucket14]]4 N10 02https://esolangs.org/w/index.php?oldid=169166 5* 03Yayimhere2(school) 5* (+51) 10redirect errorbucket to the I/D turing completeness proof, since its described there. > 1763993334 9778 PRIVMSG #esolangs :14[[07Errorbucket14]]4 N10 02https://esolangs.org/w/index.php?oldid=169167 5* 03Yayimhere2(school) 5* (+51) 10redirect the non cased version as well < 1763993362 105881 :Yayimhere!~Yayimhere@197.184.104.143 JOIN #esolangs * :[https://web.libera.chat] Yayimhere < 1763993366 260430 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :hello < 1763993375 650828 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :how are you all? > 1763993702 27185 PRIVMSG #esolangs :14[[07File talk:Dango Language Logo.png14]]4 10 02https://esolangs.org/w/index.php?diff=169168&oldid=169146 5* 03Ais523 5* (+837) 10can dual-license, it might be the best solution here < 1763993712 37388 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hi Yayimhere < 1763993724 681295 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :hi ais523 < 1763993728 411882 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I replied to your question on the I/D machine Turing-completeness talk page < 1763993734 321622 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :yea I saw < 1763993742 547029 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :youve very much encouraged me to try and do something with it < 1763993755 72880 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :im working on a variant that combines it with 7 < 1763993770 140635 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :as well as a few other commands < 1763993787 179077 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but yes, the reason the language is so weird is that it was just created by starting with a normal (esoteric) language and then adding changes to it to work around the I/D machine's limitaitons < 1763993807 25769 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :yea < 1763993819 200576 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :where does the name of the error element come from? < 1763993858 949038 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :well it doesn't work if you try to use it < 1763993870 325593 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :true < 1763993872 41198 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and "error" is a good way to describe that – it's not the only word you could use < 1763993880 360319 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :in fact < 1763993901 3786 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :I think I would have named it u < 1763993902 840730 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but it's the one I happened to pick, I don't think I had a reason to think about it too much < 1763993908 939935 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :unusable < 1763993919 659999 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :ais523: true < 1763993936 238114 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :having 'a', 'b' and 'd' commands in the language, that inspired me to call the others 'c', 'e' and 'f', even if that meant stretching a bit with names < 1763993958 228930 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :lol < 1763993967 205012 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :yea continue is quite < 1763993969 55903 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :...weird < 1763994041 388617 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oddly enough I also used "continue" for a similar operation in a different language: https://esolangs.org/wiki/BIX_Queue_Subset < 1763994058 808735 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :hm < 1763994060 405351 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :strange < 1763994069 440296 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :was it made before or after? < 1763994075 179444 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :after < 1763994079 498686 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but it's the opposite < 1763994093 200195 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :? < 1763994106 930818 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :so Errorbucket comes after BIX queue subset < 1763994113 604822 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :"continue" in ErrorBucket discards the start of the queue without reading it, "continue" in BIX Queue Subset activates without discarding any queue elements at all < 1763994120 834007 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :no, BIX Queue Subset was later < 1763994122 421741 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :ah < 1763994125 311671 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(I couldn't remember and had to look it up) < 1763994128 800184 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :yea that makes sense < 1763994148 541228 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :they're both "do part of the standard cyclic tag implementation without actually reading the queue" but it's a different pat < 1763994150 75205 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :*part < 1763994164 746654 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :yea < 1763994248 264954 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :also, have you realized the similarity between passiveness and activeness in 7, and activeness and inactiveness in ErrorBucket? < 1763994260 740479 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :cuz < 1763994271 384047 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I hadn't, because I created them for different reasons < 1763994278 224415 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :makes sense < 1763994285 701074 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :if I had a nickel for every time < 1763994292 919804 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :that joke is so dumb < 1763994336 216844 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there *is* a pattern I think, but I only noticed the pattern when trying to work out how Unlambda and Underload related to each other and didn't try applying it in other contexts < 1763994358 93107 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :oh < 1763994362 681515 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :hm < 1763994363 720798 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :yea < 1763994366 771297 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :some other people have studied it, though: https://en.wikipedia.org/wiki/Call-by-push-value < 1763994378 228559 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :ah, interesting < 1763994381 802608 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :maybe ill read that < 1763994391 570982 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :\about it < 1763994411 767166 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's quite complicated going, I have tried to study it and got a good idea for the "feel" of how it works but keep forgetting the details < 1763994437 666500 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :hmm < 1763994441 720054 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :*hm < 1763994443 216029 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :ok < 1763994483 476877 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :does CBPV only every happen in intermediate < 1763994484 476969 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :well < 1763994490 310895 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :I guess thats not relevant to this channel < 1763994492 788141 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :maybe it is < 1763994494 55110 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :idk < 1763994578 417009 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that's a good question but it's a little difficult to formalize the question to be able to answer it accurately < 1763994593 62107 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :true < 1763994616 975933 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :now I kinda want to create a CBPV based esolang < 1763994763 911125 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I learned CBPV from Paul Levy himself, in person, but never got around to the whole "formalizing the relationship between Unlambda and Underload" that I was planning to – but it's potentially interesting because Unlambda is based on combinator calculus (but with thunks and continuations) and Underload is based on concatenative calculus, and those are both real mathematical theories that people are interested in outside their relationship to esolangs < 1763994774 665481 :amby!~ambylastn@host-81-178-154-63.as13285.net QUIT :Remote host closed the connection < 1763994785 950181 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but, CBPV is mostly interesting because it helps you understand the thunks and continuations rather than for the SKI part of he calculus < 1763994820 166499 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :yea < 1763994829 621289 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :ive always never really understood unlambdas c < 1763994839 5587 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :I should prolly look into it < 1763994866 134971 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :call/cc is one of the hardest commonly used control flow operation to understand < 1763994873 543934 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think that's why it was added to Unlambda in the first place < 1763994878 222111 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :lol < 1763994883 748563 :amby!~ambylastn@host-81-178-154-63.as13285.net JOIN #esolangs amby :realname < 1763994931 888956 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :c is difficult to understand from an imperative point of view and d is difficult to understand from a functional point of view, the combination was intended to make the language harder to think about and interpreters harder to write < 1763994956 105335 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :now put it into befunge < 1763994963 81286 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :(thats also a dumb joke) < 1763994977 423843 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but call-by-push-value is the best mathematical treatment I've seen of how d works < 1763994987 369774 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :hm < 1763994988 370223 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :yes < 1763994989 884719 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :*yes < 1763994991 720032 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :*yea < 1763994993 839664 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :cool < 1763995236 375479 :amby!~ambylastn@host-81-178-154-63.as13285.net QUIT :Remote host closed the connection < 1763995317 233483 :amby!~ambylastn@host-81-178-154-63.as13285.net JOIN #esolangs amby :realname < 1763995758 500468 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :also, ais523, in ErrorBucket, why is there not just a command thats equal to af, instead of a being a separate command? < 1763995897 770588 :amby!~ambylastn@host-81-178-154-63.as13285.net QUIT :Remote host closed the connection < 1763996075 42190 :amby!~ambylastn@host-81-178-154-63.as13285.net JOIN #esolangs amby :realname < 1763997321 239137 :Yayimhere!~Yayimhere@197.184.104.143 QUIT :Quit: Client closed < 1763997709 99527 :Yayimhere!~Yayimhere@197.184.104.143 JOIN #esolangs * :[https://web.libera.chat] Yayimhere > 1763997964 640348 PRIVMSG #esolangs :14[[07Talk:I/D machine Turing-completeness proof14]]4 10 02https://esolangs.org/w/index.php?diff=169169&oldid=169165 5* 03Yayimhere2(school) 5* (+232) 10 < 1763998182 278377 :ais523!~ais523@user/ais523 QUIT :Quit: sorry about my connection < 1763998678 676686 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) > 1763999711 349289 PRIVMSG #esolangs :14[[071814]]4 N10 02https://esolangs.org/w/index.php?oldid=169170 5* 03Yayimhere2(school) 5* (+3979) 10Created page with "'''18''' is an esolang created by [[User:Yayimhere]], as a merge of [[7]] and [[ErrorBucket]]. 18 works in base 18, and as such it gets its name. == Data == 18 uses two ''frames''. frames is a string of symbols/tokens(specifically, 18 commands), which can be sepa < 1763999874 53550 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :aaaah < 1763999880 613113 :Yayimhere!~Yayimhere@197.184.104.143 PRIVMSG #esolangs :thats nice, finally being done with it > 1764000801 521199 PRIVMSG #esolangs :14[[071814]]4 10 02https://esolangs.org/w/index.php?diff=169171&oldid=169170 5* 03Yayimhere2(school) 5* (+6) 10/* Commands */ > 1764000803 405695 PRIVMSG #esolangs :14[[07Esolang talk:Categorization14]]4 10 02https://esolangs.org/w/index.php?diff=169172&oldid=169161 5* 03Corbin 5* (+143) 10/* Category:Golfing language should be moved to Category:Golfing languages */ I can help. < 1764000877 314281 :Yayimhere!~Yayimhere@197.184.104.143 QUIT :Quit: Client closed < 1764000918 683529 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: I'm not convinced that concatenative calculus is its own thing. I think that when formalized, we either get combinators or an internal language of categories. We have multiple pages that each have a fragmented table listing out common categorical combinators and how they interact with each other, but lack a central unified theory. < 1764000967 143615 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: well, if you ignore I/O, Underload and Mlatu-6 independently settled on the same set of commands/combinators < 1764000978 138443 :Yayimhere!~Yayimhere@197.184.90.200 JOIN #esolangs * :[https://web.libera.chat] Yayimhere > 1764001245 645368 PRIVMSG #esolangs :14[[07Talk:No-code esolang14]]4 10 02https://esolangs.org/w/index.php?diff=169173&oldid=169150 5* 03Corbin 5* (+674) 10What do you think a language is, exactly? < 1764001275 708465 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Right, because they arise naturally. [[Cammy/Bikeshed]] and [[Stack]] have similar tables too. < 1764001351 562652 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :hello korvo! < 1764001352 745099 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there's an interesting parallel with Unlambda: Unlambda's core naturally-arising subset is SKI but you can implement I in terms of the other two, Underload's core naturally-arising subset is ():*!a~ but you can write ~ in terms of the others < 1764001400 130082 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :lol < 1764001411 33488 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :that is quite interesting < 1764001438 667475 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : ~ = a(!a)(!)(a*a*:*^!a*^):*^ < 1764001453 693439 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :yea < 1764001461 655267 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oerjan and I both spent some time working on implementing ~ in terms of the others < 1764001464 744947 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's kind-of surprising that it's possible < 1764001470 158436 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :yea < 1764001476 733982 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :it seems very surprising to me < 1764001799 465645 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1764001841 314777 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 244 seconds < 1764001877 890527 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1764001938 670338 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Hi! < 1764001956 399208 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :korvo: thanks for the book recommendation, its quite fun to read!! < 1764002137 673617 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Right. In category theory, we say that every Cartesian closed category is braided monoidal; that is, if we have finite products and we can copy and delete freely then we can swap a pair s.t. swapping twice is like doing nothing. The naturality of copying and deletion require it. < 1764002186 115991 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: I'm glad to hear it! I hope that, at some point, you try out some of the examples in a Scheme interpreter. I think that there are some websites with online interpreters, but the best experience will be using something like Racket on your local machine. < 1764002210 854717 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :(Racket is technically not Scheme but it is close enough to be okay for learners. Racket's more like a construction kit; you can use it to build a Scheme, or to build other things.) < 1764002375 505613 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Oh, sorry, the correct term is "symmetric monoidal". Braided monoidal is more general; symmetric monoidal means that `swap swap` ≈ `id`. < 1764002383 103990 :Yayimhere!~Yayimhere@197.184.90.200 QUIT :Ping timeout: 250 seconds < 1764002931 455736 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: right, braided means that you can swap but not necessarily that swapping twice gets you back where you started (like braiding three strings: you can swap repeatedly and form a braid, but the only way to undo the braid is to swap back in the same sequence, the strings ending up in the same position doesn't help < 1764002940 706882 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this is the one bit of category theory that I'm fairly confident on < 1764003070 927758 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah! This is the stuff that the physicists care a lot about, but usually I'm doing CCCs like Cammy. < 1764003122 231347 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Also knot theorists. Not sure if we have any of them here. Very cool stuff. They get to study exactly 3 dimensions. < 1764003290 100008 :Yayimhere!~Yayimhere@197.184.90.200 JOIN #esolangs * :[https://web.libera.chat] Yayimhere < 1764003300 949117 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :im back once again > 1764003711 886846 PRIVMSG #esolangs :14[[07What the Branflakes14]]4 10 02https://esolangs.org/w/index.php?diff=169174&oldid=167434 5* 03Esolangist alt 5* (+832) 10Esolangist alt < 1764003881 376322 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Another week, another blogpost talking about OOP from a very biased perspective. < 1764004979 183976 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :lol < 1764005343 490964 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :I know thhis is kinda a boring question, but what do you conjecture on tis languages computational class?: https://esolangs.org/wiki/18 > 1764005374 64857 PRIVMSG #esolangs :14[[071814]]4 10 02https://esolangs.org/w/index.php?diff=169175&oldid=169171 5* 03Yayimhere2(school) 5* (+49) 10/* Similarity to 7 and ErrorBucket */ < 1764005505 839560 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Looks like a sort of two-stack machine, I suppose? I don't really see a point to guessing computational classes. In terms of complexity, it might implement a tag system, but I'm not sure offhand. I don't think that there's enough detail there to write an interpreter with all of the corner cases figured out. > 1764005742 84320 PRIVMSG #esolangs :14[[07Stackception14]]4 N10 02https://esolangs.org/w/index.php?oldid=169176 5* 03Esolangist alt 5* (+898) 10Esolangist alt < 1764005743 203697 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :korvo: i will try and write an intepreter < 1764005751 349421 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :after im done with another ones intepreter < 1764005828 369740 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :No worries. < 1764005833 343493 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :k < 1764005856 614911 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :what details ar missing btw? < 1764005866 923703 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :(so I can complete the documentation) < 1764006061 551580 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Yayimhere: I think the "x" in "0x00", etc., is wrong – the x specifically indicates hexadecimal whereas you are working in base 18, so you should pick a different letter < 1764006091 100340 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the usual mathematical notation would be a subscript ₁₈, e.g. 0G₁₈ to indicate the number which in decimal is written 16 < 1764006092 27628 :APic!apic@apic.name PRIVMSG #esolangs :Good Night < 1764006104 892633 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :night APic < 1764006125 969263 :avih!~quassel@23.94.231.119 PRIVMSG #esolangs :night < 1764006130 521887 :tromp!~textual@2001:1c00:3487:1b00:bd07:71f2:e20b:fdc JOIN #esolangs * :Textual User < 1764006221 549336 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Yayimhere: in terms of spec clarity, 0x0C says you are copying data but doesn't say where you're copying it to < 1764006255 418133 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :also it is weird to have a bit bucket that it's possible to read from, that kind-of removes its status as a bit bucket > 1764006865 807410 PRIVMSG #esolangs :14[[07BFInfinity14]]4 10 02https://esolangs.org/w/index.php?diff=169177&oldid=160884 5* 03C++DSUCKER 5* (+308) 10 > 1764007151 122429 PRIVMSG #esolangs :14[[07Prehistory of esoteric programming languages14]]4 10 02https://esolangs.org/w/index.php?diff=169178&oldid=162716 5* 03Corbin 5* (+550) 10More ancient history: the invention of cryptography. Scytales don't quite count for several reasons: unclear origin, unclear usage, failure of Kerchkoffs' principle. < 1764007189 733205 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :ais523: ok < 1764007195 768554 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :and for the bit bucket < 1764007205 83122 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Making these little bite-sized pieces of history is a fun challenge. I think that the joke might be a little weak; the idea is that Stigler's law of eponymy is funny, but maybe it's just confusing. < 1764007230 928930 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :I guess I was going with the error bucket naming < 1764007237 263340 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :bbut ill change it < 1764007242 444231 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :korvo: what? < 1764007271 960845 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Once upon a time, the bit bucket was a physical trash can sitting under a machine. It collected pieces of paper from punch cards. The idea is that the bit bucket is *trash*. < 1764007290 670456 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :ok < 1764007304 188667 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :lol < 1764007345 279413 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :On today's Unix derivatives, the "bit bucket" refers to a file, /dev/null, which can only be written to. You can write whatever you like, but nothing will ever come back out. It's used to discard logs and errors that we want to ignore. < 1764007402 180118 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Anyway, if you look at that prehistory page that I just edited, you'll see that I've slowly been building up a listing of the foundations of esoteric language design. Some time ago, I decided that such pages ought to be humorous and informative. < 1764007435 249268 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :korvo: oh cool > 1764007443 342114 PRIVMSG #esolangs :14[[071814]]4 10 02https://esolangs.org/w/index.php?diff=169179&oldid=169175 5* 03Yayimhere2(school) 5* (+0) 10/* Commands */ < 1764007481 778926 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yayimhere: Honestly I think https://esolangs.org/wiki/Timeline_of_esoteric_programming_languages is much funnier. However, editing that page has to be done very carefully, because the *entire* page has to make sense. < 1764007550 309787 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :yea < 1764007599 791568 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :"Repetition is a literary device in which a phrase is repeated, often with minor variations, to emphasize an underlying theme." < 1764007976 966819 :tromp!~textual@2001:1c00:3487:1b00:bd07:71f2:e20b:fdc QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1764008018 354055 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Hm. Objects can be class-, prototype-, or map-based. Let's explain that. < 1764008068 203837 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :anyways < 1764008072 3280 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :im going now < 1764008074 509183 :Yayimhere!~Yayimhere@197.184.90.200 PRIVMSG #esolangs :bye!!! < 1764008086 425532 :Yayimhere!~Yayimhere@197.184.90.200 QUIT :Quit: Client closed < 1764008262 827670 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I don't like the term "object-oriented programming" so much because it's both very general and has fuzzy edges < 1764008300 555278 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there are clear parallels between a Java object, a Smalltalk object, a Rust object, and an ECMAScript object – but there are also massive differences < 1764008328 386077 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and I don't think it necessarily makes sense to talk about which of those languages is OOP and which ones aren't < 1764008487 940403 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Well, what three of those four have in common is the ability to deliver a serialized message without prior static knowledge of the receiver's internals; the message is dynamically dispatched to a late-bound behavior. < 1764008500 172666 :sorear!sid184231@id-184231.uxbridge.irccloud.com PRIVMSG #esolangs :Was it ever anything other than a buzzword? < 1764008526 636298 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Today, "object-oriented" is a nice way to refer to languages that aren't object-based because they have some sort of primitive values. < 1764008625 409176 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: which three are you thinking of? < 1764008649 404334 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: ECMAScript, Java, and Smalltalk. The ability to do this goes down to the VM in all three cases. < 1764008659 879612 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: oh, I see < 1764008668 407379 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I was thinking of the languages themselves not the VM < 1764008682 97689 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :e.g. I don't think of gcj as being able to send serialized messages < 1764008687 561585 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I mean, Rust has a VM too, but it's LLVM. < 1764008697 156777 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :LLVM isn't actually a VM, it's badly named < 1764008722 436305 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's more of an abstract machine < 1764009194 682453 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Consider: in those languages, it's possible to not handle a message, but to pass it along to some other receiver. How would one create a Rust object which responds to *any* method by invoking that same method on some other object? I think it'd have to be parameterized by the type of that other object. < 1764009227 617605 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I don't think you can do that in Jaa < 1764009229 357306 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* Java < 1764009253 193736 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :you can create proxies in Java but they won't accept methods that aren't listed in the interfaces you asked them to support < 1764009261 920182 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(but my Java knowledge is outdated so maybe you can nowadays) < 1764009387 56787 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Rust can do much the same thing using a dyn-compatible supertrait, but it only works on methods that are dyn-compatible (e.g. they don't attempt to pass the unknown object by value) < 1764009421 177316 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Java had a VM change to allow it; the bytecode to search for is `invokedynamic`. https://jcp.org/en/jsr/detail?id=292 Prior to that, Java only had `invokeinterface`, which has the same limitations as Rust traits. < 1764009470 861088 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Java's warning to object-based languages is that it's simply *not reasonable* to insist that all behaviors belong to a single partially-ordered system of interfaces. Yes, it's desirable, but it's not sufficiently open for extension. < 1764009500 743075 :fizzie!~irc@selene.zem.fi PRIVMSG #esolangs :As I recall, that was added to make it easier to support *other* (more dynamic) JVM languages, not to add any functionality to Java-the-language. < 1764009526 761742 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I don't think invokedynamic does what you want, it allows an object to dynamically generate code to forward messages it receives, but it doesn't give it the ability to receive arbitrary messages in the first plaaec < 1764009602 337824 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess it could receive the messages in some other format other than Java's native one (wrapped in a Java method call), then use invokedynamic to convert it into the appropriate form for the other object < 1764009617 97188 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: You have to cast everything to Object first, but it should work. The main issue is speed. < 1764009694 683583 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :fizzie: I think that you're correct. I don't know whether any Java compiler uses `invokedynamic`, but I recall that Clojure existentially depends upon it. < 1764009747 546189 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :invokedynamic is used by javac but only in fairly niche scenarios like proxy creation < 1764009836 647540 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I don't think this works even casting to Object, Method.invoke (even in modern Java) has a restriction that the method you invoke has to be an instance of the class or interface that declares the method < 1764009854 671395 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so there's no way for a Java object to permit arbitrary methods to be called on it < 1764009883 853635 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(it can call arbitrary methods on the object it's wrapping, without knowing its type, but can't forward them if they can't be called in the first place to be forwarded) < 1764009918 807971 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Okay, I'll add a paragraph. < 1764010149 508748 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* the object you invoke the method on has to be an instance < 1764010512 81015 :tromp!~textual@2001:1c00:3487:1b00:bd07:71f2:e20b:fdc JOIN #esolangs * :Textual User > 1764010541 590499 PRIVMSG #esolangs :14[[07HalfText14]]4 10 02https://esolangs.org/w/index.php?diff=169180&oldid=168993 5* 03GolferHome 5* (-308) 10 > 1764010665 242178 PRIVMSG #esolangs :14[[07Object-oriented paradigm14]]4 10 02https://esolangs.org/w/index.php?diff=169181&oldid=166913 5* 03Corbin 5* (+2777) 10Explain the basics of behavioral schemata, often erroneously called "inheritance" after the specific phenomenon in class-based languages. < 1764010712 735494 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: ^^^ LMK what you think. I would be okay with listing Rust, Haskell, etc. under some sort of trait/mixin sub-header of class-based languages; it *is* a real way of organizing code at scale and it should be contrasted. < 1764010738 68989 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: this article might take a while to read < 1764010814 401938 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, no worries. I only added the == Schemata == section. I'd be okay with s/schema/behavior/g too; there's no good standard name. < 1764010850 260399 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Heh. At [[fat pointer]] I said, "The first pointer is called the behavior, class, interface, prototype, script, or vtable." Yeah, lots of non-standard names. > 1764010933 103649 PRIVMSG #esolangs :14[[07Vixen14]]4 10 02https://esolangs.org/w/index.php?diff=169182&oldid=168554 5* 03Corbin 5* (+0) 10Fix categories; I switched from classes to prototypes. < 1764011065 585288 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: it seems OK so far but I think there are always going to be gray areas < 1764011072 767556 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :e.g. Lua doesn't seem to fall firmly into any of your schemata < 1764011131 675194 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Lua is prototype-based, IIRC? It's been a while. The idea is that, like in ECMAScript, the generic attribute-dictionary collection is capable of self-reference. < 1764011186 782257 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: it's a hybrid < 1764011277 128013 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :a Lua table is a map where the keys can be pretty much anything and so can the values, and it can also have a metatable; to call a method on a table, you look up the value whose key matches the method name and call it as a function, or if there isn't such a value you search the metatable for a function that tells you what to do instead < 1764011334 104815 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sounds like metatables are prototypes. < 1764011354 549102 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :metatables are a lot like prototypes, *but* most method calls don't go through them at all < 1764011384 974727 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :also if a table wants to be able to access itself from a method, the function it maps that method to needs to close over the table itself < 1764011510 913307 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :sorry, I was wrong, the method is given the table itself as an argument < 1764011523 7025 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I think I can give a dichotomous key. Send a message to an object. Does the object have a local custom schema, or does it point to a shared schema? In the former case, if the schema doesn't handle the message, is the message automatically delegated somewhere instead of failing? < 1764011539 931269 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so Lua OO usually works something like this: https://tio.run/##yylN/P@/QsFWoVohrzQXSBsq1HJV6CWmpADZaaV5ySWZ@XkamToKWZoKmXoQJRBaWyFLITUvhavCCqhYw0STq6AoM69EowIkqfn/PwA < 1764011586 331543 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Shared schemata are classes. Automatic delegation on failure is prototypes. Anything else is effectively map-based; the same techniques for optimizing prototypes will work on it. < 1764011784 336476 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Lua's rule is basically a) see if the method is implemented directly on the object, b) if yes call the method, c) if no see if the object has a metatable property (erroring if it doesn't), d) call the metatable's __index method with a reference to the object and the name of the method you were originally calling, and let it return the method implementation < 1764011810 479745 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so it's like a map that falls back to a metatable, and there's no rule about whether the metatables have to be shared or not (in practice they usually are) < 1764011827 295337 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I'm still chewing on "most method calls don't go through [the prototype]". Like, I think that this depends a lot on what one is doing. Lately, most of my Vixen methods have been what systems call "static" or "class" methods; they are intended to be called on the original object, not a clone. < 1764011910 976273 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess the way to think of it is that in Java or Smalltalk or ECMAScript, to construct an object you specify the class/object that specifies its behaviours and assign to its properties/internal storage; in Lua, the constructor usually assigns to the properties and also assigns to the methods < 1764011958 49908 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah, I'd still say that metatables are prototypes. They're just very opinionated. FWIW I personally think *Python* is prototype-based, too; it just happens that the standard `type` metaclass and `object` prototype are extremely opinionated about object layouts. < 1764011968 341619 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :As opposed to e.g. Ruby, I guess. < 1764012003 75093 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this is an interesting opinion because I thought that Perl and Python OO is effectively equivalent, but Perl is definitely class-based < 1764012039 426107 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(the way you *create* objects is bizarre by class-based standards, but method calls are very standard for a class-based language) < 1764012074 250994 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Python's `object` is very weird. Direct clones of it like `object()` do not have an instance dictionary and compare by identity; they're gensyms rather than extensible objects. < 1764012170 664568 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But Python has like three levels of hooking (metaclass, new/init, getattribute/etc.) and users are expected to use the weakest level that gets the task done. The final level of getattr/setattr is meant to emulate Self's most basic features. < 1764012295 37837 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :"LLVM isn't actually a VM, it's badly named" => wait, is "LLVM" even supposed to stand for that? I don't know what the letters were supposed to stand for. I think I lost interest in trying to figure out what most of these jargon abbreviations mean in my current job, which uses way too many opaque abbreviations, including colliding ones where PID means two completely unrelated things < 1764012331 320340 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :"Low-Level Virtual Machine". That's also its original aspiration: instead of compiling to the target machine, compile to LLVM's IR and let the toolchain emit machine code for you. < 1764012402 344860 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: it's meant to stand for "low-level virtual machine" but after a while they regretted the name I think < 1764012416 398567 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I think it's a great name, in the tradition of "it's called BigTable, not FastTable". QBE (https://c9x.me/compile/) is short for "Quick BackEnd", on a similar tack. < 1764012462 311857 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines. The name "LLVM" itself is not an acronym; it is the full name of the project. < 1764012541 821859 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :jI see < 1764012606 109387 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess at some point you run into philosophical questions about what a virtual machine actually is > 1764012625 85108 PRIVMSG #esolangs :14[[07Cellang14]]4 N10 02https://esolangs.org/w/index.php?oldid=169183 5* 03Esolangist alt 5* (+1106) 10Esolangist alt < 1764013143 135494 :int-e!~noone@int-e.eu PRIVMSG #esolangs :The existence of `lli` kind of justifies the "virtual machine" notion. < 1764013158 933020 :int-e!~noone@int-e.eu PRIVMSG #esolangs :. o O ( It's not not a virtual machine. ) > 1764014333 570848 PRIVMSG #esolangs :14[[07Non14]]4 10 02https://esolangs.org/w/index.php?diff=169184&oldid=168919 5* 03HeckYeah100 5* (+305) 10 < 1764016604 628205 :ais523!~ais523@user/ais523 QUIT :Quit: quit > 1764017047 671168 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03JackM2484 5* 10New user account > 1764018024 802331 PRIVMSG #esolangs :14[[072 commands :(14]]4 M10 02https://esolangs.org/w/index.php?diff=169185&oldid=168151 5* 03 5* (+8) 10'or more' < 1764018393 338116 :pool!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan < 1764018463 366891 :slavfox!~slavfox@193.28.84.32 QUIT :Quit: ZNC 1.8.2 - https://znc.in < 1764018649 480745 :slavfox!~slavfox@193.28.84.32 JOIN #esolangs slavfox :slavfox > 1764020709 296847 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=169186&oldid=169121 5* 03Buckets 5* (+11) 10 > 1764020763 361002 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=169187&oldid=169122 5* 03Buckets 5* (+12) 10 > 1764020785 45605 PRIVMSG #esolangs :14[[07Melon14]]4 N10 02https://esolangs.org/w/index.php?oldid=169188 5* 03Buckets 5* (+1143) 10Created page with "Melon Is An Esoteric programming language created By [[User:Buckets]] in 2021. {| class="wikitable" |- ! Commands !! Instructions |- | @ || Rotate left And skip the Next Command. |- | # || Starting point where Four Seperate IPs come out From. |- | D || If an IP travels th > 1764021657 82504 PRIVMSG #esolangs :14[[07File talk:Dango Language Logo.png14]]4 10 02https://esolangs.org/w/index.php?diff=169189&oldid=169168 5* 03RaiseAfloppaFan3925 5* (+371) 10 < 1764023077 303218 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1764024311 655546 :tromp!~textual@2001:1c00:3487:1b00:bd07:71f2:e20b:fdc QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1764025103 204356 PRIVMSG #esolangs :14[[07Ksplang14]]4 M10 02https://esolangs.org/w/index.php?diff=169190&oldid=169130 5* 03Sejsel 5* (+44) 10Fix up table headers > 1764025117 310760 PRIVMSG #esolangs :14[[07Ksplang/instructions14]]4 M10 02https://esolangs.org/w/index.php?diff=169191&oldid=169134 5* 03Sejsel 5* (+44) 10Fix up table headers < 1764026029 960742 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1764026707 238878 :Sgeo_!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1764026936 13078 :Sgeo!~Sgeo@user/sgeo QUIT :Ping timeout: 240 seconds > 1764027017 473638 PRIVMSG #esolangs :14[[07Brainyay14]]4 10 02https://esolangs.org/w/index.php?diff=169192&oldid=168825 5* 03PhiPhiPHipHi2.0 5* (+215) 10 > 1764027059 127890 PRIVMSG #esolangs :14[[07Brainyay14]]4 10 02https://esolangs.org/w/index.php?diff=169193&oldid=169192 5* 03PhiPhiPHipHi2.0 5* (+64) 10 > 1764027249 974933 PRIVMSG #esolangs :14[[07Brainyay14]]4 10 02https://esolangs.org/w/index.php?diff=169194&oldid=169193 5* 03PhiPhiPHipHi2.0 5* (+45) 10 < 1764027371 89915 :ais523!~ais523@user/ais523 QUIT :Quit: quit