< 1535846414 984803 :oerjan!oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1535846801 249047 :zseri!~zseri@i5E86C525.versanet.de JOIN :#esoteric < 1535847070 274863 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535847324 918840 :erkin!~erkin@unaffiliated/erkin QUIT :Remote host closed the connection < 1535847328 267695 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 245 seconds < 1535847727 648227 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1535848189 334398 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :@tell wob_jonas my condolences about the teeth. They can be real pain sometimes < 1535848189 424121 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Consider it noted. < 1535848337 410937 :boily!~alexandre@cable-192.222.236.157.electronicbox.net JOIN :#esoteric < 1535848376 740491 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :https://esolangs.org/w/index.php?diff=57501&oldid=57500 => why I feel so sarcastic < 1535848618 601862 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1535848732 232799 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru QUIT :Ping timeout: 246 seconds < 1535849885 285206 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535850128 247720 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 245 seconds < 1535850630 228992 :icasdri!~icasdri@211.193.252.39 JOIN :#esoteric > 1535850778 736285 PRIVMSG #esoteric :14[[07Underload14]]4 10 02https://esolangs.org/w/index.php?diff=57502&oldid=57499 5* 03Oerjan 5* (-3) 10/* Underload minimization */ Golf more: aaa(!)(aa(!))(*a*:*^!*^):*^ -> aa(!)(a(!))(*a*:*^!a*^):*^ -> aa(!a)(!)a(*a*:*^!a*^):*^ -> a(!a)(!)(a*a*:*^!a*^):*^ < 1535850787 825657 :S_Gautam!uid286066@gateway/web/irccloud.com/x-tezfwxfunribgnmt QUIT :Quit: Connection closed for inactivity < 1535850918 325687 :icasdri!~icasdri@211.193.252.39 QUIT :Remote host closed the connection < 1535851246 637613 :oerjan!oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :@tell ais523 I golfed that more by looking at a trace of how it worked and adjusting so more a's could be done in the "shared" part. For a start, (K)_ = a(!) (K) *a*:*^!a*^ gives more sharing, then you can rearrange (!)(a(!)) to (!a)(!)a because they're contatenated, and then another pair of a's can be merged. < 1535851246 728183 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Consider it noted. < 1535851311 604649 :oerjan!oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :splengi :( < 1535851444 660735 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 240 seconds < 1535851658 790180 :boily!~alexandre@cable-192.222.236.157.electronicbox.net PRIVMSG #esoteric :bonsœøœøirjan. < 1535851663 524076 :boily!~alexandre@cable-192.222.236.157.electronicbox.net PRIVMSG #esoteric :@massages-loud < 1535851663 603503 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :quintopia said 16d 6h 4m 50s ago: polygod comes out of beta tomorrow. they say multiplayer actually works now. < 1535851663 603532 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :oerjan said 2d 10h 55m 14s ago: bood afternoily. that was certainly disturbing. < 1535851685 982561 :boily!~alexandre@cable-192.222.236.157.electronicbox.net PRIVMSG #esoteric :@tell quintopia QUINTHELLOPIA. oh yeah! < 1535851686 71843 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Consider it noted. < 1535852125 730212 :oerjan!oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :bood evenily. < 1535853099 169614 :xkapastel!uid17782@gateway/web/irccloud.com/x-xkuwdifgwlfcmvxe QUIT :Quit: Connection closed for inactivity > 1535853159 480177 PRIVMSG #esoteric :14[[07D.U.C.K.14]]4 N10 02https://esolangs.org/w/index.php?oldid=57503 5* 03HereToAnnoy 5* (+3025) 10Created page with "'''D.U.C.K.''' (which stands for D.U.C.K.'s Name Has Been Changed, But Not Yet (suggest a better one on the talk page (the acronym must be D.U.C.K.))) is an esoteric program..." > 1535853198 902566 PRIVMSG #esoteric :14[[07D.U.C.K.14]]4 M10 02https://esolangs.org/w/index.php?diff=57504&oldid=57503 5* 03HereToAnnoy 5* (-86) 10nevermind, better idea < 1535855092 238333 :zseri_!~zseri@i5E86D0A2.versanet.de JOIN :#esoteric < 1535855303 285439 :zseri!~zseri@i5E86C525.versanet.de QUIT :Ping timeout: 245 seconds < 1535855617 325407 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535855867 322542 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1535855869 465370 :boily!~alexandre@cable-192.222.236.157.electronicbox.net QUIT :Quit: HOUSE CHICKEN < 1535856082 669778 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1535856520 955158 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :What role playing system (other than Scientific Role Playing System) has no character definition points or levels or class or whatever and instead you can just make up nearly whatever kind of characters you like to do? < 1535859453 386619 :zseri_!~zseri@i5E86D0A2.versanet.de PRIVMSG #esoteric :@messages < 1535859453 476273 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :You don't have any messages < 1535859520 498457 :zseri_!~zseri@i5E86D0A2.versanet.de QUIT :Quit: Leaving < 1535861949 670542 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535862214 657968 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1535862844 661345 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 240 seconds < 1535865160 271626 :Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net JOIN :#esoteric < 1535865162 400003 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535865264 406376 :Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net QUIT :Ping timeout: 244 seconds < 1535865432 349613 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 252 seconds < 1535865655 282183 :bradcomp!~bradcomp@c-67-161-161-17.hsd1.ca.comcast.net JOIN :#esoteric < 1535866040 985513 :S_Gautam!uid286066@gateway/web/irccloud.com/x-zpnhlqeoxbrgpbio JOIN :#esoteric < 1535867107 275931 :bradcomp!~bradcomp@c-67-161-161-17.hsd1.ca.comcast.net QUIT :Ping timeout: 240 seconds < 1535868577 497 :oerjan!oerjan@hagbart.nvg.ntnu.no QUIT :Quit: Nite < 1535871075 265865 :Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net QUIT :Ping timeout: 252 seconds < 1535871128 663390 :TriangleSausage!~TriangleS@i60-47-52-105.s41.a011.ap.plala.or.jp JOIN :#esoteric < 1535871176 640684 :TriangleSausage!~TriangleS@i60-47-52-105.s41.a011.ap.plala.or.jp QUIT :Remote host closed the connection < 1535871480 245073 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535871648 335853 :Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net JOIN :#esoteric > 1535871708 199640 PRIVMSG #esoteric :14[[07Pxem14]]4 M10 02https://esolangs.org/w/index.php?diff=57505&oldid=57484 5* 03YamTokWae 5* (-130) 10/* Examples */ < 1535871727 219157 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 246 seconds < 1535871959 267528 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net JOIN :#esoteric < 1535872376 836675 :john_metcalf!~digital_w@host86-133-49-189.range86-133.btcentralplus.com QUIT :Ping timeout: 272 seconds < 1535873726 402470 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535874787 406034 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 240 seconds > 1535876029 935184 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Priyal 5* 10New user account < 1535876030 761942 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1535876075 363391 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535876623 280429 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1535876712 830487 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection > 1535877200 606596 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 M10 02https://esolangs.org/w/index.php?diff=57506&oldid=57430 5* 03Priyal 5* (+277) 10 > 1535877241 787979 PRIVMSG #esoteric :14[[07User talk:Priyal14]]4 N10 02https://esolangs.org/w/index.php?oldid=57507 5* 03Priyal 5* (+5) 10how are you < 1535877363 623648 :S_Gautam!uid286066@gateway/web/irccloud.com/x-zpnhlqeoxbrgpbio QUIT :Quit: Connection closed for inactivity < 1535878110 271501 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535878674 446769 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Remote host closed the connection < 1535878701 265167 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1535878962 325034 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Ping timeout: 252 seconds < 1535881284 232238 :moei!~moei@softbank221078042071.bbtec.net QUIT :Quit: Leaving... < 1535884395 895477 :moei!~moei@softbank221078042071.bbtec.net JOIN :#esoteric < 1535885935 373492 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1535886207 315484 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Ping timeout: 240 seconds < 1535887194 875566 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1535887229 684034 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535887483 631017 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 250 seconds < 1535887709 999987 :erdic!~erdic@unaffiliated/motley QUIT :Ping timeout: 252 seconds < 1535887781 601011 :erdic!~erdic@unaffiliated/motley JOIN :#esoteric > 1535888137 677135 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Orisphera 5* 10New user account < 1535888989 867997 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1535889186 850225 :fungot!~fungot@momus.zem.fi QUIT :Ping timeout: 252 seconds < 1535889273 834188 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1535889506 845791 :fungot!~fungot@momus.zem.fi JOIN :#esoteric < 1535891392 197699 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru JOIN :#esoteric < 1535892192 415070 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535892447 294562 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1535892864 277133 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1535893136 374204 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1535893171 741722 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Read error: Connection reset by peer < 1535893193 264852 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1535893462 233397 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Ping timeout: 246 seconds < 1535893622 702599 :xkapastel!uid17782@gateway/web/irccloud.com/x-kgyyrpmjlwasjwal JOIN :#esoteric < 1535895362 328908 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535895627 451146 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 252 seconds < 1535896652 267803 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1535896836 849566 :ep100!~max@197.89.245.197 JOIN :#esoteric < 1535897286 404808 :x49F!~x49F@2a01:5580:dffc:15d:ca54:4bff:fe0b:97c JOIN :#esoteric < 1535897824 632386 :x49F!~x49F@2a01:5580:dffc:15d:ca54:4bff:fe0b:97c QUIT :Ping timeout: 240 seconds < 1535898137 281481 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535898166 662565 :karstensrage24!~karstensr@softbank126082177207.bbtec.net JOIN :#esoteric < 1535898229 961800 :karstensrage24!~karstensr@softbank126082177207.bbtec.net QUIT :Remote host closed the connection < 1535898397 226076 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 246 seconds < 1535899557 803797 :int-e!~noone@int-e.eu QUIT :Ping timeout: 240 seconds < 1535899580 834743 :rain1!~rain1@unaffiliated/rain1 PRIVMSG #esoteric :hi eso < 1535899590 850261 :rain1!~rain1@unaffiliated/rain1 PRIVMSG #esoteric :https://bootstrapping.miraheze.org/wiki/The_Semantics_Assignment_Problem do you want to see my blog post? < 1535899599 263133 :int-e!~noone@int-e.eu JOIN :#esoteric < 1535901768 932675 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :hi all, do you know any language that allows some objects to implement different interfaces (or, say, have different APIs) at the different moments of its lifetime? It would have the same state (modulo RTTI), but the compiler (and runtime) would disallow casting it to currently unsupported interfaces < 1535901942 696928 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :it could be useful for building complex structures and then freezing them, without a need either to copy all the built to a new object of a different type (with a restricted API) or checking freezeness manually in its code at any attempt to mutate its state when its frozen < 1535902002 8167 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :also could this approach be transparently emulated in a language such as C# somehow < 1535902204 42231 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :in a language with linear types, it could be easier I presume. Then we could abandon something old completely without fear it would be picked up and used by someone to poking the presumably-immutable-now data < 1535902268 702287 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :also this approach would be nice for more complex DFAs < 1535902300 52258 :Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1535902329 825625 :Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net JOIN :#esoteric < 1535902476 670906 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :maybe also anything on various Builder-alternatives in various langs is appreciated < 1535903017 297393 :nfd9001!~nfd9001@c-73-157-90-101.hsd1.wa.comcast.net QUIT :Ping timeout: 246 seconds < 1535903679 342264 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535903943 333705 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 252 seconds < 1535904131 280403 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 JOIN :#esoteric < 1535904382 419471 :Keanu73!~Keanu73@117.241.97.175 JOIN :#esoteric < 1535904406 202587 :Keanu73!~Keanu73@117.241.97.175 NICK :Guest56347 < 1535904419 551552 :Guest56347!~Keanu73@117.241.97.175 QUIT :Remote host closed the connection < 1535904433 227334 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: sure, you can do that in several OO languages. < 1535904512 279628 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: some ruby built-in classes like arrays or strings have a built-in freeze! method IIRC that just turns on a bit so if you later try to modify the contents of that container, it gives a runtime error. < 1535904582 259882 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ruby also lets you do all sorts of crazy runtime stuff that can break like anything if you do it carelessly, such as adding or removing or modifying methods of a class, or "adding methods to an object" (for all non-thin objects) < 1535904647 493494 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :the latter actually works such that the first time you add a method to an object, it creates a custom class inheriting from the original class of that object, and changes the object in place so its class is this new class, except some queries will still lie that the old class is the class of that object < 1535904737 941936 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Perl just lets you directly change the class of any reference to any classname at runtime with the bless function, which is the primary interface to create objects that are members of classes, but normally you only use it once, soon after you create the object < 1535904744 187789 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net QUIT :Read error: Connection reset by peer < 1535904766 10940 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :this can be useful for some optimizations, like transparently changing the class of an object to a different class that implements the same interface < 1535904809 88344 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :such as upgrading a class to a slower implementation on demand when necessary < 1535904841 516404 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :perl also lets you just add or remove or modify methods of classes at runtime < 1535904926 865883 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :or create new classes at runtime, but the difficulty with that is that the reference from an object to its class is always by name, so you can't use the normal reference counting mechanism to collect classes used that way, you have to arrange the class to get destroyed in some other way if you don't want to leak it < 1535905033 694807 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Smalltalk also has a primitive to swap the contents of two objects, which, if I understand correctly, is mostly used in practice to replace the low-level non-resizable array associated with the object (there's zero or one associated with every object and no other primitive way to replace it), to implement the built-in array and dictionary classes < 1535905082 249009 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I think that could be used to change the class of an object. < 1535905169 90284 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :In C++ you can construct a new object in place of an old one, and if you make sure there's enough space, they can be of different classes, but there are some arcane rules for how you're allowed and forbidden to handle references or pointers to the object through that, so it's not something you often do without wrappers. < 1535905265 720646 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I think that unlike perl, ruby or python2/3 doesn't just let you arbitrarily replace the class of an object by a different class, because objects of different classes can have different internal representations. < 1535905338 895978 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :But in ruby, with the add method to class (metaclass) mechanism, you can effectively change the class of the object to satisfy any reasonable interface. < 1535905372 54419 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :(Certain interfaces are restricted, eg. only certain built-in thin objects behave as false in conditionals.) < 1535905414 896896 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1535905528 563066 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :In rust, you definitely can't change the type of an object, because references and pointers to it know the type. (That works like ancient pre-standard versions of C++, in which the virtual method table pointer wasn't stored with the object, but with references to it.) < 1535905568 982151 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :You can only change the runtime behavior of an object directly by making functions operating on that object check some condition. < 1535905629 854637 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :But with a level of indirection, you can effectively change the object: you can have a reference that can store at runtime a reference to any type satisfying some interface. < 1535905694 219836 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Modern haskell also lets you do that with indirection, it lets you have a cell that stores a reference to any type of object that satisfies some interface. < 1535905748 864757 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :And "modern" is an overstatement, I think that was already possible a decade ago. < 1535905778 611628 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: Is that a good enough answer? I don't know enoguh about golang. < 1535905778 709870 :ep100!~max@197.89.245.197 QUIT :Ping timeout: 272 seconds < 1535905825 356558 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I know golang has interfaces and types, but I don't know how they work. I also don't know enough about JVM or java, but I think some people here might. < 1535905883 475411 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wob_jonas: ruby also lets you do all sorts of crazy runtime stuff that can break like anything if you do it carelessly => yeah, that’s why I’ve got over a book on it a while ago. Python is saner < 1535905936 905383 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: you must hate perl too then, it's similar < 1535905970 272270 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :which python? python 2/3 or python 1 already? < 1535906019 342337 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :. o O (Ruby, Perl, Smalltalk, C++ seems like an ominous sequence of language examples) < 1535906171 907687 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :oh right, arseniiv is young, you might not have even met python 1. good. < 1535906182 729420 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wob_jonas: Is that a good enough answer? => IDK but it’s very comprehensive nonetheless; also it’s definitely useful on inderections < 1535906200 160995 :boser7!~boser@190.73.61.112 JOIN :#esoteric < 1535906231 990872 :boser7!~boser@190.73.61.112 QUIT :Remote host closed the connection < 1535906306 268946 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :IIRC in Haskell it would be something like x :: (… a) => a, but it’s immutable though. And if Haskell had linear types, it would be useful in this context lot indeed < 1535906337 258095 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :javascript/ecmascript would be a reasonable language to ask this about too, and you have to ask others in this channel for that too < 1535906376 337976 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wob_jonas: which python? python 2/3 or python 1 already? => 2/3 with the weight on 3 :D I could only imagine what a thing should Python 1 had been < 1535906414 699683 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I think HQ9++ doesn't let you change the class of existing objects, despite that it lets you create new classes at runtime. < 1535906429 330960 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :(rofl) < 1535906467 507797 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :There are OO versions of Intercal, with classes and lessons, but I don't know how they work < 1535906628 987126 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :In JavaScript you can use Object.setPrototypeOf() to change the prototype of an object (any properties (methods are also properties) of an objects that you access but aren't on that object itself are looked in the prototype; if not there, in the prototype's prototype, etc) < 1535906665 13258 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: so it has the power of reblessing like perl. ok. < 1535906940 865258 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I don't recall who other than ais523 and zzo38 are familiar with OO intercal, and I don't recall who other than ais is familiar with JVM, but I think for the latter there was someone else in the channel. I don't know if anyone in the channel is familar with golang. < 1535907066 862162 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535907088 656852 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1535907142 417545 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@messages- < 1535907142 468664 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :oerjan said 15h 31m 36s ago: I golfed that more by looking at a trace of how it worked and adjusting so more a's could be done in the "shared" part. For a start, (K)_ = a(!) (K) *a*:*^!a*^ gives < 1535907142 569452 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :more sharing, then you can rearrange (!)(a(!)) to (!a)(!)a because they're contatenated, and then another pair of a's can be merged. < 1535907197 281486 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :oh hi ais523 < 1535907204 121625 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hi < 1535907212 505150 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :are you in a better mood to tell me what's wrong with DBI yet? < 1535907217 729557 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv was just asking about some OO stuff so I ranted at him about some OO languages < 1535907275 844545 :heroux!sandroco@gateway/shell/insomnia247/x-jzoaeqccxzbkbmun QUIT :Read error: Connection reset by peer < 1535907275 891086 :heroux_!sandroco@gateway/shell/insomnia247/x-txzancckbfweuqsy QUIT :Read error: Connection reset by peer < 1535907282 355977 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: firstly, I don't think I want an abstraction for every SQL DB out there, at least not as the most popular interface. usually I just want a perl interface that wraps the interface of one DB. < 1535907289 304586 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :object oriented INTERCAL probably does silly things if you try to do "normal" OO programming with it < 1535907294 286460 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net JOIN :#esoteric < 1535907305 744648 :heroux!sandroco@gateway/shell/insomnia247/x-etbfyxdgktmspled JOIN :#esoteric < 1535907308 426496 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Claudio Calvelli is known for leaving minefields in his INTERCAL extensions that subtly screw up attempts to translate more normal code < 1535907332 979792 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: secondly, bad default settings, the most annoying being the auto-reconnect being on, which has a huge potential to cause hard to debug bugs that appear rarely unless you override it. < 1535907340 686980 :heroux_!sandroco@gateway/shell/insomnia247/x-wgetguyphsjseuze JOIN :#esoteric < 1535907362 338934 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh wow, that does sound bad < 1535907372 654621 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :luckily my current plan is to read through all the settings and set the ones that could matter explicitly < 1535907390 305807 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(that said, an auto-reconnect feature may be just what I need at work at the moment…) < 1535907394 426741 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :mind you, it's possible that auto-reconnect is the one bad thing that won't hurt as much with sqlite as with some other database connecting through the network < 1535907428 725914 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: most databases have a sane interface in C that you can just easily wrap in perl to an interface that looks similar. < 1535907437 102478 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Having the interface for just one DB is good because different SQL implementations have different functions. < 1535907457 699495 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think SQL would benefit from being standardised < 1535907486 266619 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(incidentally, the dynamic typing is my least favourite thing about SQLite, and I'm not 100% convinced that it works the same as static typing for the same programs, like they claim it does) < 1535907555 776044 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :SQL is standardised, although most implementations do not implement the entire standard and also add their own stuff too < 1535907559 542981 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: that's an understatement. string concatenation being done two or three different ways in SQL databases is horrible. < 1535907570 628249 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there is a standard but I wouldn't call it standardised < 1535907804 185722 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :You could make a modified version of SQLite if you have to < 1535907855 106562 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I kind-of assume that database engines "should be" statically typed as it would help them make optimisations < 1535907856 592944 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :The "+" operator does string catenation in MS SQL but not in SQLite. The "||" operator does string concatenation in SQLite and PostGre but doesn't exist in MS SQL and does logical ior in MySQL. < 1535907896 107184 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this actually came up in a hypothetical query a while back, I was wondering if SQLite could optimise it and the answer was "no, because it doesn't know that booleans are necessarily either true or false, so you have to put an IN (TRUE, FALSE) condition on the query explicitly" < 1535907940 120621 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: schmorp said he doesn't use sqlite because of its dynamic typing, and says it's bad because it would take up too much storage overhead in some of the large databases he uses. < 1535907967 392614 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1535907974 658970 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, it inherently seems hard to optimise < 1535908020 372632 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :So I accept that it's not a database engine you want to use for all your databases, but I still like SQLite, and there are applications when the dynamic typing with all its overhead doesn't matter much. < 1535908035 57300 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Applications when that overhead isn't a bottleneck. < 1535908101 664383 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :There are applications where dynamic typing is helpful for some data, too < 1535908135 613051 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :And schmorp is the guy who sometimes does crazy stuff to optimize something in pure perl when all the dynamic allocation and dynamic typing and stuff like that slows things down in perl, while at the same time he also knows the perl-C "interface" better than almost any programmer, and can write decent C code that would be at least as optimized just < 1535908135 687143 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric : fine. < 1535908164 32643 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :It even rubbed a bit on me, I tried some perl optimizations, though of course they're nowhere nearly as crazy as his. < 1535908229 498804 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I personally think he underestimates the amount he could do the same sort of crazy optimizations when using sqlite, but whatever. < 1535908258 913368 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Maybe he really needs to handle such large databases and it's not worth for him to learn sqlite. < 1535908285 363454 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Remote host closed the connection < 1535908292 866498 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, there are other database systems and SQLite is not for everything. But SQLite is good for many things, I think. < 1535908440 738759 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: I think SQLite has plenty of potential for such optimisations but they'd probably go against its goals somewhat < 1535908609 921375 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric : What role playing system (other than Scientific Role Playing System) has no character definition points or levels or class or whatever and instead you can just make up nearly whatever kind of characters you like to do? ← the simplest role playing system I know is Roll to Dodge, although most players don't take it very seriously < 1535908625 826995 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: yes. you use the tool for what it's good for, and work it around when it doesn't work well. just like I like to do with every software. < 1535908665 103768 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :(I should try to install gimp 2.10.6 or something.) < 1535908676 282395 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :basically, whenever you try to take an action, you roll a 6-sided dice, on a 5 it works perfectly, on a 4 it mostly works, on a 3 it partially works, on a 2 it doesn't work at all, on a 1 it does the opposite of what it was meant to, and on a 6 it works too well and produces an undesirable result despite technically doing what you said < 1535908685 463661 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: can you answer arseniiv's original question for JVM? < 1535908707 225033 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :it was something about objects and them changing what interface they satisfy. arseniiv, what is the question? < 1535908714 455316 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this system has huge balance issues as written because it doesn't take the difficulty of the action into account, but if you rule that "works perfectly" is still not good enough in the case of actions that should be impossible, it may be workabl < 1535908714 703685 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :what was the question before I morphed it that is < 1535908715 476857 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*workable < 1535908723 34316 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: I missed the question < 1535908739 780709 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: also, who on this channel other than you knows JVM? < 1535908741 374524 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :however, from your vague description, I suspect the answer is no for Java and yes for Perl, as it would be for any question that's approximately like that < 1535908755 419884 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't know; there are probably others but we don't discuss Java much here < 1535908758 279977 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: ok, but how about JVM? < 1535908783 995988 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :ais523: Yes; I know that is no good; Scientific Role Playing System does have to do it with taking difficulty into account and so on, much more complicated than that, and more scientific. < 1535908796 373309 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :on the JVM the classes and interfaces extended and implemented by any given object are fixed when it's created, and there's no way to subsequently change that using in-language and in-JVM APIs < 1535908832 33694 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: and you can't replace objects in place, right? < 1535908839 136556 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :apparently there's some sort of live update API that can change the definition of a class at runtime but I don't know how it works, and it may a) be proprietary or b) not exist yet < 1535908843 351380 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: indeed < 1535908849 31932 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ok < 1535908870 782792 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in theory you could attach a debugger to yourself, walk the heap to find all the inbound references to the object, and edit them all in place < 1535908876 179959 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but it'd be massively inefficient and pretty scary < 1535908886 925709 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :oh, I've heard of people trying that in perl < 1535908888 441117 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I know this subject pretty well as it'd be really useful for my day job if it were possible) < 1535908896 3121 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :(without the debugger part) < 1535908903 974914 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :but with the goal of debuggign < 1535908911 471235 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :that is, finding where an object is referenced from < 1535908918 222389 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, in Perl you can do things like casually replacing the main loop of the interpreter if you want to < 1535908921 647130 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :so they walk the heap to find a name (or another name) for an object < 1535908924 567037 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :while the program is running! < 1535908945 365178 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535908959 558196 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :oh, I guess I should also mention lua < 1535908978 637689 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric : hi all, do you know any language that allows some objects to implement different interfaces (or, say, have different APIs) at the different moments of its lifetime? It would have the same state (modulo RTTI), but the compiler (and runtime) would disallow casting it to currently unsupported interfaces < 1535908980 13024 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :found it < 1535909038 482932 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and yes, Perl has low-level operations that can accomplish that, although the operations in question don't have the sort of safety checks you were looking for < 1535909047 316223 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you could probably implement them using higher-level operations < 1535909122 976299 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Rust is interesting in this respect as it always does run-time polymorphism via wrapper objects, and so you could create a new wrapper object to implement another interface if you wanted to, the object itself wouldn't know what interfaces it was meant to be implementing < 1535909181 660083 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :lua also lets you rebless (change the class) an object at runtime arbitrarily, at least as much as you can have them have a class in first place (objects of some types like numbers and strings and light userdata have a fixed class depending on their low-level type; and full userdata can only be created or reblessed from the C API, not the normal lu < 1535909181 750127 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :a function that lets you bless or rebless a table), < 1535909187 282921 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, JavaScript is another language where you can do this sort of thing, due to prototype-based inheritance (each object effectively acts as its own class so you can just start putting methods on it at runtime), although JavaScript doesn't have the concept of typed interfaces < 1535909216 167409 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the same general idea would work in Feather if it existed < 1535909254 447103 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :there's just one limitation, namely that if you change certain attributes of an object that affect the garbage collector (namely the finalizer and the weak key and weak value bits) either by reblessing or changing a class, then that might not immediately take effect. < 1535909266 987306 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: also, HQ9++ doesn't let you create new classes at runtime < 1535909278 783128 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the ++ instruction is the equivalent of Java's «a += 2; new Object();» < 1535909304 361023 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :presumably the objects in question are garbage collected immediately as you can't actually do anything with them < 1535909307 220908 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: zzo38 already mentioned javascript and said the same, namely that it has a function for reblessing an object by changing its prototype to any object at runtime < 1535909356 370852 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: no way. the docs for HQ9++ say "increments the accumulator twice, and also instantiates an object of a new subclass of the generic superclass" < 1535909367 139645 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, new subclass < 1535909379 112342 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :how incredibly dynamic of it < 1535909398 306394 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you can't even implement that in Java without actually generating the bytecode for the new class at runtime :-D < 1535909410 374638 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: yes, but you can implement it in ruby < 1535909414 285877 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I guess you could use Proxy < 1535909417 830604 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :or in lua < 1535909433 18069 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but it'd probably reuse the classes it generated unless you tried hard not to < 1535909466 53440 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :«a += 2; new Object() {};» is close to what HQ9++ is doing, except that Java will reuse the same anonymous class each time < 1535909557 361924 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :or in javascript < 1535909748 325232 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :have anyone heard of posits (a number format akin to floating point), WDYT? < 1535909763 137342 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I haven't heard of it < 1535909791 920263 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I have < 1535910056 848179 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :arseniiv, what is the question? => actually I’m more interesting in sensible (less entities, less code) builder pattern replacements and in emulation of those former “interface-changes” in a lang that doesn’t support class changing, and in statical correctness overall < 1535910104 167066 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: um, I don't relaly understand that... < 1535910109 787882 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the Moose library, which is a Perl OO library that's less low-level than its built-in OO primitives, has some sort of reblessing built in as an official thing that's supported < 1535910129 62121 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :my brain ceased to listen to "sensible builder pattern replacements" < 1535910198 275316 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :arseniiv: my current idea for what a sensible builder pattern looks like is to have typed partially constructed objects < 1535910218 759758 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :like, they start off with some of the fields as write-only and they can gradually be changed to read-only as the object gets more defined < 1535910225 699563 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and the type reflects which fields are readable at the moment < 1535910283 750384 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is something that's mindboggingly hard to do in most languages and yet would make builder-pattern code much cleaner (also things like StringBuilder, which I think isn't the builder pattern despite its name?) < 1535910436 312393 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :ais523: nice < 1535910461 147874 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :yeah StringBuilder doesn’t seem to be a builder in the concrete sense < 1535910486 628661 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it turns out that in most languages there are ways to get at partially constructed objects /anyway/, so may as well have sensible semantics for them < 1535910502 105014 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :oh, that builder pattern. not the other one. I have used that. < 1535910531 358743 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :not ais's idealized one, the plain builder pattern with an attributes object and a handle object and an open function that takes an attribute object and constructs a handle object < 1535910543 776671 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :as in, I created such an interface < 1535910564 868265 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :although I’d squash all that fine type information to one flag (writable/frozen?) maybe, as it seems too much complexity. If I’d build a compiler, that is :D < 1535910571 268261 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :and in that case, the attribute object is just a plain struct with all fields having a default value. < 1535910583 836064 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :and like twenty fields. < 1535910602 17570 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :arseniiv: well the idea is to prevent fields being read before they've been written < 1535910608 906258 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: if you just want one frozen flag, I already mentioned ruby has that < 1535910643 991148 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wob_jonas: isn’t it too much repetition? The same fields in the struct and the result < 1535910680 173431 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :In JavaScript you can create objects that have any prototype, although they will not necessarily work, for example Object.create(Int16Array.prototype) creates an object, but if you try to access the "length" property of the created object it throws an error. < 1535910687 16712 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :ais523: well the idea is to prevent fields being read before they've been written => ah, in this generality I agree it’s a useful thing < 1535910712 358047 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :come to think of it, you can probably do something like this in OCaml < 1535910735 414154 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :many languages have other special tricks to support building arrays with an appendable array that is then converted to a fixed size array. < 1535910782 515841 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although in OCaml it's more idiomatic to make a changed copy of an object than to mutate the original, and I don't think you can do this while mutating the original < 1535910793 64164 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :python2/3 has appendable arrays called "list" and frozen arrays called "tuple" and a function "tuple" to cast that I think optimizes the case when the refcounter knows there's no other reference or something < 1535910826 122309 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :rust has a trick for this with Vec and Box<[T]> < 1535910830 153139 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wob_jonas: if you just want one frozen flag, I already mentioned ruby has that => but it’s for intrinsic classes, no? And I could use an actual flag in my class, but it’s cumbersome to check it in any method which can mutate state; copying state is cumbersome too, and an immutable adapter is slightly cumbersome too, as one could possibly mutate its adaptee (no linear types!) < 1535910892 319840 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :some people want to add the rust trick to C++ by adding a release method to the interface of std::vector so you can build a std::unique_ptr from it < 1535910893 553677 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wob_jonas: is Vec appendable? < 1535910952 589077 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I guess it must be, because [T] is the nonappendable version < 1535910957 409166 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: yes, Vec is like C++ std::vector, appendable on the right, tracking the size and capacity separately, automatically growing in like powers of two (the exact pattern of growth is not guaranteed), you can pre-allocate to capacity if you know in advance or shrink later < 1535910999 230860 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :many of the programming projects in C I start on end up stalling because I get sidetracked by trying to figure out the best way to do appendable arrays :-D < 1535911051 377987 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: but unlike in C++, there's some strong guarantees on how Vec actually works, which fix everything except for the growth pattern and the actual memory representation of the Vec header, so you can deconstruct a Vec to a triplet of a pointer to the first element, size and capacity, and rebuild Vec from that, < 1535911094 723417 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :and there's a method that converts a Vec to a Box<[]> that is in place if the capacity is equal to the size (otherwise it has to shrink first) < 1535911129 536611 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :so Vec is the officially supported way to build a Box<[]> incrementally < 1535911130 424409 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, now I'm curious as to whether Rust uses a memory allocator that has guaranteed shrink-in-place < 1535911183 787416 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :and if you try to reinvented building a Box<[]> incrementally, you'll likely reinvent Vec, because during building you need to track how many members are initialized so you can deconstruct them if an exception is thrown < 1535911205 992435 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: I don't think it guarantees shrink-in-place < 1535911247 48225 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: in fact I think guaranteeing that would be bad, because it would make it hard to optimize handling small arrays in the allocator < 1535911251 503675 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes < 1535911274 443269 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shrink-in-place is one of those things that sounds trivial, but ends up interfering with a number of optimisations < 1535911279 567501 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :and small arrays are a common enoguh case in many programs that it's worth to optimize < 1535911322 691719 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :it's even more of a problem for rust than with C malloc, because it has sized deallocate < 1535911359 18337 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :SQLite documentation mentions using SQLite for internal data. Free Hero Mesh uses SQLite for some of its internal data (although not all), as well as for the user cache file, and also to allow the user to use SQL codes to extend the user interface at runtime. < 1535911361 82609 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you mean the deallocator has to be given the size explicitly, rather than tracking it internally? < 1535911362 324874 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wob_jonas: (if you’ve used Rust enough) how is Rust’s borrowing in practice? Is it hard to learn to not violate? I’m going to poke at Rust in the future < 1535911388 171190 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I like that, there seem to be two optimal ways to use an allocation system and that's one of them < 1535911399 163680 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(the other is to have the allocation system track the lengths of everything and provide an API to get at them) < 1535911418 660313 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :(SQLite documentation does not mention using SQLite in this last way.) < 1535911436 526652 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: yes, exactly < 1535911466 127022 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: that works because currently every rust object knows its length, though recently they've added abstract objects that don't, but the allocator isn't geared for that < 1535911499 786800 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you'd think an abstract object would be responsible for deallocating itself, because there's no obvious reason why it would be using the same allocator as the rest of the code < 1535911555 20681 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: I haven't used rust enough, but I really like rust's borrowing, it matches well with my style, and you can break the abstraction and manage pointers explicitly when it gets in the way, though you have to learn rust's rules for what's allowed and they're different from C's and C++'s rules < 1535911589 305906 :Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net JOIN :#esoteric < 1535911653 651951 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: sure, or more like, whoever owns the object is responsible for deallocating the object, so a pointer/reference to an object could point to something that was allocated in the box or on the stack or in a global static in the data segment or any other way, just like with a C or C++ pointer or reference < 1535911687 336468 :Sgeo!~Sgeo@ool-18b98dd9.dyn.optonline.net QUIT :Ping timeout: 240 seconds < 1535911692 591926 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: but that's not the part that differs from an abstract object to a sized or dynamically sized object < 1535911748 197377 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: the part that differs is that you can't move or copy an abstract object, at least not directly, because rust doesn't know its size at runtime and it's not even guaranteed that moving or copying wouldn't violate some abstraction < 1535911770 642736 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that makes sense < 1535911774 312837 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :and I think they're not called abstract objects, I'm just stupid < 1535911783 525733 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :opaque is a better name, but I'm not sure what the rust name is < 1535911792 391795 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is kind-of like Lua light userdata, which it can't do anything with because it's just a pointer and it doesn't know any details about what it's pointing to < 1535911795 281576 :XorSwap_!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net JOIN :#esoteric < 1535911804 242584 :Sgeo__!~Sgeo@ool-18b98dd9.dyn.optonline.net JOIN :#esoteric < 1535911810 571044 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :all you can do is pass it to user-defined functions which might know what sort of thing it's pointing to < 1535911879 110427 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :traditionally rust had only Sized objects, whose size is known at compile time, and unsized object, whose size is known at runtime, and they can be an array or str or a trait object or an object with one of those as their trailing field (but this fourth one is barely supported) < 1535911886 419282 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :s/array/slice/ < 1535911926 608018 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: yes, but this is a compile-time thing the typechecker and all sorts of language semantics have to know about, which is why it's hard to introduce when so much of rust was built on the assumption that such objects don't exist < 1535911947 280449 :Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net QUIT :Ping timeout: 240 seconds < 1535911968 147118 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: it's hard to make sure that they can exist and that most of the operations that make sense on them still work but you can't do anything on them that doesn't make sense and not much backwards compatibility is broken < 1535912029 198171 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :If it was only a runtime dynamic-only thing, then it wouldn't be hard to support, in fact rust already supports them through a pointer to the start of the object and pointer arithmetic and pointer casting < 1535912070 902016 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :But we want them really integrated to the language, not just a hack like when you pass a char* to memcpy < 1535912090 967067 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Rust already allows the char* thing < 1535912205 609640 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :But apparently they're settling on some solution, and not just the opaque object stuff, but some useful library types to wrap them, only I don't really understand how they work. < 1535912318 196617 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :SQLite also has string building functions in the C interface, in case you need that. < 1535912340 837505 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: so do some other C libraries < 1535912372 496739 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, probably there are some. There are probably also other C libraries with functions like SQLite's sqlite3_mprintf() function < 1535912518 818183 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :so about typing for partially initialized types. Let T{s} be a type of values of a “flat” type T having initialization state s, T{s} would make up a lattice by <:, if we take values of s democratically: T{all} <: T{some partial state or more} <: T{none or more} < 1535912519 20847 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :then let T be a class and its constructor returns T{none or more}, and we can’t feed this somewhere T{all} is needed, horay. Also in a simple code there seems no need to designate anything but T{all} and T{none…}, so they could be called as simple as T and T^ for example < 1535912644 492580 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :a simplistic approach ^ < 1535912800 518112 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: rust can sort of track at compile time which individual fields (recursively) of a structure or tuple are initialized (and also which ones are borrowed and which are borrowed exclusively), but it only really works within a function body, you can't define a function that takes or returns a partially constructed object with the partial constru < 1535912800 625422 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ction state known at compile time. < 1535912931 964951 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :You can use an Option to track optional construction of a field at runtime with a flag, or you can tell rust that you're tracking whether a field is constructed in some way you can't prove to it and it should trust you. < 1535912963 322562 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: so what you're saying about partly constructed objects is interesting, and I wonder if it's possible to make something like that work < 1535912990 608970 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is the sort of thing you spend a year implementing as a research programmer, and then it never catches on :-D < 1535913005 434942 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's almost certainly possible to make it work, but it might not be worth the effort < 1535913022 103914 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :ais523: yeah, but rust is such a useful platform to advertise such a project, if you can make it compatible with rust < 1535913053 74710 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was thinking about this more for languages that are more heavily OO than Rust < 1535913056 251066 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it might work with Rust too though < 1535913063 251689 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :if you implement it in the rust compiler, and the semantics are sane and useful and it's backwards compatible, then it'll likely catch on < 1535913075 627996 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Unlike what you describe for Roll to Dodge, in Scientific Role Playing System it is possible for different characters to be different amount of good at different skills (and even certain cases of skills; there are no limits as to what cases you can define them to be). < 1535913088 838775 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :but you have to track a moving rust as a target, during that one year parts you are touching can change < 1535913104 575345 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I listed the restrictions for defining a character at: http://zzo38computer.org/fossil/scirps.ui/wiki?name=Notes/Pointless < 1535913137 255132 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Do you like this? < 1535913338 81991 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: that reminds me of the more serious "who can name the biggest number" contests < 1535913432 151612 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: also if more than one player defines a character this way independetly, I'm not sure how you guarantee that you can't get a logical inconsistency from them meeting, or how you would mediate such a logical inconsistency < 1535913435 6504 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, I suppose that is related, although it isn't really the same purpose. It isn't a contest to "win" at character definition. < 1535913446 881801 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :I think there could be an “assertive” setting: we have a struct/class C, some fileds in there are of optional type and marked with something (or it’s a special marked optional type, hm) (these are mutable and initially initialized to Nothing), and make this class inherit a mixin IBuilding. Then the compiler adds another class with a name, say, C.Built, and adds to C an automatically implemented method returning C.Built and throwi < 1535913447 26318 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :ng an exception if not all marked optional fields are non-Nothing. One runtime check and much joy < 1535913468 80243 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: like, if one character has a pistol whose bullet can break anyone's skull, and another character has a skull that is impervious to bullets < 1535913482 866186 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :(you know, the cannonball and the wall) < 1535913488 329946 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :wob_jonas: The first two restrictions are made to avoid such case. < 1535913494 986407 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :a thing I don’t like here is a naming convention, it better be C.Unbuilt and C and not C and C.Built < 1535913527 128367 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :that second auto-generated class would have non-optionals instead of marked optionals < 1535913559 73917 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: a skull that can't be broken by bullets doesn't make your character invincible (it can still have its skull broken by a club, or his heart broken by a bullet), < 1535913610 746631 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :and a bullet that breaks any skull doesn't make the attack invincible (the target might not have a skull, or might be able to regenerate from a broken skull, or might have more than one brain and survive one getting destroyed, etc) < 1535913626 415064 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :so I don't see how those first two restrictions are strong enough < 1535913666 151179 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, probably there would be rules for that, such as you would roll the dice in the case (GURPS does something like that with Cosmic modifiers; if both the attack and the defense have them, then just use normal non-cosmic rules). < 1535913684 750392 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :But you can make suggestions how to make it better if you think to change it. < 1535913709 823337 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit < 1535913744 84254 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: I don't know. I have no idea how to make good role-playing systems, especially not ones that give you so much freedom. < 1535913969 836685 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 252 seconds < 1535914211 467021 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :zzo38: description seems nice! But I’m not competent enough in RPG systems too < 1535915388 482700 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I also made up a rule for random durations. For effects with a minimum and maximum and is some number of dice, do not roll the dice until after the minimum duration has passed (e.g. if it is 2d+5 hours, then do not roll the dice until after 7 hours). If you have a deck of cards, you may also use cards for this purpose, which defer knowing the duration even later. < 1535915416 326844 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :For effects without a minimum and maximum duration, you may determine the effect's "half life" and then periodically roll the dice to see if it is expired yet or not. < 1535915821 846717 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: you can roll once dice after 7 hours, then the second dice x-1 hours after that if x is the result of the first dice roll; or you can make it even more precise by rolling whether the duration has ended at every hour (or in general every possible moment when the duration could end) < 1535915846 957354 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Ah, yes, you can do that < 1535915958 795404 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :but in general, each rule itself should specify which player gets what exact information at what moment, and there's a large spectrum there < 1535916038 821333 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 272 seconds < 1535916316 316199 :mal3!~mal@190-207-215-94.dyn.dsl.cantv.net JOIN :#esoteric < 1535916595 87945 :mal3!~mal@190-207-215-94.dyn.dsl.cantv.net QUIT :Remote host closed the connection < 1535916901 402913 :Typhon26!~Typhon@203.227.138.75 JOIN :#esoteric < 1535917048 844756 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :wob_jonas: I had a dream in which Burlew accidentally released a whole buncha olists at once. < 1535917064 107189 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :He had 50 comics in his backlog or something. And you claimed it didn't even exist! < 1535917115 141594 :Typhon26!~Typhon@203.227.138.75 QUIT :Remote host closed the connection < 1535917304 727173 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :shachaf: I had a dream when someone else built a sort of time machine, a computer and program that simulates enough of the universe and the Giant's and Knuth's mind to compute the contents of the rest of the OoTS strips and TAOCP books, or at least a sample of it from the universe conditioned on the publically known information, re-ran until it got < 1535917304 816405 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric : a sample with the post-condition that they get completed in a satisfying way before the author is unable or unwilling to continue. < 1535917401 66080 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :shachaf: And then that sample was printed and bound in a book the real one would look like, except with a preface telling that it's not the real thing but computed from such a simulation, and these were sent to the Giant and Knuth to aid them in their completing the book; < 1535917460 304031 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :except that this sending the book to the author itself was simulated and they took the book the author would produce then, a few dozen iterations deep, in the hope that it would converge to something better, and then that result was sent to the authors in the real world. < 1535917608 553407 :xkapastel!uid17782@gateway/web/irccloud.com/x-kgyyrpmjlwasjwal QUIT :Quit: Connection closed for inactivity < 1535917697 662402 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :shachaf: This is computationally much harder in Knuth's case, because TAOCP will be full of references to future research, so the computer has to simulate a lot of that too, whereas the Giant could basically be locked in a basement with no communication with the outside world for thirty years and finish OoTS just fine; < 1535917781 591994 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :but is much more useful in the case of Knuth, to work around the difficulty that he is 80 years old and his health might deteriorate too fast for him to finish TAOCP (receiving a news of Knuth's death is one of my worst nightmares, it sounds worse than a world war because civilization can be rebuilt faster than Knuth can be reborn). < 1535917807 182093 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I once got some volumes of TAOCP from inter library loans, although I do want to own copies of all of them < 1535918039 417020 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :wob_jonas: So until just now I was sure that "giant in the playground" was a reference to an old children's story. < 1535918052 605789 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I looked it up and apparently it's not related! < 1535918114 718713 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Moreover, the story's name in English is "The Selfish Giant", not "The Giant and His Garden" like in Hebrew. < 1535918118 529611 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's by Oscar Wilde. < 1535918131 458567 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: I bought the e-book versions of volumes 1,2,3,4A now. I will buy volumes 4B,...,5 as each of them is published, and then the new edition of volumes 1,2,3 too. < 1535918172 414395 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I want the printed book both the version with MIX and with MMIX. < 1535918284 347634 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: for books 1,2,3, you can buy the MIX versions now and keep them if you want that. For books 4A...5, those will never exist. < 1535918302 123367 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :(this ties into `quote Knuth ) < 1535918378 265994 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :OK < 1535918472 994363 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :wob_jonas: whoa whoa whoa < 1535918476 745837 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Wait, never mind. < 1535918507 151994 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :But I recommend that you buy the third, third and second editions of volumes 1, 2, 3 resp, rather than the editions before that. < 1535918591 869731 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: the e-book version might be better than the printed version in that it has the existing Knuth-approved errata merged. < 1535918638 621725 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :well, up to some point that might be more up to date than the print versions < 1535918667 611580 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I just wrote in the errata for Computers and Typesetting by myself by pencil, after finding what to write by computer. < 1535918693 565173 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: I see < 1535918757 205530 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: which volumes of Computers and Typesetting are those? < 1535919225 266374 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :It is the full millennium set < 1535919428 696453 :xkapastel!uid17782@gateway/web/irccloud.com/x-kilvyqqbzzaepytc JOIN :#esoteric < 1535919476 413937 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: nice. How much of TAOCP do you have? < 1535919514 759790 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :And do you have Concrete Mathematics? I haven't bought any of Computers and Typesetting, and I only have the translation of Concrete Mathematics. < 1535919530 796335 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :None; I only temporarily borrowed some volumes of TAOCP from library (they didn't have all of them). < 1535919542 901573 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I do not have Concrete Mathematics either. < 1535919594 948097 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I have the original copy of my errata http://math.bme.hu/~ambrus/sc/errata/concrete_errata on a sheet of paper with pen inserted in my Concrete Mathematics volume, and a few of the more distracting errors marked in pencil in situ, but I believe that almost all of those errors are only in the translation, not the original. < 1535921522 796456 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Is there compression format that can use arbitrary compression algorithms like ZPAQ can do but that is not also the archive format? (For archive format you can use other formats such as a tape archive or Hamster archive.) < 1535921590 105957 :LKoen!~LKoen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.” < 1535923165 422950 :bradcomp!~bradcomp@c-67-161-161-17.hsd1.ca.comcast.net JOIN :#esoteric < 1535923207 83519 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :what book in the world is the Knuthesquest one? < 1535923414 341371 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: Possiblyi it's always the last completed one, so currently TAOCP vol 4A, and eventually it will be the ultimate edition of vol 3. < 1535923562 433964 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: But it's possible that it's the ones that are final and will not change that are the Knuthesquest, which are currently probably vol 5 of Computers and Typesetting and the Stanford Graphbase and the MMIXware source code. < 1535923580 382962 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I'm unclear about the exact statements to which each of these are frozen. < 1535924402 301621 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :a Knuthesque book is not always by Knuth himself, can there exist someone Knuther at least at some short intervals of time? < 1535924413 89670 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :and write an article < 1535924555 320471 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I think the definition of MMIX was frozen long ago, but I don't know how much the MMIXware source code itself is. "https://www-cs-faculty.stanford.edu/~knuth/abcde.html" says that the TeX and METAFONT source code shall be frozen and "correct by definition" when Knuth dies, but it's possible that they are already in the final state except for the ve < 1535924555 408029 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :rsion number. < 1535924628 24672 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :It also says that at that time "their version numbers ultimately become $\pi$ and $e$, respectively" but I'm not sure what that implies for the startup message of tex and mf which show the version number. < 1535924713 648757 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Would the ultimate version after Knuth's death have to display all decimal digits of pi and e at startup? All until it's interrupted so from that point on you need an interrupt or some nonstandard mechanism to avoid an infinite loop every time you start tex or metafont, even before it starts reading its input file? < 1535924715 976769 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :As var as I can tell it displays "$\pi$" and "$e$", from the change files I have seen < 1535924728 524687 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Rather than in decimal < 1535924729 250469 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :I see. < 1535924811 815664 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Does the version number have any other effect on TeX and metafont core, like a builtin parameter/macro that tells the version number? < 1535924828 164924 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :No, there aren't any such things. < 1535924856 309759 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :TeX files are meant to continue to be compatible even if the file is very strange. < 1535924904 687522 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :true < 1535924934 683044 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :so the only change will be the startup message and possibly some other mentions of the version number in Computers and Typesetting < 1535924958 354669 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, if Computers and Typesetting is even updated after that. < 1535925005 68964 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :zzo38: if he's made patch files for the source code, he might also have patch files for the TeX source code of Computers and Typesetting that he's given to the publisher < 1535925031 852650 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, maybe < 1535925047 362088 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :or perhaps rather to someone else he trusts, because publisher are dumb < 1535925151 901229 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, possibly < 1535925764 153769 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :It is also possible that some of Knuth's less significant books are the final version. < 1535926203 849233 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1535926526 330893 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1535927574 252660 :justyns!~justyns@ip72-204-125-68.fv.ks.cox.net JOIN :#esoteric < 1535927577 860929 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1535927796 840197 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 252 seconds < 1535927858 522780 :justyns!~justyns@ip72-204-125-68.fv.ks.cox.net QUIT :Remote host closed the connection < 1535927907 299730 :bradcomp!~bradcomp@c-67-161-161-17.hsd1.ca.comcast.net QUIT :Ping timeout: 240 seconds < 1535927945 231990 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1535928511 668353 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Hmm, wait. Above I said "Possiblyi it's always the last completed one, so currently TAOCP vol 4A" but that's wrong, the most recently published work by Knuth is currently Fantasia Apocalyptica, with the first stable version officially released on his 80th birthday, definitely after TAOCP vol 4A. < 1535928525 208972 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :So that's another candidate for the Knuthiest < 1535928549 959721 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: ^ < 1535928596 749327 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :does that count as a book? Knuth has published the sheet music, and if you printed all of it, it would form a book. < 1535929018 834866 :Phantom___Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1535929122 343966 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wob_jonas: oh, a music? interesting < 1535929146 253442 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: yes, Knuth's first nontrivial original music composition < 1535929146 640132 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :(organ music probably?) < 1535929153 905365 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv: yes, organ music < 1535929165 86976 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :nontrivial… now I’m curious < 1535929175 412966 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :My guess too is organ music < 1535929203 61637 :danieljabailey!~danieljab@cpc75709-york6-2-0-cust725.7-1.cable.virginm.net QUIT :Quit: ZNC 1.6.5+deb2build2 - http://znc.in < 1535929222 303508 :danieljabailey!~danieljab@cpc75709-york6-2-0-cust725.7-1.cable.virginm.net JOIN :#esoteric < 1535929248 871108 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 252 seconds < 1535929277 790361 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :arseniiv, zzo38: see my short summary at the top of https://commons.wikimedia.org/wiki/Category:Sheet_music_for_Fantasia_Apocalyptica if you want to know what Fantasia Apocaliptica is; it links to Knuth's webpage about it, which is longer < 1535929297 554450 :wob_jonas!b03f1946@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.70 PRIVMSG #esoteric :Hmm, that has a typo. < 1535929989 298820 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wow ~80 minutes < 1535929998 723058 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :indeed seems Knuthesque < 1535930016 738302 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :I’ll maybe take a hear at it tomorrow < 1535930036 701350 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1535930065 756054 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :I don’t listen to organ music usually, but it should be assessed < 1535930092 584112 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :wob_jonas: thank you as always < 1535930148 125702 :Phantom___Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1535930344 652960 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1535931022 296491 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Apparently they have ID3, although SoX just displays a warning message about it and ignores it (the music still plays, though). For chapter 1, instead it mentions a chunk with a strange name and 4239522857 bytes long. < 1535931687 278204 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 240 seconds > 1535932008 370124 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Blacksilver 5* 10New user account < 1535932259 278126 :Deewiant_!~deewiant@fr1.ut.deewiant.iki.fi JOIN :#esoteric < 1535932281 255393 :mynery!~myname@ks300980.kimsufi.com JOIN :#esoteric > 1535932285 940493 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=57508&oldid=57506 5* 03Blacksilver 5* (+262) 10Hi, I'm Blacksilver! < 1535932348 582755 :Blacksilver!ae8ad0b8@gateway/web/freenode/session JOIN :#esoteric < 1535932388 202953 :Blacksilver!ae8ad0b8@gateway/web/freenode/session PRIVMSG #esoteric :o7 < 1535932459 774264 :Deewiant!~deewiant@fr1.ut.deewiant.iki.fi QUIT :Ping timeout: 260 seconds < 1535932459 874043 :myname!~myname@ks300980.kimsufi.com QUIT :Ping timeout: 260 seconds < 1535932466 261121 :Blacksilver!ae8ad0b8@gateway/web/freenode/session QUIT :Changing host < 1535932466 261180 :Blacksilver!ae8ad0b8@gateway/web/freenode/ip.174.138.208.184 JOIN :#esoteric < 1535932767 891036 :arseniiv!~arseniiv@77.79.141.237.dynamic.ufanet.ru PRIVMSG #esoteric :`welcome Blacksilver < 1535932769 61526 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Blacksilver: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)