< 1569974422 330898 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1569975085 278198 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 265 seconds < 1569976132 755104 :user24!~user24@p200300C3AF001771CC402F2B1DB3208D.dip0.t-ipconnect.de QUIT :Quit: Leaving < 1569976333 80692 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1569976694 982250 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1569977153 239265 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569977391 655397 :Sgeo!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1569977553 560278 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1569977752 72730 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 245 seconds < 1569978285 819975 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : note: I accidentally stripped "r" and "\\" characters rather than "\r" characters, so the "\r" characters remain, and those make HackEso truncate the output. I wonder if any wisdom has one. <-- i vaguely think we removed some of those from wisdom at one point > 1569979147 604645 PRIVMSG #esoteric :14[[07Resource14]]4 10 02https://esolangs.org/w/index.php?diff=66421&oldid=66416 5* 03A 5* (+226) 10/* Salary program */ Draft a proper Quine program (add a cheating quine just for the sake of competeness) > 1569979994 308282 PRIVMSG #esoteric :14[[07List of quines14]]4 M10 02https://esolangs.org/w/index.php?diff=66422&oldid=62106 5* 03A 5* (+314) 10/* Real Quines */ > 1569980030 615286 PRIVMSG #esoteric :14[[07List of quines14]]4 M10 02https://esolangs.org/w/index.php?diff=66423&oldid=66422 5* 03A 5* (+1) 10/* =Resource */ Whoops a typo < 1569980216 987104 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 240 seconds > 1569980239 462934 PRIVMSG #esoteric :14[[07List of quines14]]4 10 02https://esolangs.org/w/index.php?diff=66424&oldid=66423 5* 03A 5* (+29) 10Well, pick out a self-referential cheating quine and add a quine (a placeholder) > 1569980334 33497 PRIVMSG #esoteric :14[[07List of quines14]]4 M10 02https://esolangs.org/w/index.php?diff=66425&oldid=66424 5* 03A 5* (+511) 10/* Keg */ Fill in the placeholder < 1569980882 549421 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1569981304 347959 :MDead!AdiIRC@c-174-55-101-236.hsd1.pa.comcast.net JOIN :#esoteric < 1569981407 406417 :MDude!AdiIRC@c-174-55-101-236.hsd1.pa.comcast.net QUIT :Ping timeout: 265 seconds < 1569981415 826691 :MDead!AdiIRC@c-174-55-101-236.hsd1.pa.comcast.net NICK :MDude < 1569982148 1969 :imode!~linear@unaffiliated/imode PRIVMSG #esoteric :https://hatebin.com/opaqukmqhr added variable fetching. > 1569982152 912891 PRIVMSG #esoteric :14[[07Volatile14]]4 M10 02https://esolangs.org/w/index.php?diff=66426&oldid=62820 5* 03A 5* (+3) 10/* Volatile instruction minimalization */ < 1569982371 382592 :int-e!~noone@int-e.eu PRIVMSG #esoteric :oerjan: Oh communication with the Pa'anuri may be just around the corner. < 1569982965 639995 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :one may hope > 1569983172 724619 PRIVMSG #esoteric :14[[07Resource14]]4 M10 02https://esolangs.org/w/index.php?diff=66427&oldid=66421 5* 03A 5* (+257) 10/* Useful Instructions (I am not sure whether they are useful in restricted source contests though) */ > 1569983393 725860 PRIVMSG #esoteric :14[[07Resource14]]4 M10 02https://esolangs.org/w/index.php?diff=66428&oldid=66427 5* 03A 5* (+419) 10/* Idea */ > 1569983508 378928 PRIVMSG #esoteric :14[[07Resource14]]4 M10 02https://esolangs.org/w/index.php?diff=66429&oldid=66428 5* 03A 5* (+139) 10/* Idea */ > 1569983569 298542 PRIVMSG #esoteric :14[[07Resource14]]4 M10 02https://esolangs.org/w/index.php?diff=66430&oldid=66429 5* 03A 5* (+52) 10/* Idea */ < 1569986242 164939 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`? tea < 1569986243 66008 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Tea is concentrated fuel made by distilling occult herbs in a silver alambic. Americans attempted to reduce its potency by dumping some in the Ocean. < 1569986432 545665 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :arseniiv: ah it's the french spelling < 1569986441 490375 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I am drinking tea. < 1569986459 497021 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well that's how this started... < 1569986466 351580 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oo so long ago < 1569986484 82955 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This is green tea, not oolong. < 1569986580 808783 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`? oolong < 1569986581 695348 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :oolong? ¯\(°​_o)/¯ > 1569986885 819467 PRIVMSG #esoteric :14[[07Resource14]]4 10 02https://esolangs.org/w/index.php?diff=66431&oldid=66430 5* 03A 5* (+717) 10Put my submission here (feel free to steal it) < 1569986918 65876 :int-e!~noone@int-e.eu PRIVMSG #esoteric :object oriented spaghetti code? > 1569988591 573840 PRIVMSG #esoteric :14[[07Resource14]]4 M10 02https://esolangs.org/w/index.php?diff=66432&oldid=66431 5* 03A 5* (+154) 10/* Idea */ > 1569988664 584656 PRIVMSG #esoteric :14[[07Resource14]]4 M10 02https://esolangs.org/w/index.php?diff=66433&oldid=66432 5* 03A 5* (+102) 10/* Idea */ < 1569988706 976182 :hppavilion[1]!~omegasome@172.98.86.92 JOIN :#esoteric < 1569988889 353786 :MDude!AdiIRC@c-174-55-101-236.hsd1.pa.comcast.net QUIT :Ping timeout: 265 seconds < 1569989336 976801 :hppavilion[1]!~omegasome@172.98.86.92 QUIT :Ping timeout: 240 seconds < 1569991152 177176 :sftp!~sftp@unaffiliated/sftp QUIT :Ping timeout: 245 seconds < 1569991571 563280 :sftp!~sftp@unaffiliated/sftp JOIN :#esoteric < 1569991619 152122 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric > 1569991666 828799 PRIVMSG #esoteric :14[[07Resource14]]4 10 02https://esolangs.org/w/index.php?diff=66434&oldid=66433 5* 03A 5* (+38) 10/* Cat program */ < 1569991826 526606 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 276 seconds < 1569992037 145577 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 240 seconds < 1569992206 868184 :kspalaiologos!~kspalaiol@user-5-173-152-218.play-internet.pl JOIN :#esoteric < 1569992299 6249 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1569992542 991685 :kspalaiologos!~kspalaiol@user-5-173-152-218.play-internet.pl PART #esoteric :"Leaving" < 1569992560 672408 :kspalaiologos!~kspalaiol@user-5-173-152-218.play-internet.pl JOIN :#esoteric < 1569992585 957452 :kspalaiologos!~kspalaiol@user-5-173-152-218.play-internet.pl PRIVMSG #esoteric :My IRC client kicked me for some reason, sorry < 1569992633 61139 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`5 w < 1569992635 45420 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :1/2:free//A free structure is one that has no nontrivial identities, except algebraist phrase that in a much fancier way with morphisms. \ patent//Patent is an adjective which means that something is painfully obvious. Often used to rightfully mock people that do not see it. \ vacuum tube//After the London terrorist attacks of 2005, the Underground was completely evacuated. Without air resistance, the trains would go at blazingly fast speeds between < 1569992646 271604 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`n < 1569992648 831867 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :2/2: the terminals. This is called a vacuum tube. Sadly, current technology doesn't let passengers travel that way. \ misspellings of croissant//misspellings of crosant? ¯\(°​_o)/¯ \ gey//I know nothing about Gey, sir. < 1569992663 381242 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`cwlprits free < 1569992665 7921 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :b_jonäs < 1569992673 928444 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Golly. I never heard it phrased quite that way before. < 1569992730 824278 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`cwlprits vacuum tube < 1569992732 295626 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :wob_jonäs < 1569992742 135764 :kspalaiologos!~kspalaiol@user-5-173-152-218.play-internet.pl PRIVMSG #esoteric :@quote shachaf < 1569992742 190539 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :shachaf says: i they are so love easy threads < 1569992803 385905 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Does "every vector space is free" just mean "every vector space has no nontrivial identities"? < 1569992884 183798 :int-e!~noone@int-e.eu PRIVMSG #esoteric :hrm, what does that even mean. is this an attempt to say "every vector space has a basis" and sound categorical? < 1569993138 908864 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, "has a basis" means "is free". < 1569993153 810981 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or perhaps the other way around. < 1569993180 373189 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think it's a pretty good perspective and not just categorical mumbo jumbo? < 1569993188 122321 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(Obviously it's also categorical mumbo jumbo.) < 1569993198 65585 :int-e!~noone@int-e.eu PRIVMSG #esoteric :"free" has too many meanings < 1569993238 233617 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So I don't appreciate using it when there's a more precise term. < 1569993287 553810 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Aren't they all the same meaning? < 1569993297 938695 :int-e!~noone@int-e.eu PRIVMSG #esoteric :s/precise/specific/ < 1569993321 969473 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think this is one of the few clearly good bits of category things. < 1569993323 159754 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I don't have to think about what the structure we're completing is when you say "vector space basis". < 1569993339 433037 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm not saying not to talk about bases. < 1569993339 744795 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Wheras "free" adds a multitude of degrees of freedom, pun not intended. < 1569993357 831551 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I think the main reason that people like vector spaces so much is that they're free. < 1569993376 475 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you found another structure where all the things you care about are free, it could be similarly useful. < 1569993436 52350 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(You can only express linear maps in terms of matrices and compute with them because vector spaces have bases, of course.) < 1569993456 986859 :imode!~linear@unaffiliated/imode QUIT :Ping timeout: 240 seconds < 1569993484 789618 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: So what if we have a vector space over GF(2)... then v+v = 0 for all vectors v. How is that "free"? < 1569993631 817880 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's free in the category of vector spaces over GF(2), of course. < 1569993640 91835 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess I should say what "free" means. < 1569993736 485013 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"A vector space V is free over a set X" means that for any vector space U, linear maps : V -> U naturally correspond to functions : X -> U < 1569993783 33734 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So you're free within the confines of a vector space. Yay. < 1569993791 626040 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(for a fixed field) < 1569993811 406313 :int-e!~noone@int-e.eu PRIVMSG #esoteric :*and* you've just defined a basis < 1569993841 504593 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, "free" means it has a basis. < 1569993868 201094 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think it's pretty reasonable for "free" to be defined with respect to linear maps? < 1569993896 258230 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can take the same definition for groups and group homomorphisms and it'll give you free groups. < 1569993937 48362 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( a free abelian group of order 2. ) < 1569993951 240300 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or say a free monoid [A] over a set A is one where for any monoid M, monoid homomorphisms : [A] -> M correspond to functions : A -> M < 1569994030 80248 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which just means it's defined elementwise, of course. < 1569994038 234816 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I guess one source of my dislike is in the statement you started out with < 1569994067 955184 :int-e!~noone@int-e.eu PRIVMSG #esoteric :"every vector space is free" means that freeness doesn't tell us anything about vector spaces at all. so there's no need to talk or think about it. < 1569994208 14459 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But "every vector space has a basis" means the same thing about having a basis. < 1569994264 701179 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'd say that freeness is a property, maybe desirable or maybe not, that you can talk about vector spaces having (as well as many other structures). Then you can prove the theorem that every vector space has this property. < 1569995450 871774 :kspalaiologos!~kspalaiol@user-5-173-152-218.play-internet.pl QUIT :Ping timeout: 240 seconds < 1569996030 190592 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`? vector space < 1569996031 476512 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :A vector space is just a module over a field. < 1569996155 591286 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`? module < 1569996156 504121 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :A module is like a vector space, except with a ring instead of a field. < 1569996499 2475 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Nite < 1569998430 217034 :hppavilion[1]!~omegasome@172.98.86.92 JOIN :#esoteric > 1569999598 134149 PRIVMSG #esoteric :14[[07Resource14]]4 M10 02https://esolangs.org/w/index.php?diff=66435&oldid=66434 5* 03A 5* (+187) 10/* I am a palindrome. Are you? */ < 1570001449 675426 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric > 1570001563 354977 PRIVMSG #esoteric :14[[07Resource14]]4 10 02https://esolangs.org/w/index.php?diff=66436&oldid=66435 5* 03A 5* (+182) 10/* Cat program */ < 1570001597 80546 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 240 seconds > 1570003340 31172 PRIVMSG #esoteric :14[[07Resource14]]4 10 02https://esolangs.org/w/index.php?diff=66437&oldid=66436 5* 03A 5* (+659) 10/* Cat program */ < 1570003571 709514 :kritixilithos!~kritixili@unaffiliated/kritixilithos JOIN :#esoteric < 1570003597 446568 :kritixilithos!~kritixili@unaffiliated/kritixilithos PRIVMSG #esoteric :in case you haven't heard of it, https://www.rule30prize.org/ < 1570003675 356167 :kritixilithos!~kritixili@unaffiliated/kritixilithos QUIT :Client Quit < 1570003703 130702 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :those are interesting < 1570003707 937500 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i like the third one > 1570004612 260797 PRIVMSG #esoteric :14[[07Talk:Volatile14]]4 10 02https://esolangs.org/w/index.php?diff=66438&oldid=66420 5* 03Akangka 5* (+8) 10/* Pushing 1 deterministically is impossible. */ < 1570005658 270276 :cpressey!~cpressey@5.133.242.4 JOIN :#esoteric < 1570005767 904438 :kspalaiologos!~kspalaiol@user-5-173-154-32.play-internet.pl JOIN :#esoteric < 1570010727 413242 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1570010950 810227 :Sgeo__!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1570012439 869634 :arseniiv!~arseniiv@95.105.7.116.dynamic.ufanet.ru JOIN :#esoteric < 1570014425 755657 :ivzem[m]!ivzemmatri@gateway/shell/matrix.org/x-abtqtgogqeavwuix QUIT :Remote host closed the connection < 1570014426 342517 :wmww!wmwwmatrix@gateway/shell/matrix.org/x-qaxwgsvpeaytkcru QUIT :Read error: Connection reset by peer < 1570014427 64387 :Camto[m]!camtomatri@gateway/shell/matrix.org/x-tmgrnkjqwfxlgxbc QUIT :Remote host closed the connection < 1570014445 877727 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-uapbynddkhsuhhtt QUIT :Read error: Connection reset by peer < 1570014467 169274 :xylochoron[m]!xylochoron@gateway/shell/matrix.org/x-efzdeegohspjmutv QUIT :Remote host closed the connection < 1570015087 631729 :Camto[m]!camtomatri@gateway/shell/matrix.org/x-kqezcpqvqrvnvnoo JOIN :#esoteric > 1570016137 201360 PRIVMSG #esoteric :14[[07This=That14]]4 M10 02https://esolangs.org/w/index.php?diff=66439&oldid=57004 5* 03Chris Pressey 5* (+19) 10See also also > 1570016174 553716 PRIVMSG #esoteric :14[[07This=That 2.014]]4 M10 02https://esolangs.org/w/index.php?diff=66440&oldid=57028 5* 03Chris Pressey 5* (+14) 10See also also > 1570016234 448555 PRIVMSG #esoteric :14[[07This=That 2.014]]4 M10 02https://esolangs.org/w/index.php?diff=66441&oldid=66440 5* 03Chris Pressey 5* (+2) 10bullets > 1570016287 65706 PRIVMSG #esoteric :14[[07This=That 3.014]]4 M10 02https://esolangs.org/w/index.php?diff=66442&oldid=57027 5* 03Chris Pressey 5* (+47) 10See also < 1570016342 245217 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :what < 1570016351 302555 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :how many versions are there < 1570016368 971134 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :and why doesn't he just extend the first one < 1570016382 364800 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wiki has 3 < 1570016447 121156 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I only remembered there being 1, but that was a long time ago. I had a dim memory of there being a Python implementation of it, but I don't see any implementations of any of them. < 1570016449 822698 :wmww!wmwwmatrix@gateway/shell/matrix.org/x-ldgcrbamjzopshmi JOIN :#esoteric < 1570016449 909257 :xylochoron[m]!xylochoron@gateway/shell/matrix.org/x-oprrrwpesznuihmf JOIN :#esoteric < 1570016450 754174 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-xdznqteffladiyny JOIN :#esoteric < 1570016457 605338 :ivzem[m]!ivzemmatri@gateway/shell/matrix.org/x-pfcbxdhmszaevdrx JOIN :#esoteric < 1570016617 389336 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :1.0 is by PuzzleHunter84 (in 2009), 2.0 is presumably by PuzzleHunter84 too (also in 2009), 3.0 is presumably by A (in 2018) < 1570016889 661521 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I think I must've been thinking of a different language < 1570017002 901785 :atslash!~atslash@46.188.0.82 QUIT :Ping timeout: 240 seconds < 1570017018 762360 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Oh wow, A is still active... < 1570017040 954906 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1570017055 386173 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i am nur surprised < 1570017056 881637 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I'm still ignoring A related esowiki messages) < 1570017082 540067 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :good choice < 1570017083 521221 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(It keeps me sane. Well, saner.) < 1570017164 710676 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :it's a shame, though < 1570017195 118356 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :somebody with that amount of energy could contribute quite good stuff if he just joined the community > 1570018221 973704 PRIVMSG #esoteric :14[[07This=That14]]4 10 02https://esolangs.org/w/index.php?diff=66443&oldid=66439 5* 03Chris Pressey 5* (+852) 10Attempt to describe the evaluation semantics, based on talk page. < 1570018254 176128 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 JOIN :#esoteric > 1570018372 940176 PRIVMSG #esoteric :14[[07This=That14]]4 M10 02https://esolangs.org/w/index.php?diff=66444&oldid=66443 5* 03Chris Pressey 5* (+29) 10+cat Unimplemented < 1570018439 819239 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric : Good morning and happy October. Say I have a semi-Thue grammar with the following property: for every word w, it is not possible to derive w in zero or more steps starting from w. Can such a grammar be Turing-complete? ← can't you just have every production add a junk element, together with extra productions to swap the junk element to < 1570018440 330838 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :the end of the memory space? < 1570018471 874110 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :then a perfect loop is always impossible because there's a total ordering on possible memory spaces that you can never move backwards through, and yet the computational class isn't affected at all < 1570018747 36654 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Oh I missed an easy string rewriting question with antique terminology ;) < 1570018769 989736 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :semi-Thue grammars are more interesting than straightforward rewriting < 1570018782 464563 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ais523_: Probably. I later thought of it as being equivalent to a Tag system whose queue never shrinks and always eventually grows. I think it can still be TC because you can map a "nop" in the TM to an infinite number of states of the Tag system. < 1570018793 585457 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :they're nondeterministic in the mathematical sense: whenever there are multiple rewrites possible, they always pick the one that makes the program not halt, if possible < 1570018803 324609 :shachaf!~shachaf@unaffiliated/shachaf QUIT :Ping timeout: 245 seconds < 1570018813 971111 :shachaf!~shachaf@unaffiliated/shachaf JOIN :#esoteric < 1570018832 938978 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :unfortunately, the esolang Thue derived from them missed that notion of "nondeterministic" and it's been a pain to clarify what's meant ever since < 1570018836 403758 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: string rewriting systems *are* semi-Thue systems. < 1570018845 600941 :int-e!~noone@int-e.eu PRIVMSG #esoteric :With non-determinism and everything. < 1570018861 834695 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :int-e: well you can have a string-rewriting system with a deterministic rule for where to replace < 1570018869 21594 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :I think that'd fail to meet the definition of a semi-Thue system < 1570018880 33931 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: Sure, that would be imposing a strategy. < 1570018887 27353 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(a deterministic strategy) < 1570018905 724416 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :there are probably rewriting systems that are TC with a left-first imposed strategy but sub-TC when evaluated mathematically-nondeterministically < 1570018951 85986 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :(I remember oerjan's proof that Fractran is sub-TC if you evaluate the program in a random order rather than left to right) < 1570019005 21539 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The lambda calculus *per se* doesn't specify a strategy either. To me, it feels a lot less like a programming language that way, a lot more like a proof system. < 1570019009 217156 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1570019028 397752 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :typed lambda calculus is confluent < 1570019036 2929 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net JOIN :#esoteric < 1570019041 997052 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: Well, when I say "rewriting system" there's no strategy by default. < 1570019042 442385 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :untyped lambda calculus "feels" confluent to me in some generalized sense, but I'm not sure how to define it < 1570019082 397886 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I've worked in term rewriting for 8 years. I can't help using the terminology.) < 1570019084 82690 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Pretty sure untyped \c is confluent too, but I may be misremembering < 1570019086 742643 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :fwiw, the details of the evaluation strategy are pretty relevant in some cases; it was one of the more interesting (and arguably solvable) problems to come out of the work into Feather < 1570019124 546215 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :the question being, can you write a lambda-calculus-with-continuations-like language which admits a self-interpreter with eigenratio 1 (without cheating) < 1570019146 559835 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: untyped lambda calculus (with beta reduction and alpha conversion, and possibly eta reduction) is confluent... what's your trouble with defining that? < 1570019167 374026 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: It gets murky if you don't have explicit alpha conversion... then it becomes confluent modulu alpha conversion. < 1570019173 967679 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :the main issue in the naive way of doing it is that you can have terms like (\x.\y.y)((\a.a(a))(\a.a(a))) < 1570019175 509766 :int-e!~noone@int-e.eu PRIVMSG #esoteric :modulo. < 1570019194 888710 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :this is not an infinite loop, but it's easy to get stuck in one if your evaluation order is wonky < 1570019247 721525 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :(in Unlambda, ``ki```sii``sii: wow, this may be a case where the Unlambda is easier to read than the lambda calculus version…) < 1570019278 881701 :kpspalaiologos!~kspalaiol@176.221.122.71 JOIN :#esoteric < 1570019284 163165 :int-e!~noone@int-e.eu PRIVMSG #esoteric :confluence just means that if there are reductions s ->* t and s ->* u from a term s then there are further reductions to a common term v: t ->* v and u ->* v < 1570019285 422180 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :actually it's non-obvious to me how you define confluence in a language which has infinite loops < 1570019303 475071 :int-e!~noone@int-e.eu PRIVMSG #esoteric :confluence doesn't rely on normal forms in any form or shape < 1570019306 186388 :kpspalaiologos!~kspalaiol@176.221.122.71 QUIT :Client Quit < 1570019339 688785 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :this is may-equivalence, right? i.e. if there's at least one reduction from s to t, and at least one from s to u, there's at least one from t to v and at least one from u to v < 1570019363 276563 :int-e!~noone@int-e.eu PRIVMSG #esoteric :sure, reduction is non-deterministic. < 1570019370 16975 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :the issue with may-equivalence is that although it's mathematically neat, very few languages work that way in practice (i.e. by effectively iterating through all possible evaluation orders) < 1570019436 241842 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Well, if their underlying model is confluent, they kind of don't have to... < 1570019443 658364 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric : int-e: perhaps they're malbolge instructions ← those go backwards in asciibetical order, not forwards, also they're pretty easy to compress by normalizing and then compressing that < 1570019483 509397 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: You usually don't care about confluence either. You care about related properties like uniqueness of normal forms (a ->* b and a ->* c with b and c in normal form implies b = c (modulo alpha, probably)) < 1570019504 587466 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric : Well, if their underlying model is confluent, they kind of don't have to... ← the whole issue is that the implementations have a tendency to get stuck in a loop that the language semantics can break them out of, but the choices of the interpreter don't let them < 1570019565 837131 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :perhaps you could use an entirely random evaluation order to prevent ever getting stuck in a local minimum, but I suspect that would lead to memory leaks and the like that would mean that a self-interpreter would necessarily fail on some programs < 1570019601 965247 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: it did go backwards, and compression was quite good really... from 30MB to 1MB with xz isn't shabby at all (interestingly preprocessing made no difference at all). < 1570019660 28409 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :any compression algo that can work on digraphs will, when applied to Malbolge code, quickly realise that any particular character can only ever be followed by one of eight other characters < 1570019679 258001 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :so it'll effectively end up operating on a normalized-ish form anyway < 1570019884 300048 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: I still expected a larger difference than a couple of hundred bytes (or maybe it was 1k). But I've deleted the file. < 1570019897 782647 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :...so a Malbolge program of length n has at most 3n + O(1) bits of information? < 1570019911 947335 :xkapastel!uid17782@gateway/web/irccloud.com/x-nqccczqoyyddulbb JOIN :#esoteric < 1570019921 67363 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :assuming you don't exploit the bug in the parser that lets you sneak arbitrary data at the end of the code, yes < 1570019935 902096 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :it's actually 3n bits exactly, no O(1) needed < 1570019952 266037 :hppavilion[1]!~omegasome@172.98.86.92 QUIT :Ping timeout: 245 seconds < 1570019955 345356 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Ah, I wasn't sure if you were restricted which character you could start with or not < 1570019966 274874 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :(the O(1) shows up in practical compression algorithms because that's how much space they need to figure out/record the rules of Malbolge) < 1570020071 568240 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :incidentally, one day I decided to make a Stack Overflow account and answer a couple of Malbolge questions < 1570020080 403012 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :there aren't very many, though < 1570020108 609729 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523_: Anyway, back to the previous topic, a rewriting concept that connects lambda calculus to implementations is that of a strategy -- which carves out a deterministic relation from the non-deterministic reduction ->. A strategy can be normalizing--meaning that if t has a normal form wrt. ->, then following the strategy will reduce to that normal form as well. There are even concepts like... < 1570020114 635094 :int-e!~noone@int-e.eu PRIVMSG #esoteric :..."hyper-normalizing" where you can mix the strategy with the free rewriting relation -> and the normal form is guaranteed to be reached as long as you always eventually apply the strategy (as long as you haven't reached a normal form). This justifies compiler optimizations based on partial evaluation, that is, beta-steps on parts of a program. < 1570020149 652853 :int-e!~noone@int-e.eu PRIVMSG #esoteric :leftmost-outermost reduction is normalizing and unless I'm very much mistaken, hyper-normalizing. < 1570020200 579735 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :the ideal strategy for me would be normalizing in an even stronger sense: given two equivalent programs, applying the strategy to both would eventually reach the same form for both, and they would not thereafter diverge < 1570020206 944997 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :however, I believe that's impossible due to Rice's theorem < 1570020227 77362 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :(or more directly the halting problem) < 1570020293 324309 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :something less strong than that, which might be achievable: a self-interpreter which, given any program's source code, eventually optimizes/specialises itself into an internal state that could have been reached by running the program directly < 1570020297 433320 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Right, you would be able to decide whether a lambda term reduces to I. < 1570020337 540209 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :I think the self-interpreter could maybe be made to work using a "compile then execute" strategy < 1570020623 168921 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :you could do it in an Underload-like language which had some reasonable form of input, I think, simply by using * and a and friends to construct a program using composition and quoting, and then finally evaluating the constructed program as the last thing it did < 1570020665 506167 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 PRIVMSG #esoteric :trying to do it without metacircularity would be much harder, though < 1570020706 806810 :ais523_!93bcc3da@gateway/web/cgi-irc/kiwiirc.com/ip.147.188.195.218 QUIT :Quit: quit < 1570020860 334342 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-2: When you program in a functional programming language but you treat it like a rewriting language (like what Haskell calls "equational reasoning"), I think that thinking about whether your functions terminate is closely related to thinking about confluence. < 1570020882 734794 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(That was addressed to int-e, obviously) < 1570020989 433122 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: not sure I agree < 1570021104 95378 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Well, perhaps not. I've been meaning to try programming more in languages actually built around rewriting (Pure and Maude particularly) to refine that idea. < 1570021148 392979 :int-e!~noone@int-e.eu PRIVMSG #esoteric :hmm Pure (I've heard of Maude) < 1570021191 168655 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Which is actually why I was looking up This=That on the esowiki... I thought it was a fairly simple "equational rewriting" language. But, apparently I misremembed. < 1570021367 16477 :int-e!~noone@int-e.eu PRIVMSG #esoteric :the rewriting based formalism I've actually used intensively is the simplifier in Isabelle/HOL. < 1570021403 672254 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(but that's not meant to be a programming language) < 1570021586 693210 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Pure looks cute at a glance, actually. < 1570021638 878060 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(Maude otoh looked intimidating when I tried to figure out what it is and I still don't really know what it is, except something yadda yadda rewriting blah) < 1570021700 582262 :int-e!~noone@int-e.eu PRIVMSG #esoteric :By which I mean to say that I got scared away, but I don't know whether I'm actually justified in being scared. < 1570022514 285490 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I first saw Maude about a decade ago, was very interested but never actually wrote anything in it, and only recently realized it is the way it is because it comes from a tradition of algebraic semantics, which is rather obscure. < 1570022590 47859 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Operational semantics, denotational semantics, and axiomatic semantics walk into a bar... < 1570022634 424765 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Is that an actual joke. < 1570022643 718892 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Not yet it isn't. < 1570022649 220361 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Maybe someday. < 1570022655 316471 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :go make it one > 1570022702 813162 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Asdfugil 5* 10New user account < 1570022725 267807 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :are there semantics that deal with endless loops in a meaningful way? < 1570022781 539015 :int-e!~noone@int-e.eu PRIVMSG #esoteric :myname: Pure semantics: use bottoms. For impure languages you can produce a stream of observations. > 1570022836 843092 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=66445&oldid=66408 5* 03Asdfugil 5* (+152) 10/* Introductions */ < 1570022851 951260 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(In a way, pure languages are those languages where infinite loops have no meaning.) > 1570022942 263358 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=66446&oldid=66445 5* 03Asdfugil 5* (+60) 10 > 1570022997 251829 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=66447&oldid=66446 5* 03Asdfugil 5* (+15) 10 < 1570023194 703650 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'll also mention Büchi automata (automata that expect an infinite number of inputs) and temporal logic (for stating theorems like "if we start in state S we will always eventually come back to state S") < 1570023352 316625 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: oh wow, https://github.com/agraef/pure-lang/wiki/Rewriting#further-information has a whole list of other languages < 1570023412 105577 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(And the two standard textbooks on term rewriting. Yay. I feel right at home.) < 1570023498 261929 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :\o/ < 1570023644 866716 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I've read Baader & Nipkow (a long time ago), not Terese though. < 1570023709 820502 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Terese is more of a handbook than a textbook anyway. < 1570023744 220243 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(So it makes more sense to study a chapter than to study the whole book.) < 1570024219 722962 :kspalaiologos!~kspalaiol@user-5-173-154-32.play-internet.pl QUIT :Quit: Quit < 1570024249 366583 :kspalaiologos!~kspalaiol@176.221.122.71 JOIN :#esoteric < 1570024325 837335 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :Hello < 1570024671 580264 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :hi kspalaiologos < 1570025271 951898 :Sgeo_!~Sgeo@ool-18b98995.dyn.optonline.net QUIT :Ping timeout: 264 seconds < 1570025776 46008 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 264 seconds < 1570028216 321046 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1570028329 99120 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :one of my wisdoms spawned a discussion about algebra? this is new < 1570028361 268738 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`? < 1570028362 196408 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​? ¯\(°​_o)/¯ < 1570028370 698395 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`wisdom < 1570028371 284943 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​photograph//A photograph is a device for creating photograms. < 1570028526 312221 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :" int-e: well you can have a string-rewriting system with a deterministic rule for where to replace" => such as sed or 1.1 < 1570029190 938454 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :I didn't realise extending logical cells for brainfuck had such impact < 1570029207 311988 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :? < 1570029213 354433 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :can you recommend me decently fast Brainfuck interpreters that I can incorporate into my project? < 1570029226 763275 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :I'm looking mostly for MIT and Apache2 stuff because GPLv3 virus seems risky, lol < 1570029259 727279 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :uh, those aren't usually hard to write fast < 1570029259 805613 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :myname, I've made a tool to extend logical cell size for Brainfuck basically < 1570029273 742624 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :what do you mean by logical cell size < 1570029286 777679 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :so basically < 1570029291 901787 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :two cells are treated logically as one < 1570029299 689220 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :but physically, they are two separate cells < 1570029307 297526 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :why though < 1570029314 362583 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :to get bigger range on numbers that can be stored < 1570029333 148280 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :So, given a Brainfuck program that requires 16 bit cells, you can transform it to a program which requires 8 bit cells? < 1570029335 330797 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :" are there semantics that deal with endless loops in a meaningful way?" => see https://esolangs.org/wiki/(0) , which deals with infinite loops, but not really endless ones (except by making them end) < 1570029337 212272 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :well, depending on your interpreter, numbers can be arbitrarily big < 1570029341 248057 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :Taneb, yes. < 1570029350 406563 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :myname, it depends on the interpreter, so its not portable < 1570029372 163303 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :It can deal with infinite loops of any loop count though < 1570029376 777144 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :if host interpreter uses 16-bit cells you can detect it < 1570029379 938302 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :and pass the correct code < 1570029426 46214 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :Of course that makes it not implementable on a computer, but real computers can't even deal with sequential loops of length 2**64 or distributed parallel loops of length 2**256, so that's to be expected < 1570029495 364011 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i'd say: just write an interpreter in your favourite language of sufficiently low level < 1570029633 59071 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :kspalaiologos: fwiw, a github search for "fastest brainfuck interpreter" yielded this: https://github.com/barracks510/bfc < 1570029644 60428 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(Apache-2.0 license) < 1570029690 198405 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i guess most performance issues come from the data structure used for the tape < 1570029714 103707 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :nah, if it's advertised as "fastest" on the web then it likely isn't < 1570029738 922644 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :an array is nice if you don't have to grow it too often, a linked list might be slower on shorter programs < 1570029783 185727 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :no just in time compilation -> garbage < 1570029791 702032 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :I've tried Tritium interpreter by rdebath(?) < 1570029803 769214 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :and it just turned out to be slower than mine moderately-optimizing one < 1570029871 540382 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :just in time compilation for brainfuck? really? < 1570029889 996063 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i wouldn't be surprised if nobody ever did that < 1570029946 844910 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i mean, we used to write a small interpreter for brainfuck at university and even the stupid solutions did anything i throw on them pretty much instantenious < 1570029968 737467 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :https://github.com/rdebath/Brainfuck/tree/master/tritium < 1570029972 691690 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :just in time compilation < 1570029976 746441 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :DYNASM < 1570029979 16915 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :GMP < 1570029983 15533 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :nasm target < 1570029986 945321 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :gnu lightning, openssl < 1570030001 663739 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :libtcc backend < 1570030009 744725 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :debugging, profiling and tracing < 1570030024 153591 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :I've personally discovered this interpreter when I needed something fast for my C compiler targeting brainfuck < 1570030034 521951 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :but it turned out to be too slow to meet my requirements < 1570030070 579578 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :even myself I've made a Brainfuck just-in-time compiler, it's not that uncommon thing < 1570030091 537268 :kspalaiologos!~kspalaiol@176.221.122.71 PRIVMSG #esoteric :the C output is very high grade in my opinion < 1570031522 325000 :joast!~rick@cpe-98-145-132-215.natnow.res.rr.com QUIT :Quit: Leaving. < 1570031955 229606 :cpressey!~cpressey@5.133.242.4 QUIT :Quit: A la prochaine. < 1570032200 433553 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection < 1570033267 83147 :joast!~rick@cpe-98-145-132-215.natnow.res.rr.com JOIN :#esoteric > 1570033745 946574 PRIVMSG #esoteric :14[[07Noodle Soup14]]4 10 02https://esolangs.org/w/index.php?diff=66448&oldid=36043 5* 03Dtuser1337 5* (-12) 10/* Print 1 2 3 4 5 */ > 1570033772 991420 PRIVMSG #esoteric :14[[07Noodle Soup14]]4 10 02https://esolangs.org/w/index.php?diff=66449&oldid=66448 5* 03Dtuser1337 5* (-1) 10/* Hello World */ < 1570033976 346822 :imode!~linear@unaffiliated/imode JOIN :#esoteric < 1570034725 118658 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1570034970 101937 :kspalaiologos!~kspalaiol@176.221.122.71 QUIT :Quit: Leaving < 1570035077 112487 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 245 seconds < 1570035207 21498 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1570035413 998761 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1570040298 220425 :kspalaiologos!~kspalaiol@176.221.122.71 JOIN :#esoteric < 1570040378 933729 :arseniiv_!~arseniiv@136.169.206.178 JOIN :#esoteric < 1570040546 910182 :arseniiv!~arseniiv@95.105.7.116.dynamic.ufanet.ru QUIT :Ping timeout: 240 seconds < 1570042093 339438 :xkapastel!uid17782@gateway/web/irccloud.com/x-nqccczqoyyddulbb QUIT :Quit: Connection closed for inactivity < 1570042437 782473 :xkapastel!uid17782@gateway/web/irccloud.com/x-jhljbvcwjlrvrmyj JOIN :#esoteric < 1570045877 968716 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu JOIN :#esoteric < 1570046205 471964 :zzo38!~zzo38@24-207-15-213.eastlink.ca JOIN :#esoteric < 1570046804 350195 :kspalaiologos!~kspalaiol@176.221.122.71 QUIT :Quit: Leaving < 1570046977 90032 :ArthurStrong!~ArthurStr@slow.wreckage.volia.net JOIN :#esoteric > 1570048420 464065 PRIVMSG #esoteric :14[[07User:Sideshowbob14]]4 10 02https://esolangs.org/w/index.php?diff=66450&oldid=64689 5* 03Sideshowbob 5* (+50) 10/* Works in progress */ < 1570049573 986291 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :I have downloaded the most recent Magic: the Gathering rules. < 1570049601 661269 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :(I should perhaps convert all of them to the same canonical ASCII format, so that they can then be compared properly.) < 1570050239 102098 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :zzo38: I convert them to utf-8. < 1570050246 255731 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :without carriage returns < 1570050279 209100 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :`cat share/mtg/rules.txt < 1570050279 640939 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​Magic: The Gathering Comprehensive Rules \ \ These rules are effective as of October 4, 2019. \ \ Introduction \ \ This document is the ultimate authority for Magic: The Gathering® competitive game play. It consists of a series of numbered rules followed by a glossary. Many of the numbered rules are divided into subrules, and each separate rule and subrule of the game has its own number. (Note that subrules skip the letters “l” and “o” du < 1570050291 462786 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :``` grep -w Noble share/mtg/rules.txt < 1570050292 29096 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :205.3m Creatures and tribals share their lists of subtypes; these subtypes are called creature types. The creature types are Advisor, Aetherborn, Ally, Angel, Antelope, Ape, Archer, Archon, Army, Artificer, Assassin, Assembly-Worker, Atog, Aurochs, Avatar, Azra, Badger, Barbarian, Basilisk, Bat, Bear, Beast, Beeble, Berserker, Bird, Blinkmoth, Boar, Bringer, Brushwagg, Camarid, Camel, Caribou, Carrier, Cat, Centaur, Cephalid, Chimera, Citizen, Cleric, Cock < 1570050299 923524 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`doag share/mtg/rules.txt < 1570050301 345728 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :11957:2019-10-01 ` set -e; cd share/mtg; tr -d \\\\r rules.txt \ 11956:2019-10-01 ` set -e; cd share/mtg; tr -d \\\\\\\\r rules.txt \ 11833:2019-06-13 `` set -e; cd share/mtg; tr -d \\\\r rules.txt \ 11701:2019-01-26 `` set -e; cd share/mtg; iconv -f cp850 -t utf-8 MagicCompRules_20190125.txt | tr -d \\\\r > rules < 1570050324 733311 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`doag share/mtg/MagicCompRules_20191004.txt < 1570050326 80363 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :11955:2019-10-01 fetch share/mtg/MagicCompRules_20191004.txt https://media.wizards.com/2019/downloads/MagicCompRules%2020191004.txt < 1570050344 127805 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is there a reason not to do that in the channel? < 1570050414 477561 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :shachaf: I did that in the channel < 1570050424 236112 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :as far as I recall < 1570050453 368152 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, you did. < 1570050464 336638 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Never mind. < 1570052566 72206 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :I prefer ASCII without carriage returns; it would help when there was one with PC character set once, it will ensure all of the quotation marks match < 1570052781 558238 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But how will you return the carriage without carriage returns? < 1570052859 425927 :arseniiv_!~arseniiv@136.169.206.178 PRIVMSG #esoteric :manually < 1570052863 795846 :arseniiv_!~arseniiv@136.169.206.178 NICK :arseniiv < 1570052866 174016 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :If send to a printer then the carriage return will be added to return the carriage. < 1570052887 109592 :arseniiv!~arseniiv@136.169.206.178 PRIVMSG #esoteric :(I’ll show myself out, it’s just the right time) < 1570053098 126050 :ArthurStrong!~ArthurStr@slow.wreckage.volia.net QUIT :Quit: leaving < 1570053170 882861 :arseniiv!~arseniiv@136.169.206.178 QUIT :Ping timeout: 240 seconds < 1570053242 769300 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :shachaf: we convert the file before sending it to the printer. < 1570053279 179466 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :also, we don't print the comp rules. it would be a waste. it changes like five times a year and it's a hundred pages long. < 1570053389 143196 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :wait wait < 1570053471 26455 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Print only the pages that are changed. < 1570053475 333193 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :zzo38: Throne of Eldraine has a sorcery card with rules text including "Then those creatures fight each other." Does that effectively mean that they fight twice, as in the first creature fights the second than the second fights the first, fight being commutative? < 1570053522 480128 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :I think just once. < 1570053541 924549 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :the wording is odd < 1570053551 264824 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :"701.12a. A spell or ability may instruct a creature to fight another creature or it may instruct two creatures to fight each other. Each of those creatures deals damage equal to its power to the other creature." < 1570053572 128588 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :hmm < 1570053575 231438 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Yes, I agree the wording is odd, but rule 701.12a seems so say that it is just once even if it says "each other" < 1570053587 797974 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :``` grep -Ei "fight each other" share/mtg/rules.txt < 1570053588 329556 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :701.12a A spell or ability may instruct a creature to fight another creature or it may instruct two creatures to fight each other. Each of those creatures deals damage equal to its power to the other creature. < 1570053600 47766 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :I wasn't aware of the alternate template < 1570053604 23786 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :perhaps because it's a red thing < 1570053622 575795 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :let me do a card search < 1570053661 693461 :b_jonas!~x@catv-176-63-24-62.catv.broadband.hu PRIVMSG #esoteric :yeah, looks like a red thing < 1570053843 336634 :imode!~linear@unaffiliated/imode QUIT :Ping timeout: 245 seconds < 1570057093 405010 :xkapastel!uid17782@gateway/web/irccloud.com/x-jhljbvcwjlrvrmyj QUIT :Quit: Connection closed for inactivity < 1570057603 507954 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1570058968 322335 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :I thought of if I make the new TeXnicard, to make a format for sending changes to the database, with Unusenet, so that you can do collaboration if wanted. < 1570059516 122755 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :(You could just as well transfer the change files by email or on a floppy disk or paste bin, too, if wanted) < 1570060679 168493 :imode!~linear@unaffiliated/imode JOIN :#esoteric