< 1766193112 839197 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :The existence of id :: Void -> Void shows that in Haskell's type system, 0^0=1. Its math operators agree. What languages do we have in here, I wonder if any disagree < 1766193431 879376 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1766193667 46873 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : The existence of id :: Void -> Void shows that in Haskell's type system, 0^0=1. ← it's hard to imagine a type system that includes an uninhabited type but *doesn't* allow defining the identity function on it < 1766193797 667837 :amby!~ambylastn@host-81-178-158-35.as13285.net QUIT :Remote host closed the connection < 1766193860 174064 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the equivalent of x^0 is easy to define, it's absurd (i.e. a function with type Void -> a) – so the x^0==1 identity, when translated into type system terms, effectively states that there is exactly one correct way to define absurd < 1766193902 795917 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :meanwhile, the equivalent of 0^x is a function with type a -> Void – for most choices of a there are no such functions, but for inhabited a such functions do exist (so you get 0^x == 0 except when x == 0) < 1766193977 119499 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :I feel like someone somewhere has tried to figure out what negative and fractional types are. And I'm suddenly now curious about imaginary types < 1766194050 441012 :sorear!sid184231@id-184231.uxbridge.irccloud.com PRIVMSG #esolangs :well -1/12 = 1 + 2 + 3 + ... < 1766194089 160558 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* for uninhabited a such functions do exist < 1766194139 127211 :Sgeo!~Sgeo@user/sgeo PRIVMSG #esolangs :I assume there are unsigned infinite amount of functions from a negative type to Void < 1766194242 835763 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I've thought about negative types in the past because the joke esolang TURKEY BOMB defines one (without specifying how it actually works) < 1766194277 325075 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but TURKEY BOMB's is more of a fractional type, I think (it has more than 0 but fewer than 1 possibility) < 1766194318 48013 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :OK, so the simplest type is 1/2, which is a -1-bit integer – if you store it together with an 8-bit integer the resulting type fits in 7 bits < 1766194322 719201 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* simplest such type < 1766194390 714041 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :2^-1 == 1/2, so a function from the type -1 to bool should return a -1-bit integer < 1766194425 456115 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :wait, no, it returns a bool, the -1-bit integer is how you represent all such functions < 1766194474 556624 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :my guess is that because -1^1 = -1, -1^2 = 1, -1^3 = -1, etc., it is impossible to come up with a sensible definition of this < 1766194547 545199 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :how does it make sense for a function a -> b (for varying a and fixed b) to be either definable or antidefinable based on whether a contains an even number of possible values or not? < 1766195083 356663 :sorear!sid184231@id-184231.uxbridge.irccloud.com PRIVMSG #esolangs :non-classical logic, maybe < 1766196912 42729 :pool!~nathan@user/PoolloverNathan JOIN #esolangs PoolloverNathan :nathan > 1766201700 591585 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Silicon dioxide in a polypropylene box/Mirror to Esolangist's Chess Games/Xiangqi14]]4 N10 02https://esolangs.org/w/index.php?oldid=170878 5* 03PrySigneToFry 5* (+1213) 10Created page with "This is the scene of a Chinese chess match. You can freely add, modify, or delete content related to the symbols. = Notations = Red pieces are represented by lowercase le < 1766202599 985258 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :" it's hard to imagine a type system that includes an uninhabited type but *doesn't* allow defining the identity function on it" => C++ constexpr begs to differ, I think you can't define a constexpr function with an uninhabited parameter type, or maybe you can define one only using templates, I'm not sure how this works > 1766213506 193493 PRIVMSG #esolangs :14[[07Xaxa14]]4 10 02https://esolangs.org/w/index.php?diff=170879&oldid=105195 5* 03Yayimhere2(school) 5* (+11) 10/* Commands */ I can see ^ is 0 indexed < 1766217606 746197 :tromp!~textual@2001:1c00:3487:1b00:41ea:345c:92:984a JOIN #esolangs * :Textual User > 1766217736 761511 PRIVMSG #esolangs :14[[07Lacc14]]4 10 02https://esolangs.org/w/index.php?diff=170880&oldid=170603 5* 03Yayimhere2(school) 5* (+0) 10 > 1766217877 990801 PRIVMSG #esolangs :14[[07Lacc14]]4 10 02https://esolangs.org/w/index.php?diff=170881&oldid=170880 5* 03Yayimhere2(school) 5* (+12) 10/* Command set */ < 1766218320 726849 :tromp!~textual@2001:1c00:3487:1b00:41ea:345c:92:984a QUIT :Ping timeout: 245 seconds > 1766219733 580536 PRIVMSG #esolangs :14[[0714]]4 10 02https://esolangs.org/w/index.php?diff=170882&oldid=156410 5* 03Yayimhere2(school) 5* (-40) 10/* Find zero to the right (invalid) */ its not actually invalid, as ive Benn told < 1766219814 340330 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm, I'm wondering if the main difference between paradigms is with respect to things like "in imperative languages, loops desugar into goto, but in functional languages, loops desugar into recursion" < 1766219830 668318 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this isn't *quite* objective but seems to be a hard-line qualitative difference < 1766220634 591667 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1766220983 321868 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :I can believe the latter, but I think there can be imperative languages where loops desugar into recursion < 1766221402 779146 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm, maybe this is a consequence thing < 1766221437 411683 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :along the lines of "paradigms are basically a set of design decisions that are commonly made together, people who are designing an imperative language will therefore usually design it with jump-based loops" < 1766221573 327484 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :I mean, I admit that I'm trying to design Enchain to have if-gotos as the main way to make a loop, so in that respect I'm guilty. < 1766221600 975869 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :but I don't think that's the only possibility for an imperative language < 1766221674 903633 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :also we were recently talking about BASIC, and in at least some versions of BASIC, NEXT doesn't desugar into a GOTO because it can jump to different FOR statements depending on the path you arrived from < 1766221709 672682 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :(it also doesn't desugar to recursion though) < 1766221824 942579 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :in intercal it's not clear what kind of loop you want to desugar, it doesn't have sugar that tastes exactly like a loop < 1766221893 962612 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :come from mostly desugars into goto, but next doesn't < 1766222262 796512 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :oh yeah, TeX. I think TeX counts as imperative with loops desugaring to recursion < 1766222317 883892 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :NEXT from INTERCAL is interesting because it's unclear from the NEXT itself whether it's a subroutine call or a jump – it's subsequent code that retroactively decides for it < 1766222371 92351 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although INTERCAL feels very imperative, partly because functions don't have "official" arguments (you have to use dynamic scoping to simulate it) < 1766222461 746257 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hmm… using CREATE on operators, INTERCAL has functions which are close to first-class (and with arguments and a return), just with a weird calling syntax (but they work like C function pointers in that they are not closures) < 1766222462 368210 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :hehe, that's true to scan as well < 1766222470 855889 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :it has functions but they don't take arguments < 1766222498 87337 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the basic idea is that you CREATE an operator and immediately use it in the next line, as a way of doing a function call < 1766222516 925812 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and because C-INTERCAL supports computed CREATE you can do this with a computed line number < 1766222520 731568 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :though that's only because it's incomplete and abandonned, the functions should have arguments, I just never implemented that > 1766223030 640969 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170883&oldid=167629 5* 03PrySigneToFry 5* (+10) 10 > 1766223291 303853 PRIVMSG #esolangs :14[[07User:PrySigneToFry14]]4 10 02https://esolangs.org/w/index.php?diff=170884&oldid=169704 5* 03PrySigneToFry 5* (+29) 10 > 1766225421 828552 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170885&oldid=170883 5* 03I am islptng 5* (+76) 10 > 1766225444 154847 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170886&oldid=170885 5* 03I am islptng 5* (-2) 10 > 1766225507 206009 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170887&oldid=170844 5* 03Yayimhere2(school) 5* (+0) 10/* Semantics */ > 1766225727 342416 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170888&oldid=170887 5* 03Yayimhere2(school) 5* (-3) 10/* Semantics */ > 1766226468 34938 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170889&oldid=170888 5* 03Yayimhere2(school) 5* (+226) 10/* Examples */ > 1766226552 745981 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170890&oldid=170889 5* 03Yayimhere2(school) 5* (-2) 10 > 1766226828 303509 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170891&oldid=170890 5* 03Yayimhere2(school) 5* (+68) 10/* Examples */ > 1766227348 258214 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170892&oldid=170891 5* 03Yayimhere2(school) 5* (+32) 10/* Syntax */ > 1766227772 738109 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170893&oldid=170892 5* 03Yayimhere2(school) 5* (+1) 10/* Examples */ > 1766228276 806828 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170894&oldid=170886 5* 03Hammy 5* (+40) 10/* Commands */ > 1766228390 654149 PRIVMSG #esolangs :14[[07Talk:Kava14]]4 10 02https://esolangs.org/w/index.php?diff=170895&oldid=148397 5* 03Hammy 5* (+357) 10 > 1766228696 903876 PRIVMSG #esolangs :14[[07Contains everything14]]4 10 02https://esolangs.org/w/index.php?diff=170896&oldid=170613 5* 03C++DSUCKER 5* (+9) 10 > 1766228948 50378 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170897&oldid=170893 5* 03Yayimhere2(school) 5* (+1537) 10 < 1766229019 842233 :sorear!sid184231@id-184231.uxbridge.irccloud.com PRIVMSG #esolangs :"it's subsequent code that retroactively decides for it" riscv JAL says hi < 1766229054 157686 :sorear!sid184231@id-184231.uxbridge.irccloud.com PRIVMSG #esolangs :there's a fairly natural variant of SSA where basic blocks take named arguments instead of having phi nodes, and all jumps are syntactically tail recursion > 1766229617 893675 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170898&oldid=170897 5* 03Yayimhere2(school) 5* (+17) 10/* Examples */ > 1766229945 888037 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170899&oldid=170898 5* 03Yayimhere2(school) 5* (+38) 10/* Examples */ < 1766230091 569527 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :when I think of SSA, I think of the version that uses arguments rather than phi nodes – but I also think of it as using jumps rather than tail calls (there's nothing fundamentally strange to me about a jump that has arguments) < 1766230224 880411 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :what is "SSA"? < 1766230461 887212 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :single static assignment < 1766230529 608748 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's a coding style in which all variables are assigned a value on declaration and can never have that value change, but the name SSA is normally only used in cases where that is done in a compiler's intermediate representation < 1766230929 510737 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :oh, so that's why you want tail recursion < 1766230971 394721 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :and you might need that not only for loops but for conditionals < 1766231009 911897 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: righg < 1766231011 390362 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* right > 1766233752 24899 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Choas 5* 10New user account < 1766234503 896870 :APic!apic@apic.name PRIVMSG #esolangs :Hi < 1766235390 269876 :amby!~ambylastn@host-81-178-158-35.as13285.net JOIN #esolangs * :realname > 1766237580 847539 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170900&oldid=170894 5* 03PrySigneToFry 5* (+253) 10 > 1766237630 831483 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170901&oldid=170900 5* 03PrySigneToFry 5* (+26) 10 > 1766237690 788178 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170902&oldid=170901 5* 03PrySigneToFry 5* (-63) 10Oops! > 1766239206 956999 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170903&oldid=170902 5* 03Hammy 5* (+73) 10/* Commands */ > 1766239696 151951 PRIVMSG #esolangs :14[[07Third Party Contractor Accused Of A Robbery14]]4 10 02https://esolangs.org/w/index.php?diff=170904&oldid=81927 5* 03Kaveh Yousefi 5* (+1534) 10Introduced an examples section, comprehending as its incipial and aefauld member a single letter printer, supplemented a hyperlink to my implementation of the language on GitHub, and altered the Unimplemented page category tag to Impleme < 1766241247 17280 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1766241639 350589 :impomatic!~impomatic@2a00:23c7:5fc6:3201:6ddc:eaed:66e5:1f59 JOIN #esolangs * :[https://web.libera.chat] impomatic > 1766241998 345316 PRIVMSG #esolangs :14[[07User guessed14]]4 10 02https://esolangs.org/w/index.php?diff=170905&oldid=170903 5* 03PrySigneToFry 5* (+211) 10 < 1766244662 793826 :APic!apic@apic.name PRIVMSG #esolangs :cu < 1766246257 563392 :slavfox!~slavfox@193.28.84.32 QUIT :Ping timeout: 264 seconds > 1766246458 725682 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=170906&oldid=170859 5* 03Choas 5* (+182) 10/* Introductions */ my intro > 1766248115 539018 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170907&oldid=170899 5* 03Yayimhere2(school) 5* (+37) 10/* Examples */ > 1766249363 769830 PRIVMSG #esolangs :14[[07Apraxia14]]4 10 02https://esolangs.org/w/index.php?diff=170908&oldid=170907 5* 03Yayimhere2(school) 5* (+60) 10/* Semantics */ > 1766249725 636571 PRIVMSG #esolangs :14[[07Blur14]]4 N10 02https://esolangs.org/w/index.php?oldid=170909 5* 03Choas 5* (+9590) 10create Blur page for release 0.1.0 > 1766249878 825386 PRIVMSG #esolangs :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=170910&oldid=170864 5* 03Choas 5* (+11) 10/* B */ Blur > 1766250974 571914 PRIVMSG #esolangs :14[[07Blur14]]4 10 02https://esolangs.org/w/index.php?diff=170911&oldid=170909 5* 03Corbin 5* (+29) 10Tag slop. < 1766251016 227854 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I'm not going to bother putting my evidence on-wiki anymore. In this case, the reference implementation is Claude-generated and contains a WIKI.md which has the same contents as the article. The article itself still has some memetic tells, too. < 1766251230 901827 :sorear!sid184231@id-184231.uxbridge.irccloud.com PRIVMSG #esolangs :somewhat unfortunate that the IRC bot now posts links that are useless without wiki accounts < 1766251429 578789 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The curse of Mediawiki. It's not a cheap wiki to operate. It's no accident that most Mediawikis are run by one of like three groups. < 1766252529 75445 :fizzie!~irc@selene.zem.fi PRIVMSG #esolangs :Heh, I didn't think of those links. < 1766252637 386749 :fizzie!~irc@selene.zem.fi PRIVMSG #esolangs :Honestly I think they might as well just link to the page instead of the specific diff, but it doesn't have any settings, it's just "the IRC format". < 1766252832 454593 :int-e!~noone@int-e.eu PRIVMSG #esolangs :hmm though there's a risk that the numerical ids bypassed the problem of encoding unicode characters? < 1766252863 12119 :int-e!~noone@int-e.eu PRIVMSG #esolangs :`unidecode ◧◨ < 1766252866 475054 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :​[U+25E7 SQUARE WITH LEFT HALF BLACK] [U+25E8 SQUARE WITH RIGHT HALF BLACK] < 1766253123 866995 :fizzie!~irc@selene.zem.fi PRIVMSG #esolangs :Well, you could have a numeric-ID link to a page as well; https://esolangs.org/w/index.php?curid=24423 in that case. Though it does make more sense for a recent changes feed to link to the change, this whole crawling thing is just unfortunate. > 1766253831 115755 PRIVMSG #esolangs :14[[072 poets, 1 poem14]]4 10 02https://esolangs.org/w/index.php?diff=170912&oldid=139833 5* 03Hammy2 5* (+111) 10 < 1766254489 150577 :impomatic!~impomatic@2a00:23c7:5fc6:3201:6ddc:eaed:66e5:1f59 QUIT :Quit: Client closed < 1766256485 881952 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1766259229 705795 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 260 seconds < 1766259439 583579 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1766259866 204274 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1766259885 729371 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Blur is a good example of a language somehow missing its *own* point < 1766259976 721094 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :fwiw, the AI tells in the article itself, while present, are much weaker than in most AI-generated articles, which makes it a better article – at least I get a clear idea of how the language is specified from the description < 1766260054 890872 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :It's Claude. We're most used to detecting ChatGPT. The difference is that ChatGPT's RL is RLHF while Claude uses their own in-house RL called "Constitutional AI". Instead of human feedback, RL is evaluated by a policy drafted and verified by multiple smaller bots. < 1766260055 953772 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although the scope of "sharp for"'s unblurring is unclear when you use it for something more complicated than a loop over a range < 1766260100 709701 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the language would be much better without sharp for and without the 1000-iteration limit on regular for loops < 1766260130 334094 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but maybe whoever generated the language didn't think of that < 1766260158 985886 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(we've had similar issues in human-wrItten languages before, e.g. Java2K's main gimmick has no interesting way of working around it, you just have to write the code multiple times and hope at least one copy works) < 1766260236 689496 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :anyway, part of my thoughts are that the easier it is to tell that an article is AI-generated, the sloppier it is – slop can be considered undesirable either because LLM use in general is considered undesirable or because it's hard to read and not very good at conveying information < 1766260277 434038 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but if the article doesn't look AI-generated then it's usually conveying information quite well (because if it weren't, you would be able to tell it were AI based on that), so the second reason why it might be undesirable is less significant < 1766260332 178940 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :of course, this may well have the usual AI problem of the documentation not really matching the implementation at all (I haven't checked), but the documentation does at least describe an internally consistent (if unfortunately designed) esolang < 1766260337 288867 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I don't think that the user came up with the idea for the language directly. I think that they prompted Claude with something like, "What are some ideas for a chaotic esoteric programming language?" < 1766260357 678386 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :maybe? < 1766260362 327775 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the core idea is interesting, though < 1766260372 586364 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :at least from the TCness proof point of view < 1766260398 828311 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the restriction is fairly easy to work around for booleans, but finitely many booleans is not enough < 1766260401 964745 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :They don't mention inigos/exponential decay or Welford's algorithm, so I don't think that they were doing any of the background research that might lead one to want this sort of language feature. They certainly don't understand that an efficient implementation would have to *summarize history*; Claude's implementation keeps full history instead. < 1766260450 712597 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :you could also work around the restriction by allocating continuously in order to avoid ever having to assign to a variable more than once < 1766260461 890427 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :And the issues around loops suggest that they don't know about probabalistic programming and how that's normally solved via sampling strategies. < 1766260488 673592 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :actually, there's a neat reverse summarisation trick, but it only works if you have arbitrary-precision rationals < 1766260561 702258 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : They don't mention inigos/exponential decay or Welford's algorithm, so I don't think that they were doing any of the background research that might lead one to want this sort of language feature. ← I think this is expecting too much, human-created esolangs also often don't know the mathematical basis and are naively implemented < 1766260649 426145 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :e.g. look at https://esolangs.org/wiki/Feed_the_Chaos, I actually *did* the research into implementing that in an optimised way, but I didn't write an interpreter that uses it < 1766260705 328089 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: I'm not trying to be mean. I'm genuinely trying to understand what they did. I know that asking them "How did you make this?" is futile. < 1766260748 470638 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: from my point of view, what I'm trying to understand is "is this the sort of article we want on the wiki or not" and I don't know the answer, so I'm exploring subquestions < 1766260811 987117 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh, sure. I mean, yes. But we'd delete it if it were a copyright violation. The policy wags the enforcement. < 1766260863 539581 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :LLMs are simulators. Claude will simulate an entire menagerie of computer-science theories if given space and time. It will even implement them in code. But that doesn't imply Naur-style theory building. < 1766260934 856490 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :even bad ideas can be inspirational sometimes: IMAGERY is clearly ridiculous but it got me thinking < 1766260999 112830 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :specifically the rule 110 example: I was trying to work out an esolang that, given a picture of a 1D cellular automaton history, would expand it to produce more history lines (without being told what the automaton actually is) < 1766261003 696232 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :an that would give you a TC language < 1766261085 964173 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sure. And I won't pressure you into deleting this or any other slop page. I just want to stress: Claude doesn't have bad ideas. Claude doesn't have ideas. We don't actually have Conway's Law and etc. without Naur's theory-building; we do actually need *people* to have the ideas at hand. < 1766261237 587018 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: so I like to compare LLMs to random number generators < 1766261282 786507 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :if you ask an LLM to try to find an input that makes a program crash, this is to me conceptually similar to fuzz-testing, except that the LLM weights its attempts in a way that might or might not be useful < 1766261333 277029 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :on codegolf stack exchange, we were debating a couple of situations in which a program had defined all possible esolangs (by seedably generating them randomly, sort-of like Seed but it generates the interpreter rather than the program) < 1766261344 82767 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :afl also does weights. Or I suppose it does weighted paths. It rewards itself for exploring new paths, for finding crashy paths, and maybe one or two other scenarios. < 1766261379 494621 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :do those languages exist or not? (at the time, it mattered for CGCC rules) My argument was "the language is created at the point that a human sees it and decides that it is interesting" < 1766261410 350891 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :all the possible languages were there, but the creative step is deciding which particular ones are worth investigating < 1766261460 366366 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and I think LLM-generated "ideas" are similar: the LLM isn't having an idea, but sometimes its output inspires an idea in a human reading it, now the idea has been had (even if it didn't occur organically) < 1766261488 508427 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Tangent: https://lobste.rs/s/oysxby/functional_genetic_programming is probably the best paper for folks wanting to use ML to generate functional programs. It covers rewards, genes, tournament schedules, all sorts of goodies. < 1766261508 240901 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Well, yeah. It's inception. < 1766261586 285956 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The LLM is a pile of memes. We shake it and ask it for some memes, giving it a seed to grow from. It gives us likely memes. We don't really think of the output as memetic because the model's large enough to have learned grammar. < 1766261598 443733 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: something that's really been fascinating me recently is "there have been a lot of impressive-sounding claims for what LLMs can do recently – how many of the impressive LLM results could be reproduced using a smart fuzzer instead?" < 1766261642 210863 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :The problem is that those memes are average, laundered, corporate-approved. What is OpenAI going to tell you besides blandness that is, in terms of sentiment, neutral-to-slightly-positive about OpenAI? < 1766261664 278921 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it seems to me like many apparent LLM successes can be explained using a mixture of fuzzing and plagiarism, but I'm interested in whether they contribute anything beyond that < 1766261670 712866 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: It's all search. That's a Bitter Sublesson. < 1766261689 674032 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: which meaning of "search" are you using here? < 1766261743 163576 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :TBH I'm not even seeing the successes. LLMs are just larger variants of pre-existing language models. I'm worried by the fact that people seem to think that these outputs are good instead of average. < 1766261780 35701 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Like, *the* meaning. Search trees. Search spaces. All verification is proof search, which is grammatical tree search. < 1766261787 793911 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(I have been thinking about the bitter lesson quite a bit, though – the original version of it seems plausible but it seems to have been misinterpreted by many AI companies, e.g. they seem to be interpreting it as "more training data will make the AI smarter" and I think that's neither true nor a correct interpretation) < 1766261823 83261 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I have been using "search-based AI" to distinguish it from the neutral network / machine learning style of AI < 1766261831 406412 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :using the term, that is < 1766261852 987842 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Almost nobody's actually read the Bitter Lesson. I happen to know it by heart, mostly because I'm tired of people getting it wrong. In particular, all it can really tell you is that you're working at too-high a level of abstraction and you'll never make artificial humans that way, which is not what AI researchers ever want to hear. < 1766261875 534434 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I read it (because I saw people talking about it and decided to go to the original source) < 1766261900 763660 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I am not sure whether it's right or not, but suspect that if it is right it is narrow in application < 1766261955 633864 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :in any case, I think it's very debatable whether any AI output is actually good – but indisputable that a large number of people believe it to be good which is an interesting fact on its own to analyze < 1766261957 97960 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I don't see a big difference at a high level. Like, I believe NNAEPR: Neural Nets Are Essentially Polynomial Regression. But also, LLM interpretability tells us that Transformers can count how many characters are left in a line and how many characters each token will cost, as well as other sorts of counters. Also they evolve trigonometric tools and convolutional tools. < 1766262002 756430 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :And the Bitter Lesson papers over all of that neatly by simply saying that it's Moore's Law or equivalent scaling to blame. It's not the fault of the researchers; rather, it's more like good software engineering practice is also good ML practice. Update your machines and forward-port your code to newer libraries. < 1766262064 514927 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Biologists would tell us that it's an example of supernormal stimulus; the LLM stimulates us like a chat converation would, but *moreso*. < 1766262089 195188 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :one thing I've been looking at recently is double-dummy solving in bridge: this is a game tree search with an objectively correct answer, and modern dummy double solvers can search the entire tree in a second or two < 1766262096 349770 :impomatic!~impomatic@host165-120-250-174.range165-120.btcentralplus.com JOIN #esolangs * :[https://web.libera.chat] impomatic < 1766262111 906427 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but that requires lots of optimisations to make it work, a naive approach (even using good algorithms) can take tens of seconds or a few minutes < 1766262158 610986 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :My analysis here (https://awful.systems/post/5000835) is that humans prefer memes to original thoughts; if given the chance to think for ourselves or to be part of a hivemind, most humans prefer the latter. I could speculate that it's easier or conditioned or cultural or etc. but the fact that it happens is sufficient for me for now. < 1766262166 993627 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :just leaving this to Moore's Law is a possibility, *but* there are use cases where it would need to be several orders of magnitude faster (milliseconds or microseconds) and I'm wondering whether it would make sense to try to develop those optimisations < 1766262194 63795 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I agree that is true but also suspect that I am an exception < 1766262306 541907 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I think some optimizations do need to be engineered. Parallelizing, for example. Moore's Law and its friends are really only good explanations over multiple decades, not over one or two years. < 1766262534 575887 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: BTW, I'm not going to pull it up, but you might find the Bitter Lesson examples compelling. Chess is one of them IIRC. In a real sense, the biggest difference between a modern image classifier like CLIP and the 1950s image classifiers is the number of pixels and neurons and features and categories; the decades have given us compute and RAM. < 1766262590 572289 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :"Deep Learning" really just the fact that in the 1990s we could afford more than one layer of neurons. It turns out that vision-shaped models, like image classifiers, *always* develop the first couple layers into general-purpose convolutional tools; but we didn't know that then. < 1766262627 983649 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: I think the chess example is interestingly clarifying: improvements in search depth made position evaluation less important (but it was still pretty important), but things like observing symmetries gives a permanent speedup that isn't lost to the bitter lesson < 1766262761 28607 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: I'm trying to remember which grandmaster said, "I only look ahead one move -- but it's a really good one!" We're starting to understand that, to a reasonable degree, a large Markov model will have internal predictions for multiple subsequent tokens, even though those predictions could be spoiled by a surprising token. < 1766262816 739624 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Position evaluation is really important, but it requires more than one scalar. Say, a vector space with multiple scalars for multiple facets. Say, a 180k-dimensional latent space with an embedding that has learned quite a few simple data-manipulating circuits~ < 1766262865 25123 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :A *really good* lookahead, even only one move, might as well be a lookahead that speculates on more than one move. I have no idea how to square this with traditional ways of thinking about chess other than to suggest that humans also do tree search by default. < 1766262872 322133 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ACTION sucks at chess < 1766262907 503639 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :korvo: chess is interesting in a way because a really good neural network evaluator can play pretty well without any lookahead, *and* a really good lookahead algorithm can play at above grandmaster level even with a seriously flawed evaluator < 1766262938 242594 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but the current top chess engines combine both, and thus only other top chess programs can realistically compete against them < 1766262962 603463 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's kind-of unclear what half of this situation the bitter lesson is supposed to apply to < 1766262972 813217 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Yeah. More generally and topologically, we can't summarize an arc/sector of a hyperbolic system just by looking at it and describing what we see when zoomed out and blurry. < 1766263028 978874 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Maybe it's *wrong* to use a (pseudo?) Euclidean embedding for LLMs. There's too much detail to capture. < 1766263078 107763 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Or maybe intelligence (whatever it may be) is inherently emergent from composition and a hybrid engine is always going to have a higher capacity for benchmark performance. < 1766263100 163201 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the situation with top Go engines is even more interesting – they play much better than the top humans in almost every respect, but there is a counterstrategy using a series of terrible moves that the engines have serious trouble beating < 1766263108 356509 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But, like, that's part of what makes the lesson so Bitter; time spent wondering about this is time spent not upgrading hardware or OS or libraries. < 1766263173 683089 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the basic issue is that one important strategic factor in Go is the number of empty intersections next to a connected group of stones, and you beat the engine by trying to engineer it into creating a group of stones that's approximately annulus-shaped < 1766263212 823895 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the developers have theorised that their neural networks are really bad at counting the number of intersections next to an annulus because it doesn't have a clear end to count from < 1766263237 742998 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(and even adding this sort of group to the training data hasn't helped much) < 1766263451 511561 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Maybe it just takes longer than we think. Like, up until last year, we weren't even using the correct projections for how long gradient descent takes to get good, and that's something that was proven to be good (and biologically analogous to the Hebbian principle) a long time ago. < 1766263467 643910 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Or maybe it takes a bigger network than we think. Like, humans aren't perfect at Go either. > 1766263545 194596 PRIVMSG #esolangs :14[[078ial14]]4 M10 02https://esolangs.org/w/index.php?diff=170913&oldid=169517 5* 03Ractangle 5* (+30) 10/* Syntax */ < 1766263546 723542 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(to clarify, because I wasn't explicit: the errors made by the Go engines in that situation are clearly related to miscounting the intersections) < 1766263605 125954 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Oh! Very surprising and curious. < 1766263821 884941 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :ais523: so what happened to that? did the devs manage to improve the baduk engines to at least counter that one strategy? how did the arms race continue? < 1766263863 40365 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :it's not clear to me if there'd be just a very few specific strategies found and after that the engine becomes unbeatable by humans, or if there'd be new strategies found for countering each engine for a long time < 1766264519 717551 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: so I don't have up-to-the-minute information on this, but the last time I checked, they added a lot of patterns using that strategy to the training data, and the humans had fought back by modifying the inside of the annulus slightly so that it didn't match the patterns in the training data any more < 1766264536 174856 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I assume that could very easily get into an arms race but don't know the result < 1766265644 213324 :b_jonas!~x@catv-80-98-84-202.catv.fixed.one.hu PRIVMSG #esolangs :I mean if the problem were really that the neural nets are "bad at counting the number of intersections next to an annulus because it doesn't have a clear end to count from" that sounds like the devs could help that specifically < 1766265710 427572 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :a "this is the number of intersections next to the big annulus-shaped group" input? the problem is that big annulus-shaped groups don't normally arise naturally, so it's unclear what should be done in cases where there are none of them, or two < 1766265720 902368 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and you would have to somehow define them objectively < 1766265748 376854 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :otherwise neither your training nor your inference will be able to supply the inputs properly < 1766265865 773244 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1766268033 680638 :impomatic!~impomatic@host165-120-250-174.range165-120.btcentralplus.com QUIT :Quit: Client closed