< 1418774446 881480 :dts|pokeball!~DTSCode@unaffiliated/dtscode JOIN :#esoteric < 1418775093 621989 :boily!~alexandre@96.127.201.149 JOIN :#esoteric < 1418775145 833892 :SirCmpwn!~SirCmpwn@irc.sircmpwn.com QUIT :Ping timeout: 240 seconds < 1418775307 860820 :SirCmpwn!~SirCmpwn@irc.sircmpwn.com JOIN :#esoteric < 1418775506 371824 :mihow!~mihow@108.30.58.169 QUIT :Quit: mihow < 1418775571 358859 :SirCmpwn!~SirCmpwn@irc.sircmpwn.com QUIT :Excess Flood < 1418775684 410469 :SirCmpwn!~SirCmpwn@irc.sircmpwn.com JOIN :#esoteric < 1418775919 150713 :SirCmpwn!~SirCmpwn@irc.sircmpwn.com QUIT :Excess Flood < 1418775937 227425 :SirCmpwn!~SirCmpwn@irc.sircmpwn.com JOIN :#esoteric < 1418776734 612824 :azazel_!uid52684@gateway/web/irccloud.com/x-yvkktavdwyqpttql JOIN :#esoteric < 1418777185 230036 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1418777870 365121 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Unnecessary14]]4 10 02http://esolangs.org/w/index.php?diff=41482&oldid=40620 5* 03Xbony2 5* (+94) 10Added another interpreter < 1418779100 347097 :cluid!~cluid@unaffiliated/cluid QUIT :Quit: Leaving < 1418779898 660057 :Guest38946!~shikhin@120.59.228.36 QUIT :Ping timeout: 272 seconds < 1418780986 276243 :glguy!~glguy@unaffiliated/glguy QUIT :Quit: Quit < 1418781256 364341 :CrazyM4n!~CrazyM4n@ip70-162-52-61.ph.ph.cox.net JOIN :#esoteric < 1418782230 398128 :dts|pokeball!~DTSCode@unaffiliated/dtscode QUIT :Quit: Leaving < 1418782248 125457 :dts|pokeball!~DTSCode@unaffiliated/dtscode JOIN :#esoteric < 1418782486 710011 :boily!~alexandre@96.127.201.149 QUIT :Quit: PHŒNICIAN CHICKEN < 1418782605 506027 :CrazyM4n!~CrazyM4n@ip70-162-52-61.ph.ph.cox.net QUIT :Remote host closed the connection < 1418783237 786766 :mitchs_!~canissimi@unaffiliated/canissimia JOIN :#esoteric < 1418783429 340263 :mitchs!~canissimi@unaffiliated/canissimia QUIT :Ping timeout: 244 seconds < 1418784553 777357 :_AndoDaan!~AD@188.189.68.161 JOIN :#esoteric < 1418784646 508950 :AndoDaan!~AndoDaan@188.188.95.73 JOIN :#esoteric < 1418784734 997139 :AndoDaan_!~AndoDaan@188.188.67.77 JOIN :#esoteric < 1418784824 734703 :_AndoDaan!~AD@188.189.68.161 QUIT :Ping timeout: 264 seconds < 1418784833 746508 :oven!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :holy crap there are three AndoDaans? < 1418784846 701301 :AndoDaan_!~AndoDaan@188.188.67.77 PRIVMSG #esoteric :dammit. < 1418784861 57440 :oven!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca NICK :|oren\ < 1418784877 631904 :AndoDaan_!~AndoDaan@188.188.67.77 PRIVMSG #esoteric :tried to irc on my phone. < 1418784919 997997 :AndoDaan!~AndoDaan@188.188.95.73 QUIT :Ping timeout: 240 seconds < 1418784927 988015 :AndoDaan_!~AndoDaan@188.188.67.77 NICK :AndoDaan < 1418784933 153087 :|oren\!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :and then there was one. < 1418785202 806249 :AndoDaan_!~AndoDaan@188.189.92.226 JOIN :#esoteric < 1418785356 267035 :|oren\!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :nvm. there are two < 1418785359 974968 :AndoDaan!~AndoDaan@188.188.67.77 QUIT :Ping timeout: 240 seconds < 1418785368 474618 :|oren\!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :and one again < 1418785636 702833 :AndoDaan_!~AndoDaan@188.189.92.226 QUIT :Ping timeout: 272 seconds < 1418785700 759051 :Tod-Autojoined!~Tod@50-198-177-186-static.hfc.comcastbusiness.net JOIN :#esoteric < 1418785711 107827 :TodPunk!~Tod@50-198-177-186-static.hfc.comcastbusiness.net QUIT :Read error: Connection reset by peer < 1418785719 792471 :Tod-Autojoined!~Tod@50-198-177-186-static.hfc.comcastbusiness.net NICK :TodPunk < 1418786068 809818 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Talk:Ragaraja14]]4 M10 02http://esolangs.org/w/index.php?diff=41483&oldid=41480 5* 03Oerjan 5* (+50) 10Geronimo! Also fix link < 1418786690 44328 :|oren\!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca QUIT :Quit: Lost terminal < 1418786741 310852 :azazel_!uid52684@gateway/web/irccloud.com/x-yvkktavdwyqpttql PRIVMSG #esoteric :Use an app ando < 1418786812 531191 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1418786896 703602 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :copumpkin: you should add propumpkin hth < 1418786903 704482 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :k < 1418787013 141937 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :copumpkin is a pro < 1418787276 59446 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca JOIN :#esoteric < 1418787415 733256 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :damn right < 1418787500 245572 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :now if he were also bi he could get the full set < 1418787601 471936 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :do i even want to know? < 1418787705 165601 :glguy___!~glguy@unaffiliated/glguy NICK :glguy_ < 1418787715 322537 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :wait a second here, this is some sort of math pun isn't it? < 1418787764 829403 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ding ding ding < 1418787781 7353 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :it's been a while since i posted a screenshot: http://ctrlv.in/474924 < 1418787861 8577 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :stupid google has menus to restrict searches to a language or region; but when i look at them they _only_ let me choose between everything and norwegian < 1418787891 13265 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :use bing hth < 1418787905 139565 :glguy_!~glguy@unaffiliated/glguy QUIT :Quit: Part < 1418787923 905037 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :does that allow me to exclude norwegian results? < 1418787929 198982 :CrazyM4n!~CrazyM4n@ip70-162-52-61.ph.ph.cox.net JOIN :#esoteric < 1418788098 94094 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm that doesn't allow me to set it for just one search < 1418788129 127603 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :this is for when i want to search for something that's accidentally a common norwegian word < 1418788131 788440 :augur!~augur@c-71-57-177-235.hsd1.fl.comcast.net JOIN :#esoteric < 1418788528 985652 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :there seems to be no search prefix for language. < 1418788537 235449 :dts|pokeball!~DTSCode@unaffiliated/dtscode QUIT :Ping timeout: 255 seconds < 1418788606 355 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :oerjan: why not set it to english? < 1418788607 68796 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :google doesn't have a concept for telling them "you're second-guessing me wrong, this is how i want you to adjust your behavior". < 1418788615 870992 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :Why does Rust interest me, they keep saying it's mostly for systems programming, and I have no interest in that < 1418788677 743447 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oren: then i have to set it back afterward. and the preferences are on a different page. basically i _hate_ all ui that requires me to leave the information i'm actually looking at to adjust it. < 1418788755 176303 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i'm basically bitching about google putting this beyond my too-complicated-to-bother threshold. < 1418788860 688810 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :oerjan: use a private broswing window? < 1418788886 439892 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...i don't think you're getting what i'm saying. < 1418788892 854871 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :google won't modify your main account's settings < 1418788935 361850 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :anyway it was simpler to just append "definition" < 1418788955 75069 :glguy!~glguy@unaffiliated/glguy JOIN :#esoteric < 1418788994 309577 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :which happens to work for finding word definitions most of the time because the word is spelled differently in norwegian. < 1418789192 589720 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :I hate that you can't search for C++ C# and C separately unless you write the symbols out as words < 1418789219 835282 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :aye < 1418789366 474131 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :So many Rust libraries have names that... are as unpleasant to Google for as Rust itself < 1418789372 620205 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :Rust iron. Not helpful < 1418789382 476794 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :...apparently it is < 1418789405 82903 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :Sgeo_: wow that sucks. clearly not thinking ahead. < 1418789541 843872 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :at least C# isn't the name of a mundane object < 1418789568 837007 :madbr!boulam@69-165-212-148.cable.teksavvy.com JOIN :#esoteric < 1418789880 794165 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Scrip714]]4 10 02http://esolangs.org/w/index.php?diff=41484&oldid=41473 5* 03Orenwatson 5* (+242) 10Register offsets in the forms I(12 or I)12 < 1418789986 805545 :J_Arcane_!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :http://www.drdobbs.com/architecture-and-design/farewell-dr-dobbs/240169421 :( < 1418791231 154959 :GeekDude!~GeekDude@unaffiliated/g33kdude QUIT :Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com) < 1418791420 953272 :glguy__!~glguy@unaffiliated/glguy JOIN :#esoteric < 1418791445 735433 :glguy!~glguy@unaffiliated/glguy QUIT :Read error: Connection reset by peer < 1418791767 410118 :bb010g!uid21050@gateway/web/irccloud.com/x-cxmcodurglfksvrq JOIN :#esoteric < 1418792047 293253 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi JOIN :#esoteric < 1418792052 210800 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Clearly these are the end times < 1418792117 638849 :J_Arcane_!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi QUIT :Ping timeout: 258 seconds < 1418792140 637380 :aloril_!~aloril@dsl-tkubrasgw2-50defd-78.dhcp.inet.fi QUIT :Ping timeout: 258 seconds < 1418792332 59008 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :J_Arcane: :( < 1418792364 419309 :aloril_!~aloril@dsl-tkubrasgw2-50defd-78.dhcp.inet.fi JOIN :#esoteric < 1418792616 155199 :glguy__!~glguy@unaffiliated/glguy NICK :glguy < 1418792618 519106 :aloril_!~aloril@dsl-tkubrasgw2-50defd-78.dhcp.inet.fi QUIT :Max SendQ exceeded < 1418792638 872932 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :the hacker news comments about the news are insufferably predictable. :/ < 1418792679 612111 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :i suppose I shouldn't be surprised when a bunch of 'startup' types react to someone actually pointing out that web ads don't work, considering it's what all their investor storytimes mostly hinge on. < 1418792679 655381 :aloril_!~aloril@dsl-tkubrasgw2-50defd-78.dhcp.inet.fi JOIN :#esoteric < 1418792681 661552 :dts|pokeball!~DTSCode@unaffiliated/dtscode JOIN :#esoteric < 1418792694 967933 :glguy!~glguy@unaffiliated/glguy QUIT :Quit: Part < 1418792713 201979 :glguy!~glguy@unaffiliated/glguy JOIN :#esoteric < 1418793198 446103 :CrazyM4n!~CrazyM4n@ip70-162-52-61.ph.ph.cox.net QUIT :Remote host closed the connection < 1418793516 598523 :glguy!~glguy@unaffiliated/glguy QUIT :Quit: Part < 1418793637 811290 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :`slist < 1418793654 678454 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot < 1418793973 347475 :glguy!~glguy@unaffiliated/glguy JOIN :#esoteric < 1418794151 798114 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Oooh, slist < 1418794184 77082 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :have y'all tried prismata? < 1418794196 533181 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :single-player demo at http://play.prismata.net/?demo (uses flash) < 1418794364 656260 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I'm personally not keen on that kind of game < 1418794497 960923 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :what kind of game are you keen on < 1418794685 872548 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :the kind that doesn't take a billion years to load maybe? < 1418794992 420625 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf, I like platformers mostly < 1418795027 573815 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :Taneb: what kind of game is it? i can't load it < 1418795036 145539 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :oren, like a card game < 1418795041 487015 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I think hearthstone-ish < 1418795055 243401 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :yes < 1418795072 393181 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :well, it's a deterministic complet-information game with no deck building, so it's p. different in that respect < 1418795508 620300 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I sometimes like roguelikes like Pokemon Mystery Dungeon and sims like Dwarf Fortress < 1418795584 525673 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 264 seconds < 1418796868 205658 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :i have decided to keep my policy of keeping the entire scrip7 release as one .c file < 1418797031 194256 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :separate files are for people who want to have to use a VCS instead of 20141216.c etc < 1418797157 439139 :MDream!~fyrc@c-71-58-118-227.hsd1.pa.comcast.net JOIN :#esoteric < 1418797197 888706 :MDream!~fyrc@c-71-58-118-227.hsd1.pa.comcast.net QUIT :Client Quit < 1418797235 325205 :MDream!~fyrc@c-71-58-118-227.hsd1.pa.comcast.net JOIN :#esoteric < 1418798150 374463 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07MNNBFSL14]]4 10 02http://esolangs.org/w/index.php?diff=41485&oldid=41344 5* 03AndoDaan 5* (+431) 10/* Examples */ < 1418798303 326829 :AndoDaan!~AndoDaan@188.188.93.178 JOIN :#esoteric < 1418798577 935280 :drdanmaku!uid17782@gateway/web/irccloud.com/x-ejdqsegfhachcibp QUIT :Quit: Connection closed for inactivity < 1418798763 9798 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :is it evil to use the C preprocessor to include plaintext and shellscripts into a C file? < 1418798795 24878 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :screw it this is an esolang anyway < 1418798858 756046 :MDream!~fyrc@c-71-58-118-227.hsd1.pa.comcast.net PRIVMSG #esoteric :I ask fungot to inform oren of the morality of his actions. < 1418799025 86002 :MDream!~fyrc@c-71-58-118-227.hsd1.pa.comcast.net PRIVMSG #esoteric :ACTION is abruptly destroyed as his monitor turns into a small nuclear blast at the revelation that fungot is not present. < 1418799143 626792 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :shachaf: I put in for the Kickstarter, but haven't actually played, besides once in the tutorial < 1418799146 612294 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :I want to play though < 1418799153 26156 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :Kickstarter isn't looking so healthy :( < 1418799261 805479 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. :-( I hope they reach their goal. < 1418799310 662714 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :3 days for 15000 CAD < 1418799318 633094 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's probably doable. < 1418799326 759390 :Sgeo_!~quassel@ool-44c2aebc.dyn.optonline.net PRIVMSG #esoteric :I think it did jump 5000 in one day, so.. maybe? < 1418799608 39491 :madbr!boulam@69-165-212-148.cable.teksavvy.com PRIVMSG #esoteric :hm < 1418799624 10288 :madbr!boulam@69-165-212-148.cable.teksavvy.com PRIVMSG #esoteric :I want to make a language where something like < 1418799629 46909 :madbr!boulam@69-165-212-148.cable.teksavvy.com PRIVMSG #esoteric :var += array[$n] < 1418799636 91066 :madbr!boulam@69-165-212-148.cable.teksavvy.com PRIVMSG #esoteric :is internally expanded into < 1418799656 827241 :madbr!boulam@69-165-212-148.cable.teksavvy.com PRIVMSG #esoteric :for(int n=0; n i suppose I shouldn't be surprised when a bunch of 'startup' types react to someone actually pointing out that web ads don't work, considering it's what all their investor storytimes mostly hinge on. < 1418813919 903350 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :J_Arcane: they get as far as ads? < 1418813926 313507 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :isn't it all about growth, growth, growth < 1418813950 180674 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"hacker news surprised to discover capitalism is unsustainable" < 1418814101 137345 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :Not just 'capitalism' in their case, but 'capitalism founded on fairy stories'. XD < 1418814200 208952 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you'll have to enlighten me as to the difference :p < 1418814207 75077 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :XD < 1418814228 886841 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :True. I suppose the difference is mostly temporal, in SV's case. < 1418814449 144009 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :http://pastebin.com/qVp7R5D2 <-- it is done: the "hopefully getting stabler release 2014-12-17 06:30" < 1418814530 443626 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :is it morally wrong to include several programs in one .c file by use of ifdefs? < 1418814577 199574 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Not if the programs are 'true' and 'false'. < 1418814650 786373 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Scrip714]]4 10 02http://esolangs.org/w/index.php?diff=41487&oldid=41484 5* 03Orenwatson 5* (+11) 10upadted link < 1418814799 384139 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :remember that time this channel figured out how to make false succeed? that was good < 1418814865 902600 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't remember that at all, but it sounds intriguing. < 1418814907 109899 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it involved exploiting a buffer overflow in gettext < 1418814919 517621 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :by crafting an appropriate translation file and getting it to display help < 1418814925 633483 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or, uh, not really a buffer overflow in gettext < 1418814934 942503 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :more like just it doing printf(_("..."), ...) < 1418814937 994013 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so you can exploit the format string < 1418814951 46016 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I mean, you can make true fail, so why not the other way around, right? < 1418815042 545558 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: http://sprunge.us/JBhf < 1418815051 627784 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :int-e was the one who got it to proof of concept < 1418815080 867524 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :me and ais523 found/fiddled with the gettext use < 1418815087 179199 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I must've missed or forgotten about this. < 1418815090 150136 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :V. fancy. < 1418815111 869724 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :sadly gettext doesn't let you specify environment variables like this for setuid programs < 1418815118 632346 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so you can't use it for privilege escalation < 1418815128 749037 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but imagine if you could. < 1418815155 884541 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it does mean that having write access to /usr/share lets you "pwn" a box (if any programs that run as root use gettext like this), I think. < 1418815264 478908 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Makes me wonder how common it is to have localized format strings. Probably relatively so. < 1418815275 724728 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah, I think that's standard gettext use < 1418815292 592776 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :certainly I expect most of coreutils does it, for the help messages < 1418815297 729389 :erdic!~erdic@unaffiliated/motley QUIT :Ping timeout: 250 seconds < 1418815309 827087 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :anyway, this was half a year ago, fwiw. < 1418815331 155428 :erdic!~erdic@unaffiliated/motley JOIN :#esoteric < 1418815354 467600 :boily!~alexandre@96.127.201.149 JOIN :#esoteric < 1418815359 212300 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes, there's quite a lot of "%s: unrecognized option `%c%s'" and so on. < 1418815887 960905 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :anyway, you'd think that it wouldn't be hard to write a printf_ which checks the format strings are compatible... < 1418815905 41302 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but I guess this is unix, we don't care about robustness! < 1418815994 820829 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :The overhead would be unacceptable < 1418816176 794410 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Ping timeout: 250 seconds < 1418816329 181574 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Ah, so you also need to add a separate "format check only" function so you can keep using raw printf in all those thight inner loops, and hoist only the check out. < 1418816411 551830 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :actually, that's sort of a good point, you could just call it __ instead of _ < 1418816415 24127 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or whatever < 1418816417 763241 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :don't even need to wrap printf < 1418816424 908761 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :printf doesn't check the format strings, but atleast gcc gives you a warning! < 1418816429 883512 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hell just turn it on for _ and at least make it print out warnings < 1418816437 541374 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oren: it doesn't if you use gettext :p < 1418816489 772656 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION thinks about LD_PRELOADing an alternate gettext that does a naive format string check and prints out if they don't match... < 1418816500 616828 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :can't wait for my NEXT coreutils xzero-day < 1418816503 806411 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*zero-day < 1418816539 66825 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: The whole thing doesn't sound like a too far-fetched thing to be enabled by some sort of FORTIFY_SOURCE option. < 1418816583 369064 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I forget what exactly printf_chk does, actually. < 1418816593 693550 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah, I suppose if you cheated by actually patching the compiler it could avoid false whatsits. < 1418816608 921578 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :really, though, the environment variables should probably just go away. < 1418816617 860652 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :at the least. < 1418816647 146301 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hey imagine if we wrote in a language that wasn't segfault city < 1418816666 392066 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then we could have things like "features" without blowing up the planet in the process < 1418816729 997420 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :safety, speed, flexibility, pick two < 1418816767 608117 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't believe you have to. < 1418816771 717297 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :especially not for coreutils, come on. < 1418816788 259986 :b_jonas!~x@russell2.math.bme.hu PRIVMSG #esoteric :elliott: (a) why would you have to LD_PRELOAD that? why not check during compiling the translation files with msgfmt instead? (b) in either case, how do you know which strings contain printf-formats, which ones used in some other way? < 1418816806 291063 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :b_jonas: welltranslation files can be specified at runtime < 1418816808 432108 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*well translation < 1418816818 734701 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: i mean that a language can only give you two, and you have to make the third by good programming < 1418816823 975175 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and by the rarity of % < 1418816835 858946 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I only wanted it so I could look for exploits, though I guess it's unlikely that mistake would be made in stock translation files < 1418816842 35008 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe it should just print whenever you pass a % to _ < 1418816906 710237 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oren: I don't agree. many of the ways in which C are unsafe aren't just design tradeoffs that there can be reasonable disagreement about; it is a flawed language and you can do better in many respects without making big sacrifices on speed or flexibility. languages aren't always a perfect balanced compromise that couldn't be objectively improved on < 1418816969 427370 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: of course it can be improved on, but there is a upper limit at which tradeoffs emerge < 1418817010 444889 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :sure. let's get to that point, and *then* you can say "safety, speed, flexibility, pick two" in response to me whining about whatever language we're using then :) < 1418817035 617890 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :fine. < 1418817057 696351 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I suspect you could write coreutils in just about anything and be completely fine, anyway. it's not really number crunching. < 1418817069 397722 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :so what about fortran 90? < 1418817095 956588 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :okay, I guess something like sha*sum would be annoying if it was too slow. < 1418817187 892778 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :maybe the coreutils shouldn't all be written in the same language? < 1418817238 830397 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :uh, you could put forward that position but I don't know why you would < 1418817248 128784 :boily!~alexandre@96.127.201.149 PRIVMSG #esoteric :put all your eggs in one basket, then watch that basket very closely. < 1418817306 697145 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :well, you could use fortran for number crunching things, something pedantic like Ada for security, etc. < 1418817504 60436 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :only problem is that in olden times languages didn't interoperate well < 1418817549 778105 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :so they standardized on C because it is very flexible. < 1418817575 670909 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :(compared to its contemporaries i mean) < 1418817766 724903 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :% time cat MacTeX.pkg >/dev/null < 1418817766 834050 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cat MacTeX.pkg > /dev/null 0.01s user 0.64s system 49% cpu 1.320 total < 1418817766 877286 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :% time shasum -a 512 MacTeX.pkg < 1418817766 877409 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :e788be6b14300f3e6463cdd8f8b1a4afc61e3a4c315c486e0dde465bf82ea16080bb0c6f78faa5cbd21a3ec6abb820ce805d1131f02069908514f1b28f06720d MacTeX.pkg < 1418817769 761049 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shasum -a 512 MacTeX.pkg 11.08s user 0.63s system 98% cpu 11.870 total < 1418817772 237099 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :% time ruby -e 'require "digest"; d = Digest::SHA512.new; buf = ""; f = File.open("MacTeX.pkg"); while f.read(65536, buf) != nil; d << buf; end; puts d.hexdigest' < 1418817775 208490 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :e788be6b14300f3e6463cdd8f8b1a4afc61e3a4c315c486e0dde465bf82ea16080bb0c6f78faa5cbd21a3ec6abb820ce805d1131f02069908514f1b28f06720d < 1418817778 220821 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ruby -e 11.96s user 0.57s system 98% cpu 12.690 total < 1418817780 722696 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :of course this is depending on C code for the SHA-512 implementation. < 1418817799 840923 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but my point is that this is not an obstacle to writing coreutils even in something "famously slow" like ruby < 1418817814 378612 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :though honestly ruby has a greater risk surface than coreutils probably < 1418817839 226541 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :just saying that you probably have to look on our wiki to find a language too slow to reasonably write coreutils in < 1418817919 831708 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: i see! so because modern languages can call the C ABI, we can write the glue codein something that has no risk of buffer overflows < 1418817931 456506 :mihow!~mihow@108.30.58.169 JOIN :#esoteric < 1418817949 138412 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well, it's not even necessarily an ABI problem. you just need *some* way to extend the language in something fast enough < 1418817966 563150 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :here's a question: how fast would sha512sum be with a hand-optimised, but totally memory-safe, pure haskell implementation? < 1418817979 543417 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I wouldn't be surprised if the answer was "fast enough". < 1418817992 319614 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :i'm gonna guess at about 20% speed? < 1418818003 397337 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's a serious underestimate I think < 1418818014 224352 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :based on my knowledgeof racket < 1418818030 58538 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :is haskell strongly typed? < 1418818034 562092 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :haskell and racket are incomparable, I think < 1418818037 38758 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :isn't racket interpreter-only < 1418818041 779284 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :haskell has a very advanced optimising compiler < 1418818053 729131 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :Racket is JIT-compiled from byte-code. < 1418818055 710142 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and people write rather gnarly hand-optimised code in it < 1418818070 78468 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :It's pretty fast, but slower than most lisps, and slower than Haskell, generally speaking. < 1418818072 385799 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oren: yes, very much so < 1418818087 126917 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :then i'll say 90% < 1418818101 467038 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it has probably the most advanced type system of any "commonly used to slightly obscure" language < 1418818113 162301 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :http://benchmarksgame.alioth.debian.org/u32/compare.php?lang=racket&lang2=ghc < 1418818125 523272 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :let's not use the benchmarks game to talk about haskell performance lol < 1418818128 328915 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :those programs are horrific < 1418818138 883218 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric ::_D < 1418818139 723215 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :okay, not all of them < 1418818167 185445 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but some of them probably have negative PR effect because people were obsessed with getting the tiniest last bit of performance out of them, making it so that if you actually look at the source you think you need to sacrifice your soul to satan to get reasonable performance out ofh askell < 1418818184 988026 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :This is a fair point. < 1418818209 835563 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :i have consistently seen that the stronger the typing of a language, the faster it is. < 1418818215 788879 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :I found Haskell quite quick enough as it was, and certainly very little code I see in the actual Haskell sources looks as ugly as, say, this: http://benchmarksgame.alioth.debian.org/u32/program.php?test=pidigits&lang=ghc&id=4 < 1418818238 88705 :mihow!~mihow@108.30.58.169 QUIT :Ping timeout: 256 seconds < 1418818242 151450 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :actually that code looks fine < 1418818245 167883 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :there's no unsafety or unboxing or anything < 1418818252 608689 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :aij (I# i) (I# j) = D# ( < 1418818252 718789 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : case i +# j of < 1418818252 762064 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : n -> 1.0## /## int2Double# < 1418818252 762183 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (((n *# (n+#1#)) `uncheckedIShiftRA#` 1#) +# (i +# 1#))) < 1418818256 679272 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :this is scary though :p < 1418818263 715919 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :oren: Generally yes, because it saves cycles for error checking and such. Though Common Lisp can be pretty fast I'm told. < 1418818264 863019 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's the kind of code you'd be writing for a hand-optimised SHA implementation haha < 1418818378 855869 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :the only reason C isso fast is because it is so unsafe. a safe language with C's type system would probably be slow as hell < 1418818410 556957 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you're wrong < 1418818433 759306 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :the point is the uncheckedIShiftRA#, I guess; the rest the compiler should do by itself. < 1418818437 61980 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ll, "with C's type system", sure... < 1418818438 706808 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*well, < 1418818443 344036 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's a ridiculous constraint though < 1418818487 373691 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: it is a hypothetical. such language does not exist, because it would be ridiculous < 1418818492 298392 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :speaking of C, I should probably get back to working on Build Your Own Lisp at some point. < 1418818493 68152 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :how old is that code anyway? ghc has been getting smarter over the years. < 1418818493 623712 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :actually it kind of does < 1418818498 68481 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :@google asan clang < 1418818498 993149 :lambdabot!~lambdabot@silicon.int-e.eu PRIVMSG #esoteric :http://clang.llvm.org/docs/AddressSanitizer.html < 1418818499 104042 :lambdabot!~lambdabot@silicon.int-e.eu PRIVMSG #esoteric :Title: AddressSanitizer — Clang 3.6 documentation < 1418818520 318503 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :adding naive memory safety to C makes programs twice as slow, basically < 1418818523 381602 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :which is far from slow as hell < 1418818547 272819 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think google run a bunch of high-risk stuff compiled with ASan or something? < 1418818588 641623 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :they certainly use it for testing, anyway < 1418818602 57415 :cluid!~cluid@unaffiliated/cluid JOIN :#esoteric < 1418818607 628984 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :brb, installing that. < 1418818612 54833 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :Yes. I think that's another thing about C, is it is indeed blisteringly fast, which throws the curve for everything else. ie. being 'twice as slow as C' sounds like more than it is in practical terms. It's not like we're talking BASIC v. Assembly, like in the old days. < 1418818618 295415 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oren: it comes with clang < 1418818628 973753 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :oh then i already have it < 1418818642 453067 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :i have like 10 c compilers installed < 1418818654 76651 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :Heh. I just have tcc and gcc. < 1418818666 962415 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess you also need http://clang.llvm.org/docs/MemorySanitizer.html since ASan doesn't catch that, and that has a bigger slowdown, but whatever < 1418818683 129561 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's probably more of a debugging thing than a big safety problem < 1418818751 977518 :coppro!raedford@taurine.csclub.uwaterloo.ca QUIT :Ping timeout: 258 seconds < 1418819022 524522 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :well that is certainly a better way of finding the memory leaks than simply printfing every damn thing < 1418819088 364380 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you know about valgrind, right? < 1418819111 608568 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess maybe the clang stuff is better these days, I don't know. < 1418819122 974483 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's certainly faster. < 1418819127 581971 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :valgrind works but it is annoying to use < 1418819201 961269 :coppro!raedford@taurine.csclub.uwaterloo.ca JOIN :#esoteric < 1418819223 553316 :Lymia!~fujoshi@inportb/loli/cirno-chan JOIN :#esoteric < 1418819269 441489 :boily!~alexandre@96.127.201.149 QUIT :Quit: RESPLENISHED CHICKEN < 1418819295 198948 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :these clang options can simply be added to the compile script, whereas valgrind requires you to run things in a different way < 1418819428 375361 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :my short test indicates that the clang thing has less performance penalty too < 1418819684 604187 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yes, valgrind is very slow < 1418821088 144406 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Or you can use a language which ensures memory safety at compile time < 1418821231 242411 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yes < 1418821445 324567 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :FreeFull: that will become the default when OS's C ABIs are replaced with something memory-safe. < 1418821693 528798 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what < 1418821706 912326 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what "OS's C ABIs" < 1418821710 728130 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :syscalls do not use the C ABI... < 1418821746 17282 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca QUIT :Ping timeout: 244 seconds < 1418821752 880374 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :FreeBSD's do, to some degree. < 1418821785 399074 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :they don't use the CALL part, do they? :p < 1418821795 960945 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Not quite, but almost. < 1418821805 488984 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(looks it up) this is kinda weird but nice < 1418821809 573321 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca JOIN :#esoteric < 1418821821 995894 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't think it invalidates my point though. it's not like people write everything directly with syscalls < 1418821871 734360 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"Linux is a UNIX® like system. However, its kernel uses the same system-call convention of passing parameters in registers MS-DOS® does. [...] This convention has a great disadvantage over the UNIX® way, at least as far as assembly language programming is concerned: Every time you make a kernel call you must push the registers, then pop them later. This makes your code bulkier and slower. ... < 1418821874 474963 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(As in, the kernel skips a return address when looking for arguments on the stack, under the assumption that you've called a function that has executed the int. On x86, anyway; I don't know how it is with other ports.) < 1418821877 747151 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :... Nevertheless, FreeBSD gives you a choice." < 1418821878 14866 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :they're so bitter < 1418821897 943538 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I see you've found the page I always hit when googling for the FreeBSD calling convention. < 1418821916 250618 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I wonder what they do on x86-64 < 1418821929 208545 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :given that that C calling convention is JUST AS BAD AS MS-DOS(R) < 1418821954 178861 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"If you are coding specifically for FreeBSD, you should always use the UNIX® convention [...] If you want to create portable code that can also run on Linux, you will probably still want to give the FreeBSD users as efficient a code as possible." < 1418821965 140978 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :are you coding just for freebsd? < 1418821971 766751 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : |-- yes --> use our convention < 1418821976 860603 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : |-- no --> use our convention anyway < 1418821989 632442 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :implicit parameters < 1418822008 900764 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I seem to recall they follow the x86-64 SysV ABI document, aka they're JUST AS BAD AS LINUX. < 1418822159 169418 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :The C Api's are still the most-used method of calling the OS on both linux and windows. That is i believe the whole problem < 1418822187 220539 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :okay, but like, a language can either wrap around libc, or write its own library based on syscalls < 1418822201 379245 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :go does the latter < 1418822216 309706 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :the latter is the right thing. < 1418822226 44246 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the latter causes annoying interop problems with C threads IIRC < 1418822241 369083 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :there's not really any major disadvantage to the former... < 1418822249 523904 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't see what the problem is about "wrapping memory unsafe APIs to be safe" < 1418822252 885305 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :like, that is what encapsulation is. < 1418822260 509472 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :any memory safe language contains memory unsafe parts that are encapsulated for safety < 1418822273 84799 :InvalidCo!invalidco@makkara.org QUIT :Ping timeout: 244 seconds < 1418822275 441432 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :but the real right think is for there to be a native API in the memory safe language, e.g. dot net. < 1418822285 166372 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :*right thing < 1418822302 272210 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :uh, I don't know .NET implementation details but I wouldn't be at all surprised if it called into libc... < 1418822324 604272 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what is the substantial difference between wrapping libc and wrapping syscalls anyway < 1418822330 63488 :InvalidCo!invalidco@makkara.org JOIN :#esoteric < 1418822353 831725 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :like sure "ideally" we'd have memory-safe OSes running on lisp machines or whatever but I don't see how any of this implementation detail stuff is relevant to the adoption of a memory-safe language < 1418822364 467174 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: it probably does but it is developed by the same people as the OS. the issue is when you have a wrapping layer it becomes language maker's responsibility < 1418822377 131651 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't think the .NET team and the Windows kernel team are the same. < 1418822401 468466 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :*same organization < 1418822410 841438 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :By memory safety ensured at compile time I was thinking of Rust < 1418822427 983635 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that really doesn't say much, but sure. (have you heard about the OS vs. Office team antagonism? :p) < 1418822506 93251 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :if we want linux to be very safe with say JVM, the Linux kernel team needs to work on the interface into JVM. < 1418822524 653218 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what o.o < 1418822555 302069 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :it needs to be developed by people who understand the model at both ends in great detail < 1418822626 105183 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can already violate memory safety if you find a bug in the JVM JIT, who cares about the kernel interface? < 1418822634 40783 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I really don't understand the angle you're going for here... < 1418822663 796920 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: it is chiefly a political issue < 1418822670 733507 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ok. < 1418822679 993593 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then I'll stop trying to have a technical discussion < 1418822713 363620 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :if the JVM api is subordinate to the C api, then people will use C api to avoid there being more places to have bugs < 1418822756 454615 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :if you don't believe that encapsulation can increase safety, then I don't know what to tell you. < 1418822779 852177 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :encapsulation increases safety but there can be bugs in the capsule < 1418822781 965443 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you could maybe argue a wrapper around memcpy that checks that src and dest are valid pointers before passing it on (or whatever) has "more places to have bugs". it is also strictly safer. < 1418822810 522176 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fundamentally, there is no way of getting around wrapping unsafe operations < 1418822830 731560 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :whether that's in the kernel or in libc or in a language library, who cares? the principle is the same < 1418822893 860204 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :replacing the syscall/libc API won't make wrapping the underlying options for safety take *significantly* less code (it would certainly be more elegant and potentially less prone to errors, sure; I'd love it too. but it's still weird to use this as an argument for using unsafe APIs directly?) < 1418822946 55785 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: everyone will want to make their own wrapper unless there is one standard wrapper < 1418822966 203595 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :this is the Gnome/KDE/XFCE/LXDE problem < 1418822971 615647 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :does go allow overloading? < 1418822994 880423 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I really feel like you just generate random plausible-sounding retorts outside of the context of the rest of the conversation every time the one you were harping on before stops making sense :/ < 1418823041 244112 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :hm. nope < 1418823051 908764 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :not even operator overloading :( < 1418823127 649904 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :"If you wish the users of an interface to explicitly declare that they implement it, you can add a method with a descriptive name to the interface's method set." < 1418823133 655706 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :this is bullshit. Sorry. < 1418823147 191918 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :but adding a dummy method as a means of documentation? < 1418823150 189393 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Are you kidding me? < 1418823238 57758 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :go is not a good language < 1418823248 378079 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :though explicitly duck-typed interfaces aren't that horrible an idea < 1418823368 333447 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :mroman: i hope so. overloading is basically the same thing as polymorphism < 1418823376 141873 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :polymorphism: x.m(y) where the type of x may be different < 1418823380 16089 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :overloading m(x,y) where the type of x may be different < 1418823413 583855 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :apparently it supports polymorphism but not overloading... < 1418823413 629621 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :i find that bizarre and hypocritical < 1418823434 285564 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :uhhh < 1418823441 387618 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: they should be an option but not the only option < 1418823447 59990 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :m(x,y) where the type of x can vary can be polymorphism too < 1418823453 569983 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :m :: Show a => a -> String -> String < 1418823456 325687 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :m x y = show x ++ y < 1418823482 777348 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(indeed haskell, and many other languages, allows controlled overloading through a system like typeclasses) < 1418823488 34507 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(it is _ad-hoc_ overloading a la C++ that is unpopular.) < 1418823635 141178 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :go doesn't have inheritance either :( < 1418823648 284025 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :good! < 1418823660 535130 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that is one of the things go actually gets right... < 1418823677 283681 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :what? but elliotr i use inheritance in C all the time and it is useful... < 1418823721 193493 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :uhh... what C are you using that has implementation inheritance, exactly? < 1418823731 108339 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :do you mean horrible BSD socket-style hacks, because, lol < 1418823738 165530 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Come on, just because nearly everyone designs subtyping wrong < 1418823749 109780 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :I mean using the usual method of passing in a this pointer explictly < 1418823784 68031 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :a.m(b) -> A_m(a,b) < 1418823855 486306 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :the C standard library does this for FILE*. the windows api uses this with its HWND. < 1418823903 49601 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that doesn't have anything to do with inheritance < 1418823907 366434 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :seriously < 1418823910 979983 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :i'm getting to it < 1418823921 756516 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Jafet: I'm fine with interface inheritance < 1418823924 556924 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :just not implementation inheritance < 1418823978 803452 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :so struct bugbear {struct enemy enm; ...} *bb can be passed as a struct enemy* to any function that takes one < 1418823997 49776 :Lorenzo64!~lorenzo@adsl-ull-72-63.42-151.net24.it JOIN :#esoteric < 1418824045 301041 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's composition, not inheritance < 1418824047 929546 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Go even has special support for that < 1418824056 2139 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can omit the field name and access bb.enm.x as bb.x < 1418824059 51249 :Lorenzo64!~lorenzo@adsl-ull-72-63.42-151.net24.it QUIT :Read error: Connection reset by peer < 1418824059 830976 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(this is inherited from Plan 9 C) < 1418824065 109764 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(in fact gcc even supports this extension) < 1418824139 482604 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: wha? why do you keep answering myarguments with things that will make my life infinitely easier, if you wanted me to stop arguing? < 1418824159 758027 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :this isn't much motivation < 1418824175 396542 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I could kick you too to balance it out < 1418824194 931157 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :btw you probably don't want to use gcc's Plan 9 C support, I don't think clang supports it and I doubt anyone cares about maintaining it < 1418824199 645155 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I wouldn't be surprised if it went away < 1418824217 905564 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :here's a cool thing: unless they changed it, a bunch of Go is written in Plan 9 C. they ported the Plan 9 C compilers to linux and compile all their non-standard C code with it < 1418824243 97310 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :by cool I mean vaguely horrifying < 1418824256 657132 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's uncanney valley C < 1418824259 138484 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :so how is inheritance different from composition? < 1418824269 670394 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Go, the modern programming language < 1418824272 486774 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :given this syntax sugar < 1418824287 736366 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :composition is building structures out of other structures (potentially multiple ones!), using their public API < 1418824341 161075 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :implementation inheritance is building a structure's implementation on top of the implementation of another one, creating a direct "is-a" relationship where Subclass is-a Superclass, and potentially using private API and implementation details < 1418824356 569056 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :is-a vs. has-a, etc. < 1418824359 353059 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Composition_over_inheritance < 1418824405 238135 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :implementation inheritance is pretty close to directly going against principles of encapsulation, basically. from an OOP point of view, how many codebases actually satisfy the Liskov substitution principle? < 1418824430 770120 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's a tricky invariant to keep to, but it's hard to assign any coherent meaning to the notion of inheritance without it. < 1418824459 194560 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you end up basically having to concede "well, this is just copy-paste code reuse that isn't really grounded in any kind of abstraction" < 1418824489 766254 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :thankfully composition is all three of more elegant/simpler, easier to reason about, and more flexible, so. < 1418824500 944280 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*interface* inheritance is just fine though. < 1418824519 14388 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :as in, the concept that to satisfy an interface X, you must also satisfy interfaces Y, Z, ... < 1418824531 689857 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :conflating the two is common but unfortunate, especially in languages without an explicit implementation/interface divide < 1418824597 336400 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: i try to create a divide in C by using a lot of static functions and static globals, but it doesn't always work < 1418824597 779672 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(I am not a fan of "standard" OOP (I would say "traditional" but C++, Java, Python, whatever really don't look all that much like Smalltalk or whatever) in general, anyway. inheritance is one of the reasons why) < 1418824614 126784 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Yeah, C++ lacks that... concept < 1418824621 754494 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :har har < 1418824629 394132 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :aren't they adding like mini-concepts or something < 1418824661 5427 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :C++ added a slightly different version of each thing from C < 1418824715 838498 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :i really do not understand why we need references and pointers in the same language < 1418824720 677387 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :I suspect that at this point all of WG21's energies can only be devoted to updating the standard to be relevant on computers designed in the last ten years < 1418824735 879667 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :leaving none for actual language design < 1418824758 244255 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :references are a little safer and nicer (but not safe enough) < 1418824776 143596 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's true that C++ basically has a nicer parallel universe language fighting against the "legacy" C parts. < 1418824788 323701 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that nicer language has some horrifying stuff in it too though of course < 1418824793 665987 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :FSVO nicer I guess < 1418824916 859546 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :we need a language called c*=2; < 1418824964 684744 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :it would have the good parts of C++ and remove the parts inherrited < 1418825013 564032 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :I hate C++ because thinking in C and Python at the same time screws my head up < 1418825070 334600 :mihow!~mihow@108.30.58.169 JOIN :#esoteric < 1418825083 670053 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Do you mean (++c)++ < 1418825096 996047 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the language trying to get out of C++ only looks like Python in an extremely distorted funhouse mirror :p < 1418825104 292896 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :anyway, that's what rust is trying to be < 1418825111 13707 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*Rust < 1418825122 335018 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :The distorted funhouse is D < 1418825162 510171 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :I am planning on eventually get around to trying both of thsoe < 1418825179 901491 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I dislike D :( < 1418825198 208054 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it feels like such a grab bag of stuff < 1418825218 128640 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :so it is the PHP of compiled languages? < 1418825242 315925 :b_jonas!~x@russell2.math.bme.hu PRIVMSG #esoteric :argh! < 1418825281 134901 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think the design is a lot more solid than that :p < 1418825286 50801 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I just don't like the taste of it < 1418825433 16183 :mihow!~mihow@108.30.58.169 QUIT :Ping timeout: 250 seconds < 1418825839 730986 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :I like Rust < 1418825847 201868 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Rust gets my thumbs-up < 1418825884 59147 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :what are some of the best things about Rust? < 1418826025 599606 :lifthrasiir!~lifthrasi@115.68.131.49 PRIVMSG #esoteric :it is the least fucked alternatives among there (including C++ itself) < 1418826036 423584 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :ocaml < 1418826045 852937 :lifthrasiir!~lifthrasi@115.68.131.49 PRIVMSG #esoteric :not really alternative? < 1418826050 42598 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :ok < 1418826067 371979 :lifthrasiir!~lifthrasi@115.68.131.49 PRIVMSG #esoteric :I'm starting to think that this problem space itself is fucked < 1418826077 256831 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Rust gets you memory safety without garbage collection, and it has a nice type system < 1418826083 559610 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :what problem space, programming? < 1418826087 367802 :lifthrasiir!~lifthrasi@115.68.131.49 PRIVMSG #esoteric :so it's about minimizing fucks < 1418826089 383614 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :You can write an OS kernel in Rust < 1418826098 692386 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Or code for your microcontroller < 1418826126 112481 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :FreeFull, That seems pretty awesome to be but afaict there's no proof that the rust type system ensures the operational semantics are actually safe < 1418826142 882307 :lifthrasiir!~lifthrasi@115.68.131.49 PRIVMSG #esoteric :afaik they are trying < 1418826163 290294 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :proof, whatver, so long as it provably HELPS thats' good < 1418826173 609954 :lifthrasiir!~lifthrasi@115.68.131.49 PRIVMSG #esoteric :they have a core semantics, I'm not sure it has been fully proved < 1418826179 644902 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Theoretically, the lifetime system should be sound, modulo compiler bugs < 1418826179 762184 :lifthrasiir!~lifthrasi@115.68.131.49 PRIVMSG #esoteric :(search for rust-redex) < 1418826193 591508 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Also the ownership system < 1418826195 272786 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :what is the theory though? < 1418826429 997788 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Region-based_memory_management has a long history < 1418826572 963226 :AndoDaan_!~AndoDaan@188.188.93.178 JOIN :#esoteric < 1418826603 65977 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Cyclone, ML Kit etc. < 1418826711 939863 :AndoDaan!~AndoDaan@188.188.93.178 QUIT :Ping timeout: 250 seconds < 1418827023 681503 :shikhout!~shikhin@120.56.227.57 JOIN :#esoteric < 1418827045 218467 :shikhout!~shikhin@120.56.227.57 NICK :Guest86316 < 1418827202 83163 :shikhin!~shikhin@unaffiliated/shikhin QUIT :Ping timeout: 244 seconds < 1418828095 635897 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :i have invented the c/bash polyglot archive format < 1418828207 80196 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :it is a c file which can be run as its own compile script < 1418828265 579413 :Guest86316!~shikhin@120.56.227.57 NICK :shikhin < 1418828271 100247 :shikhin!~shikhin@120.56.227.57 QUIT :Changing host < 1418828271 143890 :shikhin!~shikhin@unaffiliated/shikhin JOIN :#esoteric < 1418828317 723229 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :because the cpp directive #if 0 is also a bash comment < 1418828396 512260 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that kind of thing is quite a common trick < 1418828427 926806 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can also do things like this < 1418828428 263000 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :sh-3.2$ /* 2>/dev/null; echo hi; # */ < 1418828428 306293 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi < 1418828457 819580 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: really? the only reason i'm doing it is becauase i'm too lazy to start puttin gthings in separate files < 1418828481 155781 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, it actually extracts itself, heh. < 1418828483 306458 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you could base it on shar < 1418828495 173432 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :because then i couldn't use pastbin as a repository < 1418828498 988702 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :why not just put all the program in one file... < 1418828521 529662 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: it also contians its documentation and test suite < 1418828566 125858 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :documentation can be a big comment, test suite can be an #ifdef ... int main() ... #endif? :p < 1418828603 832628 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :the test suite is a shell script that feeds abunch of test code to the scrip7 interpreter < 1418828703 165258 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you could write it as function calls < 1418828706 881293 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nobody likes shell :p < 1418828727 776129 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1418828739 829850 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :I prefer here documents to "" strings < 1418828785 108652 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh I assumed it was one-liners < 1418828829 409878 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :nah, i have to test the loops and stuff, so in order to test it properly i implemented an insertion sort for example < 1418828853 671467 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :/* 2>/dev/null; if [ "$1" = "test" ]; do sh $0 < it is a c file which can be run as its own compile script < 1418829704 391004 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :Just put a comment with the compile line at the start < 1418829721 281475 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :i would not run a large c/sh 'polyglot' for fear it might do something dodgy that isn't immediately obvious < 1418829763 548605 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :cluid: the entire concept of this language is dodgy < 1418830923 245452 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1418831009 903090 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Gregor: i don't think glogbot's clock is properly set < 1418831048 269750 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it seems to be a minute late < 1418831205 127611 :AndoDaan_!~AndoDaan@188.188.93.178 QUIT :Ping timeout: 250 seconds < 1418831211 615878 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :http://pastebin.com/qVp7R5D2 <-- how dodgy is this < 1418831487 318811 :AndoDaan!~AndoDaan@188.189.92.123 JOIN :#esoteric < 1418831662 14162 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :at least use "$0" instead of requiring a filename < 1418831675 761967 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you probably want to set -e too < 1418831735 658388 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you might also want to make it not a sharbomb, but :p < 1418831749 272831 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shar and enjoy < 1418831822 717257 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oots updates have become even rarer lately, it seems < 1418831833 112984 :dts|pokeball!~DTSCode@unaffiliated/dtscode QUIT :Ping timeout: 245 seconds < 1418832330 454229 :mihow!~mihow@108.30.58.169 JOIN :#esoteric < 1418832450 694707 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :There, it now uses $0. (same link) < 1418832464 913958 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :now completely free! < 1418832486 586568 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :lol < 1418832567 556739 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :see it compiles itself 3 times and runs cpp on itself twice, to produce two executables, a .o library, a test shell script and a .txt document. < 1418832607 641216 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Language list14]]4 10 02http://esolangs.org/w/index.php?diff=41488&oldid=41464 5* 03Tastyfish 5* (+17) 10added flow_chart < 1418832633 539504 :mihow!~mihow@108.30.58.169 QUIT :Ping timeout: 264 seconds < 1418832662 918736 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :the different executables share part of their code, so this is a highly efficient way of doing it < 1418832712 874529 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oren: are you sure this counts as one .c file any longer < 1418832749 468026 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :it is a txt.c.sh file < 1418832780 408195 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oren: this won't work if you curl ... | sh < 1418832790 274148 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you gotta make it use heredocs or something like shars < 1418832916 160455 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: what do you mean? you jsut sh scrip7.c < 1418832931 958509 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :as in curl http://pastebin/blah | sh < 1418832934 965086 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because you use $ < 1418832936 66110 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :$0 < 1418832944 228856 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :don't you want it to be as easy as possible to let you run arbitrary code < 1418832977 708276 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :elliott: but how ami supposed to compile myself a bunch of times? < 1418833000 584426 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :bah too complicated < 1418833084 172397 :oren!~oren@TOROON0949W-LP140-1-1176000251.dsl.bell.ca PRIVMSG #esoteric :ideally what we need is a scripting language except instead of have /*blah */ < 1418833150 761112 :jix_!~jix@jixco.de QUIT :Quit: Lost terminal < 1418833214 683040 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it is a shame that there is no way to get cpp to accept a shebang at the start of the file (afaik) < 1418833222 932039 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07List of ideas14]]4 10 02http://esolangs.org/w/index.php?diff=41489&oldid=41479 5* 03Tastyfish 5* (+172) 10/* Derivative Ideas */ < 1418833577 265461 :drdanmaku!uid17782@gateway/web/irccloud.com/x-xtutehjkcbyoukhd JOIN :#esoteric < 1418833909 80041 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 250 seconds < 1418834201 312401 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1418834545 128321 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :https://www.indiegogo.com/projects/the-hybrid-programming-language remember the Osmosian Order of Plain English Programmers? well, < 1418834580 666729 :jix!~jix@jixco.de JOIN :#esoteric < 1418834892 454549 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :plain english! < 1418834905 37717 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :"When you start me up, I will quickly take over your screen so you no longer have to look at that painted whore of an interface that comes with the kluge." < 1418834907 979964 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :... < 1418834911 162112 :mihow!~mihow@108.30.58.169 JOIN :#esoteric < 1418834940 694450 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :(also, I had to manually type that quote from the manual, because they've done something to obfuscate copy&paste results from the PDF) < 1418835216 534421 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: I think they're being a little bit unclear about what they need their half a million dollars for. < 1418835250 157568 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :either drugs or antipsychotic medication hth < 1418835257 641269 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :possibly both < 1418835258 649404 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :J_Arcane: yes, the manual is quite something < 1418835273 251988 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(i guess the latter are also drugs.) < 1418835298 325908 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :J_Arcane: I've tried to write programs in it < 1418835306 963200 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :unfortunately I missed the painted whore of an inteface that comes with the kludge < 1418835313 999575 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it had some weird alphabetical file navigation system. it was horrible < 1418835321 485195 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :J_Arcane: I don't think what I get from copy-pasting ("When you star meup, Iwil quickly take over your scen soyu nolnger have tolok athat painted whore ofan iterface tha comes with e kluge") is really any worse. < 1418835323 837690 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*interface < 1418835329 927184 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: *kluge < 1418835339 788567 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: let's say it's british spelling or something. < 1418835390 919021 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :http://www.catb.org/jargon/html/K/kluge.html hm < 1418835393 808187 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :Yeah, it's a bit batty. I wonder if there's any relation between these guys and the HYBRID RPG guy. < 1418835538 304707 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well, I like batty. < 1418835545 883053 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the language isn't actually interesting, though. < 1418835559 830098 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :IT just reads like a lower level AppleTalk. < 1418835637 786428 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: wow you were right " It now appears that the British, having forgotten the etymology of their own ‘kludge’ when ‘kluge’ crossed the Atlantic, repaid the U.S. by lobbing the ‘kludge’ orthography in the other direction and confusing their American cousins' spelling!" < 1418835659 922062 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :great < 1418835667 627824 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I've always said "kludge", I think. < 1418835746 171700 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :"Some observers consider this mess appropriate in view of the word's meaning." < 1418835768 411470 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I've always used "kludge" too, but I was aware of the controversy. < 1418835793 952796 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :wait a second, is that 1981 oldsmobile a Delorean? (xkcd) < 1418836144 558909 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :ok, no. < 1418836188 781629 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :ACTION checks off "say something stupid on #esoteric" from his to-do list for the day. < 1418836194 386109 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i believe those are different brands hth < 1418836242 47216 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :oerjan: and you'd be right to believe that. < 1418836274 539830 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :I didn't realise that "Oldsmobile" *was* a brand. < 1418836306 841309 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it;'s old < 1418836314 598247 :dts|pokeball!~DTSCode@unaffiliated/dtscode JOIN :#esoteric < 1418836331 541537 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :but not too old to be mobile < 1418836786 703621 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: leaving < 1418836933 681277 :bb010g!uid21050@gateway/web/irccloud.com/x-cxmcodurglfksvrq QUIT :Quit: Connection closed for inactivity < 1418837878 179731 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07StaPLe14]]4 10 02http://esolangs.org/w/index.php?diff=41490&oldid=41463 5* 03BCompton 5* (-17) 10/* Interpreter */ < 1418837954 655195 :GeekDude!~GeekDude@unaffiliated/g33kdude JOIN :#esoteric < 1418838942 548916 :Gregor!dlopen@libdl.so PRIVMSG #esoteric :ACTION bites the head off of a chicken. < 1418839067 380811 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :uh. < 1418839258 750214 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1418840077 456055 :MoALTz!~no@user-46-112-11-86.play-internet.pl JOIN :#esoteric < 1418840194 71484 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07MNNBFSL14]]4 10 02http://esolangs.org/w/index.php?diff=41491&oldid=41486 5* 03AndoDaan 5* (+172) 10/* External resources */ added JavaScript implementation. < 1418841034 719365 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :hi AndoDaan < 1418841063 28366 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Hey, cluid. < 1418841109 554107 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :i created an esolang < 1418841113 509867 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :do you wantto see it < 1418841119 341060 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Treehugger? < 1418841121 681738 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :yeah < 1418841145 197703 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric ::) congratulations. I've been tickering on an interpreter for it actually. < 1418841169 627142 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :realy! < 1418841218 94777 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Yeah, javascript (very simular to the mnnbfsl interpreter I just posted). < 1418841285 139950 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :cool good luck :D < 1418841300 528734 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :i have posted an interpreter, but I haven't been able to write intereting programs with it yet < 1418841314 560955 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Encoding the tree is giving me some problems though. I need to brush up on that kind of data structure. < 1418841337 729791 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :it is a little difficult since its infinite/unbounded < 1418841347 903882 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :one way might be to grow the tree as needed < 1418841348 146695 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Can BF automatically translated to TH? < 1418841355 78587 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :yes its easy to translate < 1418841361 216333 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :just turn < to ^ < 1418841384 477575 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :since you can see a linear tape as just taking the right branch each time < 1418841406 517319 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Hmm. < 1418841424 874204 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :http://web.cecs.pdx.edu/~sheard/course/Cs163/Graphics/CompleteBinary.jpg < 1418841432 367348 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :like < 1418841436 255173 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :A > C > G > ... < 1418841439 167830 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :would be the brainfuck part < 1418841441 187180 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :and the rest is just ignored < 1418841485 466869 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :http://cs.anu.edu.au/~bdm/tree.png this is a better pictures < 1418841497 184406 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :so you have all this extra space than BF < 1418841502 1743 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :but it's hard to make good use of it < 1418841560 281273 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Is there anything interesting the tree can do, that's otherwise is hard to do in bf? < 1418841591 170846 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :the main thing is that you easily have as much memory as you choose next to any cell < 1418841602 827061 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://www.sweetandfizzy.com/fractals/index.html http://www.sweetandfizzy.com/fractals/diagrams.html < 1418841612 246791 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :whereas in brainfuck you would have to make sure you keep space around before starting < 1418841753 43132 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://www.webcitation.org/query?url=http://www.geocities.com/CapeCanaveral/Campus/8446/vid_fractals/index.html&date=2009-10-25+06:34:34 < 1418841758 196127 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :computerless fractals < 1418842272 847060 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :We were browsing our trip photos on the hotel room TV the other day, and I took a couple of silly feedback photos since I had the camera plugged in and all. < 1418842276 424847 :InvalidCo!invalidco@makkara.org QUIT :Ping timeout: 256 seconds < 1418842386 368185 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so can you make fractals like that with no camera at all, just using mirrors < 1418842395 556782 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :no reason you shouldn't be able to, right? < 1418842442 496005 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: I think it works like https://i.imgur.com/Q3aWVGf.gif as they said on another channel. < 1418842461 437506 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :god, I love that gif < 1418842494 761827 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(This was on a course channel for a 3D graphics course that's almost all about raytracing.) < 1418842604 189128 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :https://www.dropbox.com/l/nw8dddpkXVIYQgOYyDtGQr <- the usual thing < 1418842687 986706 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think the best part of these photos is your wife implicitly facepalming off-screen < 1418842709 495767 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"is THIS what they do at GOOGLE" < 1418842737 86930 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It wasn't quite like that. But it was a little bit like that. < 1418842774 611251 :J_Arcane!~chatzilla@dsl-trebrasgw1-50dff2-22.dhcp.inet.fi PRIVMSG #esoteric :It looks like an IBNIZ demo. < 1418843167 30826 :scounder!~scounder@unaffiliated/scounder QUIT :Read error: Connection reset by peer < 1418843206 961185 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1418843805 588727 :MDream!~fyrc@c-71-58-118-227.hsd1.pa.comcast.net QUIT :Quit: later chat < 1418843937 756694 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 264 seconds < 1418844140 882552 :roasted42!~appleseed@41.50.16.54 JOIN :#esoteric < 1418844309 33137 :scounder!~scounder@2a01:7a0:10:151:236:17:48:1 JOIN :#esoteric < 1418844420 327904 :roasted42!~appleseed@41.50.16.54 QUIT :Ping timeout: 258 seconds < 1418845281 559822 :mihow!~mihow@108.30.58.169 QUIT :Quit: mihow < 1418845401 346433 :InvalidCo!invalidco@makkara.org JOIN :#esoteric < 1418845689 179995 :mihow!~mihow@108.30.58.169 JOIN :#esoteric < 1418846443 18431 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1418846709 82278 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1418847338 548744 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Connection reset by peer < 1418847352 491813 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1418847507 366183 :InvalidCo!invalidco@makkara.org QUIT :Ping timeout: 250 seconds < 1418847944 98696 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Ping timeout: 265 seconds < 1418847995 829806 :dts|pokeball!~DTSCode@unaffiliated/dtscode QUIT :Ping timeout: 272 seconds < 1418848575 13393 :shikhin!~shikhin@unaffiliated/shikhin QUIT :Read error: Connection reset by peer < 1418848606 236837 :shikhin!~shikhin@120.59.105.155 JOIN :#esoteric < 1418848629 489558 :shikhin!~shikhin@120.59.105.155 NICK :Guest80998 < 1418849406 523563 :bb010g!uid21050@gateway/web/irccloud.com/x-wxhatkozsntjebdo JOIN :#esoteric < 1418849766 855428 :MoALTz!~no@user-46-112-11-86.play-internet.pl QUIT :Quit: Leaving < 1418850149 609909 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07StaPLe14]]4 10 02http://esolangs.org/w/index.php?diff=41492&oldid=41490 5* 03BCompton 5* (+3) 10/* Hello World */ Fixed syntax < 1418850806 254905 :jedi01!~jedi01@80.173.193.77.dyn.user.ono.com JOIN :#esoteric < 1418851010 173527 :InvalidCo!invalidco@makkara.org JOIN :#esoteric < 1418851266 11125 :jedi01!~jedi01@80.173.193.77.dyn.user.ono.com QUIT :Quit: Leaving < 1418852042 481713 :MDream!~fyrc@67.235.2.71 JOIN :#esoteric < 1418852544 232707 :GeekDude!~GeekDude@unaffiliated/g33kdude PRIVMSG #esoteric :BS sounds like an amazing language < 1418852629 153564 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Connection reset by peer < 1418852640 127516 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1418852810 890475 :callforjudgement!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1418852828 799603 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Connection reset by peer < 1418853132 294757 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Cluid, I guess because TH's binary tree is infinite and because you can only get to those nodes by computing its 'address' ("><>>><><>" or 10110101), that means some nodes will never be reachable." < 1418853162 293806 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Right? I could be confusing concepts. < 1418853227 572540 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :AndoDaan, I think you could write a program that touches each node eventually < 1418853241 514875 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :just like how you can write a prorgam that prints out every fraction for example < 1418853247 561956 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :I should try to do this < 1418853253 421754 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :GeekDude, brainsuck? < 1418853265 733341 :GeekDude!~GeekDude@unaffiliated/g33kdude PRIVMSG #esoteric :https://skillsmatter.com/skillscasts/6088-the-worst-programming-language-ever < 1418853271 117067 :GeekDude!~GeekDude@unaffiliated/g33kdude PRIVMSG #esoteric :BS, the worst programming language ever < 1418853286 90953 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :haha < 1418853365 27193 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can't because paths are infinite < 1418853370 685001 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can never touch the path 11111... < 1418853384 504043 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or the path 01001000100001000001... < 1418853404 77878 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :paths in an infinite binary tree, i.e. infinite lists of bits, are isomorphic to the reals < 1418853429 920411 :callforjudgement!~ais523@unaffiliated/ais523 NICK :ais523 < 1418853430 434039 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :we're only considering finite paths < 1418853431 972875 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Supernatural numbers. < 1418853474 146827 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ok, I was just replying to AndoDaan (since it is true that some nodes of the infinite tree will never be reachable) < 1418853489 805795 :AndoDaan!~AndoDaan@188.189.92.123 PRIVMSG #esoteric :Or that's what hofstadler called them. < 1418853492 941127 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :that isn't correct < 1418853504 959764 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :every node in the tree will have a finite path to it < 1418853597 853190 :S1!~S1@p4FF93B11.dip0.t-ipconnect.de JOIN :#esoteric < 1418853656 760290 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ok, yes, you're right < 1418853666 232263 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it would be cooler without that limitation though < 1418854322 39202 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :elliott: One could construct an infinite binary tree where each node corresponds to a rational number too < 1418854721 101516 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07StaPLe14]]4 10 02http://esolangs.org/w/index.php?diff=41493&oldid=41492 5* 03BCompton 5* (+93) 10/* Example Programs */ < 1418854729 275986 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :now that i think about it i'm pretty sure any graph with finitely (or even countably) many edges touching each vertex has a countable number of vertices in each connected component < 1418855281 172918 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 265 seconds < 1418855832 231379 :CrazyM4n!~CrazyM4n@ip70-162-52-61.ph.ph.cox.net JOIN :#esoteric < 1418855902 798771 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Deadfish14]]4 10 02http://esolangs.org/w/index.php?diff=41494&oldid=41476 5* 03BCompton 5* (+12) 10/* External resources */ Dead Link < 1418855908 493671 :mihow!~mihow@108.30.58.169 QUIT :Quit: mihow < 1418856077 506498 :S1!~S1@p4FF93B11.dip0.t-ipconnect.de QUIT :Quit: S1 < 1418856514 767233 :roasted42!~appleseed@41.50.16.49 JOIN :#esoteric < 1418856684 641382 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1418857227 337210 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :whoa, i just was informed that Gregor is a professor at Waterloo now < 1418857281 927947 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so does he have a napoleon hat < 1418857323 217169 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :also i meant "was just" but english is great it works either way < 1418857459 399500 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Phantom_Hoover: So how about those infinite trees corresponding to base-d digit sequences, then? One connected component, each vertex (except the root) has a degree of d+1, yet there's at least ond vertex for each real? < 1418857506 587613 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :oerjan, I thought of a fun thing to write in Treehugger if youre interesting < 1418857508 148422 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :interesed < 1418857509 504001 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :** < 1418857525 13577 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm he has a tricorn but not a bicorne < 1418857573 112463 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :O_O < 1418857586 52051 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@tell Gregor now that you're in waterloo you need a bicorn hth < 1418857586 219405 :lambdabot!~lambdabot@silicon.int-e.eu PRIVMSG #esoteric :Consider it noted. < 1418857606 721655 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :cluid: are you not familiar with http://choosemyhat.com/ < 1418857628 603466 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric ::D < 1418857629 571413 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :haha < 1418857674 730615 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :also, i don't think treehugger is quite my thing, although i _did_ implement V way back < 1418857683 281736 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :V? < 1418857689 373867 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :oh yeah < 1418857693 269844 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :BTW it's cool you should like it < 1418857721 522708 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :its like brainfuck < 1418857732 929044 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i mean, the thing that interested me about V was its weird operations and Treehugger is less weird... < 1418857740 644094 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :alright < 1418857754 149360 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :il read about V more < 1418857760 819331 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i don't think i was particularly interested in _programming_ V, once it became clear how to translate bf to it < 1418857803 151434 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :V seems a bit like a sort of rubiks cube type problem < 1418857924 847018 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hah in that case you should look at Jolverine < 1418858003 790629 :roasted42!~appleseed@41.50.16.49 QUIT :Ping timeout: 245 seconds < 1418858079 284582 :roasted42!~appleseed@41.50.16.49 JOIN :#esoteric < 1418858115 275128 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :I think this treehugger problem is really interesting < 1418858219 322687 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Phantom_Hoover: (Or I guess scratch that, there's just a path for each real. Bah.) < 1418858249 763792 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :it's so easy in brainfuck, but really hard in treehugger -that's funny bceause it was designed the opposite way < 1418858290 439402 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :wait isn't brainfuck trivially translatatble to treehugger < 1418858308 360441 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :yes < 1418858347 948275 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*-t < 1418858386 719712 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok what kind of problem can it be then < 1418858420 767803 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it'd need to be something aware of its implementation language < 1418858425 460199 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :yes thats right < 1418858438 854908 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :its not a self interpreter though < 1418858463 90096 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and a quine wouldn't be hard to modify slightly for different commands < 1418858485 773280 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :I could give a hint in the form of a BF program < 1418858489 377769 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :not that a quine is "so easy" in brainfuck < 1418858509 221216 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it's not theoretically hard, but it's messy < 1418858574 478697 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so i guess i am curious what the problem is, no promises though < 1418858597 86109 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :+[>+] < 1418858616 783423 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok that's an infinite loop < 1418858618 970454 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hm < 1418858623 540217 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :let me gues < 1418858626 786766 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*guess < 1418858637 779470 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you want something that touches every cell in the tree < 1418858653 214998 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :yeah! < 1418858666 571256 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm that's essentially labyrinth code isn't it < 1418858674 708228 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :I think this is even tricky for double sided brainfuck < 1418858687 925243 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :ah i see how to do it for that just push 1's out < 1418858689 262286 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think it should be quite easy < 1418858700 932068 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because basically the trailed 1s give you a path < 1418858714 336604 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :elliott, I would appreciate an implementation! I'm trying myself too but I think you would be able to tdo it quicker < 1418858720 15037 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: the problem is not going off on an infinite path and never coming back < 1418858734 859813 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: how could you? the tree starts as all 0s < 1418858746 208115 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe you would need a counter in the cells or something... < 1418858768 792761 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wait do you have to fill the nodes *above* you too < 1418858771 759909 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :since there is no root < 1418858776 568129 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :obviously < 1418858785 943000 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i don't think that makes it much harder though... < 1418858787 175098 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that sounds trickier, I was thinking just all the children of the initial cell < 1418858807 194297 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you just need to consider the starting cell the root < 1418858807 237509 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :okay it's just non-trivial I was wrong to think it's easy < 1418858818 191355 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric : Phantom_Hoover: So how about those infinite trees corresponding to base-d digit sequences, then? One connected component, each vertex (except the root) has a degree of d+1, yet there's at least ond vertex for each real? < 1418858829 19175 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: okay, yeah. < 1418858836 96434 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :do cells have limited range, I forget < 1418858838 106265 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :vertices corresponding to infinite sequences don't connect to anything < 1418858853 289671 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :for the sake of this program ets say cells can hold Integer (unbounded) < 1418858864 935514 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Phantom_Hoover: See also the other message. < 1418858967 332779 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :bah i think it's more interesting if they're bounded :P < 1418858992 307308 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :are you sure you can't get away with Bool cells < 1418859006 481706 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ouch < 1418859024 337509 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :possible? probably. but seriously awkward. < 1418859157 279314 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you'd want to store the direction to the root, at least < 1418859278 577648 :roasted42!~appleseed@41.50.16.49 QUIT :Ping timeout: 258 seconds < 1418859313 410444 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it should be possible to visit the cells in an outgoing spiral, essentially < 1418859349 801350 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hm < 1418859366 490480 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :one bit _is_ enough for the direction to the root < 1418859375 978723 :roasted42!~appleseed@41.50.16.49 JOIN :#esoteric < 1418859385 522567 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :assuming you know where you are coming from < 1418859403 755625 :TodPunk!~Tod@50-198-177-186-static.hfc.comcastbusiness.net QUIT :Ping timeout: 245 seconds < 1418859474 501587 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...problem is, not for telling you when you've actually _reached_ it. < 1418859505 617964 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :however, you could probably store extra bits in side branches < 1418859668 353910 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so hm on the path downwards to the root, a bit tells you what is the direction to the root, although the _other_ direction gives you a bit that tells if you're already there. < 1418859747 658266 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :as you go downward, you change the cells you are passing through to tell you the direction upwards instead. < 1418859765 28944 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :like a zipper inside the actual structure you're navigating < 1418859853 283722 :callforjudgement!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1418859873 555489 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1418860020 503528 :int-e!~noone@static.88-198-179-137.clients.your-server.de PRIVMSG #esoteric :oerjan: there's an easy 3rd place up for grabs in an ancient endless problem: http://golf.shinh.org/p.rb?ASCII+from+0x01+to+0x7f < 1418860057 92243 :MDream!~fyrc@67.235.2.71 NICK :MDude < 1418860079 279137 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :so how should I actually write this...h m....... < 1418860079 987992 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 272 seconds < 1418860086 217519 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Treehugger14]]4 10 02http://esolangs.org/w/index.php?diff=41495&oldid=41452 5* 03Oerjan 5* (+27) 10clarify infinity is rootless < 1418860086 435232 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :also I'm not really sure how to test it < 1418860119 351395 :TodPunk!~Tod@50-198-177-186-static.hfc.comcastbusiness.net JOIN :#esoteric < 1418860123 718451 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :oerjan, thanks for the edit! 'upwards' might be misleading though? < 1418860142 198089 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :the program ^ is similar to < in brainfuck.. you crash beacuse of going off the tape < 1418860159 482518 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :cluid: oh. then i've completely misunderstood. < 1418860164 391233 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and so have others, i think. < 1418860168 730887 :poq!~n@tor.subspace.systems JOIN :#esoteric < 1418860179 692353 :poq!~n@tor.subspace.systems PART :#esoteric < 1418860187 160117 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Treehugger14]]4 10 02http://esolangs.org/w/index.php?diff=41496&oldid=41495 5* 03Oerjan 5* (-17) 10it wasn't to be < 1418860204 307105 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that definitely changes what the space-filling program needs to do < 1418860208 992658 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: ^ < 1418860227 95157 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cluid: huh, didn't you say the tree was unrooted? < 1418860228 242990 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :THERE WAS A ROOT < 1418860232 88558 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so that you can go up forever < 1418860233 116380 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :http://esolangs.org/wiki/Treehugger/Implementation < 1418860243 123476 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :zero there is the initial tape < 1418860268 421213 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that is a shame, I liked the idea of it spanning infinitely like that < 1418860295 857773 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :I see what you mean about up < 1418860316 797027 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :that sounds hard to do you define that as Treehugger++ or something < 1418860328 337077 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :treehuger+=aleph_0 < 1418860330 325359 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :gg < 1418860336 341911 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: do you need to store the direction to the root? < 1418860344 814163 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :cluid: V did that. although you then have to decide whether up is rightward of leftward < 1418860358 263795 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :my thinking was that you'd arrange so that [^] gets you to the root or such < 1418860365 636234 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :of course it's not as simple as that < 1418860370 13097 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: all i said was based on the idea of it being unrooted < 1418860377 3431 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :right < 1418860385 752053 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :should be simpler without that < 1418860386 198293 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, I see, because that way you might have to go *down* to the root < 1418860390 480052 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :indeed < 1418860443 160921 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :actually < 1418860450 105311 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :if you have the root be 0 how can you fill every cell < 1418860451 983610 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :>_< < 1418860453 464768 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i have been thinking that if you wanted to a _really_ unrooted tree like this, you'd not want up to special, instead you'd just do "turn left", "turn right", and "go back where you came from" < 1418860458 370600 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*to do < 1418860458 534679 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :btw I am very pleased with using a zipper in this code < 1418860468 151149 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :okay the root isn't any less filled than the infinite number of cells below you but it feels weird < 1418860468 194334 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :it's called Z there < 1418860485 637887 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: heh that is a point < 1418860508 612357 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you cannot fill arbitrary many levels down with non-zeros. or can you? < 1418860516 44372 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :why not? < 1418860528 387126 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you could always flip the root to filled for one cycle when you got up there < 1418860530 219991 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i mean while keeping the root non-zero as well < 1418860538 993338 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then you could have nice freeze frames < 1418860554 713834 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :also my idea didn't intend to fill everything simultaneously < 1418860555 273983 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :see I assumed it was filling every cell below the one you start on, and that you could go up forever < 1418860562 654672 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so in that case [^] does put you to the root. < 1418860566 800573 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*move you < 1418860569 346695 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :which i guess doesn < 1418860570 20696 :roasted42!~appleseed@41.50.16.49 QUIT :Ping timeout: 264 seconds < 1418860580 518219 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :'t fit the analogy with +[>+] < 1418860581 751170 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that turning idea is nice for my generalised graph brainfuck idea I think < 1418860596 721190 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :I thought of Gridfuck < 1418860600 253005 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :it has <^>v < 1418860602 715981 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :four directions < 1418860614 494321 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :http://esolangs.org/wiki/Gridfuck < 1418860616 965272 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :it doesn't exist! < 1418860633 176335 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you'd have "focus previous/next edge", "follow edge (making you face back the way you came)", there is one edge for every integer, the initial state is one zero cell looped to itself an infinite number of times < 1418860661 142542 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :plus a (...) construct that means "reassign this edge to the cell we end up at", or something < 1418860669 547577 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and then a control structure less powerful than [] so you're forced to program with the graph < 1418860684 973883 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh plus a "connect a new cell to this edge" instruction. < 1418860694 624695 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(maybe it'd be better if you got an infinite number of cells to start with so you could omit that) < 1418860695 811211 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :gridfuck ha sloops, but treehugger is just a tree < 1418860722 226533 :cluid!~cluid@unaffiliated/cluid PRIVMSG #esoteric :"so you're forced to program with the graph" <- that is cool! < 1418860726 83480 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well anyway this would be impossible to program in because nobody can visualise graphs like this except mathematicians too good to care about esolangs