< 1321228812 497062 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :I may make a Piet-like language with pure functions < 1321228828 878199 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :!python ord(60) < 1321228832 149954 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Traceback (most recent call last): < 1321228832 501037 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :um < 1321228839 43170 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :!python print chr(60) < 1321228839 305330 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :> ord 60 < 1321228839 705516 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​< < 1321228839 938270 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :thanks python < 1321228840 572285 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Num.Num GHC.Types.Char) < 1321228840 795790 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from the literal `6... < 1321228847 694053 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :> chr 60 < 1321228848 619432 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : '<' < 1321228850 814618 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Wait, what < 1321228852 51086 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :!python print chr(0x60) < 1321228852 772355 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​` < 1321228854 589672 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :There :P < 1321228863 160175 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uh.... < 1321228867 224317 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :> chr 6*16 < 1321228868 218055 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Num.Num GHC.Types.Char) < 1321228868 426586 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from the literal `1... < 1321228872 332272 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :okay? why is that a comment? < 1321228876 281874 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :> chr (6*16) < 1321228877 235304 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : '`' < 1321228896 788265 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :PlacentaProphet: Because < 1321228898 416516 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :`poop < 1321228899 992572 :HackEgo!foobar@codu.org PRIVMSG #esoteric :​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: poop: not found < 1321228906 429645 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :^chr 96 < 1321228906 573005 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :` < 1321228908 539307 :HackEgo!foobar@codu.org PRIVMSG #esoteric :​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found < 1321228925 419301 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :PlacentaProphet: It's in tr_60.cmd < 1321228944 113513 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: btw what does the tr actually stand for < 1321228951 164599 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :One step no darker -> id < 1321228957 647309 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :One step one darker -> const < 1321228964 223858 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : would you be inclined to point to the rectangle <-- i would be inclined to say that vision has enough unintuitive illusions that i wouldn't try and guess the result by reasoning. < 1321228965 97373 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :One step two darker -> ap < 1321228965 489774 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hi Ngevd < 1321228970 47398 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Hello < 1321228976 859752 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :oerjan: :P < 1321228977 526508 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :I have been here for a while < 1321228988 491819 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :oerjan: im just incredibly skeptical that people would do that < 1321228991 579254 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Thinking of a Piet-like language with pure functions < 1321228998 92144 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :whereas someone on reddit is certain people would < 1321229045 117817 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :It will also be self-modifying < 1321229047 899480 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Yeah, that's the sort of thing where the only way to be certain would involve actually doing the study. < 1321229063 343791 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :And disguising it so people don't hesitate for five minutes :P < 1321229115 622787 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :anyway that study is stupid. < 1321229125 485323 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: so is the sender sending the thing that the receiver is receiving < 1321229128 397988 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :With two stacks < 1321229129 834649 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this is a good first step. < 1321229133 196505 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :pikhq: well i'd do the study if i could < 1321229133 846457 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Ask Gregor/ < 1321229137 315581 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :s/\//./ < 1321229138 493252 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :One with bignums, one with functions < 1321229161 741178 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@ask Gregor so is the sender sending the thing that the receiver is receiving < 1321229162 343348 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1321229262 266753 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net QUIT :Quit: long shot but fungot < 1321229302 197564 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: also I'm pretty sure you don't have to declare commit_queue global < 1321229309 841539 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Yes but I wanted to. < 1321229338 822832 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :whatever lets you sleep at night. < 1321229347 741446 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Too late, I used Python. < 1321229437 63380 :Haschim!~chatzilla@d86-32-15-86.cust.tele2.at JOIN :#esoteric < 1321229450 919509 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also Transaction could just inherit from Thread and then you don't need to define your own start. < 1321229453 925730 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but whatever < 1321229479 340420 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I suppose the debugging output is handy. < 1321229588 154076 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :command += ['-R', hackenv] I am led to believe that .extend() is faster than += on lists. this is a matter of grave importance. < 1321229593 539143 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :augur: Seems like a lot of effort just to show up a random guy on Reddit, though. :P < 1321229614 102127 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :pikhq: well, its part of a bigger discussion regarding color perception < 1321229615 422859 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: obviously I've reduced my efforts to nitpicking your code since I have no clue what is actually causing the bug. < 1321229620 340030 :Haschim!~chatzilla@d86-32-15-86.cust.tele2.at PART :#esoteric < 1321229622 52727 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :PlacentaProphet: Wait, wait, let me try to care: HNNNNNNNG can't. < 1321229624 517966 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :pikhq: dealing with some very subtle issues < 1321229632 843769 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :really, i want to talk to some himba speakers < 1321229636 65597 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :but thats not possible. < 1321229648 312118 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :command += list(args) < 1321229651 15257 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this is so wasteful < 1321229653 187946 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in so many ways. < 1321229666 20775 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :command.extend(args) bam! < 1321229701 96813 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :PlacentaProphet: args is a tuple. < 1321229713 41486 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's fine. < 1321229713 931920 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :augur: Yeah, color perception is hella weird. You'd know better than I, of course. < 1321229717 348525 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :tuples are iterable < 1321229721 467897 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :extend works on any iterable. < 1321229733 501613 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :pikhq: no, its actually not very weird, not in regards to what im talking about anyway < 1321229761 595911 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :PlacentaProphet: Join #hackbotloony < 1321229762 911467 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Well, it just seems weird that it's to an extent affected by language. < 1321229764 46081 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Spam it < 1321229770 81402 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :pikhq: the issue is more that people don't understand that translations aren't perfect, and so relying on translations when doing science is very bad < 1321229771 66284 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :You'd think that, e.g. "blue" would be a universal concept. < 1321229782 536191 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :pikhq: no, its not affected by language < 1321229791 276290 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: BAHAHAHA DUCK TYPING BITCH < 1321229792 768841 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :augur: Okay, maybe I'm describing this wrong. < 1321229796 705642 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :TUPLES QUACK LIKE ITERABLES DAWG. < 1321229797 707405 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :no you're not < 1321229807 56531 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :you're just mislead by fluff popsci crap < 1321229821 382207 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Python should have a quacks like keyword operator < 1321229832 948163 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if tuple quacks like iter: < 1321229834 513608 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :augur: But, e.g. Japanese "aoi", though usually translated as "blue" really can't be translated that naively. < 1321229841 377757 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :sure < 1321229842 721766 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :PlacentaProphet: You are not spamming. < 1321229851 196964 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :and? < 1321229857 843573 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :It refers to things that are blue, sure, but on the other hand it can refer to some things we'd consider green. < 1321229861 870400 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :And that seems rather strange. < 1321229864 38388 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: should I be? < 1321229871 458772 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh < 1321229873 97109 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes. < 1321229876 643704 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :yes i suppose it "seems rather strange" < 1321229888 238113 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1321229893 620201 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :i mean, it doesnt seem strange to me, but whatever < 1321229925 433427 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :I guess what I'm really coming down to is "language works differently than the layman expects it to". < 1321229933 83039 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :thats true < 1321229937 79521 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :but < 1321229942 104342 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :anyway. < 1321229952 764101 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Anyway, bit of a tangent. Whoooo. < 1321230197 164804 :pkzip1!~a@109.160.176.204 JOIN :#esoteric < 1321230218 320069 :pkzip1!~a@109.160.176.204 PART :#esoteric < 1321230280 934986 :elliott!elliott@unaffiliated/elliott QUIT :Remote host closed the connection < 1321230316 691805 :elliott!elliott@unaffiliated/elliott JOIN :#esoteric < 1321230579 935401 :evincar!~evincar@daffa.student.rit.edu JOIN :#esoteric < 1321230585 341375 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> odd . floor $ tan 1.57 < 1321230587 206913 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : True < 1321230636 672317 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :pikhq: the real problem, i find, is twofold < 1321230648 67819 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :one, people love this popular whorfian bullshit < 1321230658 469371 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :and they find any excuse to believe it < 1321230660 999358 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :for some fucking reason < 1321230669 199673 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that's why they're all learning klingon. < 1321230675 561596 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :two, people don't realize that words dont always mean the same thing to everyone else < 1321230697 569342 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :What? People still believe in linguistic relativity? :( < 1321230706 877341 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1321230722 476143 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :evincar: usually just mild forms of it, but yes < 1321230734 259518 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Man, freaking Sapir-Whorf. < 1321230743 304008 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :evincar: i got a question about number of words for snow on a quiz just the other day. < 1321230748 665661 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Well, there are some limited situations in which it can be shown to apply... < 1321230754 479703 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :strangely, for sami, not eskimo. < 1321230762 542601 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Particularly as presented in 1984. Newspeak was such a dumb idea. < 1321230772 657867 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :According to an article I read once, English has more words for snow-related things than Inuit or whatever. < 1321230773 749226 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :evincar: if by "apply" you mean "imperceptably", yes. < 1321230790 539515 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :If you count sleet, hail, etc. < 1321230796 218320 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :English has a lot of words in general. < 1321230801 211393 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :So that's unsurprising. < 1321230804 642582 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :"Thoughtcrime is doubleplusgood" Seriously, Orwell? You thought that couldn't be done? < 1321230810 21054 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :and if by "apply" you mean "only when doing language tasks", yes < 1321230827 649973 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Anyways: it's not like neologisms are *uncommon*. < 1321230829 843464 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :pikhq: E-prime pisses me off < 1321230846 529734 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :oh your language lacks a copula, therefore it prevents people from expressing opinion as fact < 1321230849 307271 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :no < 1321230850 848522 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :no it doesnt < 1321230854 13480 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :you piece of shit < 1321230856 757285 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :liar < 1321230859 145331 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Hah. < 1321230860 807229 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :child rapist, you < 1321230867 282455 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :If a speaker of a language doesn't have a word for a concept, but needs to talk about that concept, they will *make something up*. < 1321230884 156127 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :I want to hear you call Benjamin Whorf a child rapist. < 1321230884 474792 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :pikhq: obviously in oceania, neologisms are treason. < 1321230889 667467 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :And record it and < 1321230892 155338 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :watch it over and over. < 1321230895 780016 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :evincar: benjamin whorf isnt the e-prime guy < 1321230896 383646 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :but < 1321230900 243484 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :pikhq: you have too much faith in the creativity of the average person. < 1321230901 695577 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :oerjan: Eh, in Oceania everything's treason anyways. < 1321230919 905922 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :PlacentaProphet: even without neologisms, you have periphrasis < 1321230947 420663 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well yes. < 1321231007 236158 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :my understand was that the Sapir-Whorf hypothesis claimed that using a particular language resulted in thinking about things /differently/, not necessarily that things can become /impossible/ to express. < 1321231029 249649 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :That's right. < 1321231030 793754 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : oh your language lacks a copula, therefore it prevents people from expressing opinion as fact <-- i could imagine a language with some kind of evidentials so that you could not confuse opinion with fact without outright lying... < 1321231032 637095 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :PlacentaProphet: The strong form of the hypothesis makes the claim that things can become impossible to express. < 1321231035 271503 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :But Orwell took it into fictionland. < 1321231064 880539 :tiffany!~kawaii@fl-76-3-17-34.dhcp.embarqhsd.net QUIT :Quit: nyu~ < 1321231070 263560 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it might not actually exist, or be stable, but i could imagine it. < 1321231070 308876 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :oerjan: We imagine languages all the time that don't actually exist. < 1321231074 135917 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :The strong form of the hypothesis, of course, is incredibly bullshit. < 1321231111 252032 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :oerjan: that language is called Quechua < 1321231113 720038 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :and you dont have to lie < 1321231116 803670 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :you just have to be wrong < 1321231127 129545 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :or not understand that your opinion isnt fact < 1321231128 817770 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a language as a map of words to meanings could, at a single point in time, be unable to express a word. of course in practice this is not how languages work. < 1321231153 907457 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and this is not certainly how the human brain works. < 1321231155 62651 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, this is oblivion: http://deadendthrills.com/wp-content/uploads/2011/06/Oblivion-2011-06-07-23-56-58-24.jpg < 1321231158 197481 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I don't believe that < 1321231167 916039 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Oblivion with at housand mods :P < 1321231171 428969 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :thats not oblivion < 1321231174 914471 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :s/at housand/a thousand/ < 1321231179 516829 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :unless that. < 1321231187 39084 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :augur, exactly what elliott said < 1321231190 526999 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I just want those mods < 1321231200 160224 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :he doesn't list them < 1321231200 235745 :augur!~augur@208.58.5.87 PRIVMSG #esoteric :you just wanna jerk off to that chick < 1321231204 190525 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :XD < 1321231205 227879 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and this is not certainly how the human brain works Morrowind that give it Oblivian-esque graphics < 1321231208 870898 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :http://deadendthrills.com/?cat=141 < 1321231212 338310 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I wouldn't be surprised if such mods existed in Oblivion. < 1321231220 645443 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol wat < 1321231225 917672 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : and this is not certainly how the human brain works Morrowind that give it Oblivian-esque graphics < 1321231226 615509 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :what < 1321231235 737578 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I must have pressed up at some point :P < 1321231238 440117 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :augur, speaking of which... Apparently there is already a "naked female" skyrim mod.... < 1321231249 527082 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I'm not going to try it :P < 1321231251 841519 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there are mods in Morrowind that give it Oblivian-esque graphics < 1321231256 270999 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I wouldn't be surprised if such mods existed in Oblivion. < 1321231259 643263 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :is what I meant to say. < 1321231261 513978 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oblivian < 1321231263 49502 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :totally a word < 1321231274 19173 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah dude. < 1321231279 698609 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a NEOLOGISM < 1321231286 27075 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :WHAT NOT STRONG SAPIR-DORF < 1321231292 880301 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/not/now/ :P < 1321231296 949334 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: don't be obsidious < 1321231297 942424 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I need to see if he did any morrowind < 1321231312 213237 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :because... vanilla morrowind is /ugly/ < 1321231313 174958 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: use url hax < 1321231314 363348 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that's what i did < 1321231332 406963 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :http://deadendthrills.com/category/the-elder-scrolls-iii-morrowind/ < 1321231334 587246 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :not under that name < 1321231345 345744 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :no search results for it < 1321231349 184474 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :so SORRY NOPE < 1321231389 535832 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, what about witcher 2? < 1321231406 182149 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Googling showed up http://www.flickr.com/photos/futurilla/3200260681/ only, which is part of a GROUP called Dead End Thrills :P < 1321231416 618796 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Which I suspect is just run by random people ripping it off. < 1321231443 119752 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Apparently not! Going by EXTREMELY RELIABLE URL HAX. < 1321231452 433671 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :XD < 1321231459 733261 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :the on-site search seems broken < 1321231512 239069 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :http://deadendthrills.com/?s=skyrim ;; not too broken < 1321231663 824341 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm now it works < 1321231664 804890 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :weird < 1321231687 125815 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :yeah no witcher 2 < 1321231770 837446 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, oh and a lot of the visual impressiveness in witcher 2 is dynamic effects < 1321231780 885018 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :the way plants move in the wind. The motion blur < 1321231783 547780 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :stuff like that < 1321231786 734828 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Not as good as ELLIOTTCRAFT. < 1321231795 783447 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric ::P < 1321231799 230233 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Elliottcraft has dynamic... POLYGONS... < 1321231805 986076 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and? < 1321231818 300464 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, but really, what do you mean? < 1321231821 470775 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :departed parrots < 1321231830 502845 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Dynamic... DYNAMISM < 1321231834 504246 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, and is it available yet? < 1321231843 541811 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :YES. < 1321231846 487860 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :in our hearts < 1321231848 12618 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I only consider released games you see < 1321231858 66233 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Higher-Order Perl is an enjoyable read. I can't believe I hadn't gotten around to it. < 1321231877 689258 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :sounds like a cakeprophet thing < 1321231964 491014 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: no its mark j dominus hes a good person < 1321231985 309870 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and kaceprophet isnt? :o < 1321232011 793895 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :of course not < 1321232023 129981 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :maybe I willl read higher-order perl sometime when i am not killing myself over this awful python < 1321232031 11165 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :which i have to < 1321232032 14985 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :functional perl is the best perl. < 1321232032 420770 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :work with < 1321232063 12347 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :http://hop.perl.plover.com/book/pdf/HigherOrderPerl.pdf < 1321232066 89888 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :yuo're wlecome < 1321232085 96786 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: nice googling < 1321232088 899460 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :`yes yes < 1321232091 2189 :HackEgo!foobar@codu.org PRIVMSG #esoteric :yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes < 1321232097 289121 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yes < 1321232101 968531 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :`yes no < 1321232103 386003 :HackEgo!foobar@codu.org PRIVMSG #esoteric :no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no \ no < 1321232106 333764 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :no < 1321232147 358899 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Chapter 6 is interesting. Infinite Streams. < 1321232150 29689 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :none of these chapter titles look interesting. < 1321232157 162564 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh okay < 1321232160 655902 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's kind of interesting. < 1321232165 681207 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :my guess is that it uses ties? < 1321232169 663270 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :I wonder why more garbage-collected languages don't use laziness. It's so convenient. < 1321232183 770514 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :No, it's just another name for infinite lists. < 1321232185 435822 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :makes side-effects even more confusing? < 1321232197 290409 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :evincar: ...I, yes I know, but those don't exist in Perl normally < 1321232198 629401 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Solution: avoid side-effects. < 1321232212 143622 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so I assume it uses ties to implement them? < 1321232229 596461 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :but everyone is too awful to avoid side-effects < 1321232231 403261 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :No, regular old cons-lists with promises. < 1321232263 282313 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :E.g. node($head, promise { $rest }) < 1321232327 525494 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that works I guess. < 1321232378 432912 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Could be prettier. So could the rest of Perl. < 1321232393 80672 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I believe you could use ties to make infinite lists look like normal Perl lists. < 1321232423 630189 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Probably. I've never had need to mess with ties. < 1321232458 613171 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it essentially just lets you override things like variable assignment and indexing and stuff. < 1321232487 726867 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because Perl kind of sort of doesn't make sense like that. < 1321232668 121822 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://search.cpan.org/~lbrocard/Language-Functional-0.05/Functional.pm < 1321232749 90326 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://search.cpan.org/~asg/List-Gen-0.974/lib/List/Gen/Haskell.pm < 1321232750 698466 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :WELCOME BACK IOCCC <3 <3 <3 < 1321232760 452831 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :wut < 1321232768 994410 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :http://www.ioccc.org/2011/rules.txt < 1321232788 461802 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yessss < 1321232801 519400 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Crap, I was gonna announce that. :( < 1321232803 784715 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i guess it really _is_ the end times. < 1321232804 486699 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Spaced it. < 1321232845 244334 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :how can you announce something that happened two days ago. < 1321233073 821653 :Vorpal!~AnMaster@unaffiliated/anmaster QUIT :Quit: ZNC - http://znc.sourceforge.net < 1321233122 316736 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :You seem to have done it just fine. < 1321233126 531810 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Besides, I just found out about it today on HN. < 1321233466 746737 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: hi can i prod you with haskell data structure questions < 1321233547 526898 :variable!root@freebsd/developer/variable PRIVMSG #esoteric :elliott: :) < 1321233558 780574 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hi variable did i say variable < 1321233706 145234 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: You suuuck < 1321233795 886943 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH* elliott says i suck *WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH* < 1321233806 716621 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: hi you won't suck if you answer my questioneitonstonis :DDD < 1321233812 410834 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh < 1321233989 883766 :Darth_Cliche!~Darth_Cli@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1321233991 469155 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well clearly the answer is to use a phantom type as a monad^Wapplicative transformer indexed over a general topos prepromorphism. < 1321234004 288487 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: NO LIST,EN < 1321234014 785189 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :no list, check. < 1321234016 538065 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :no list, en < 1321234032 396031 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :whos en < 1321234044 573665 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: I want a tree map (I'd go for HashMap usually) from a small (a pair of integers from 0 to 15 (inclusive), i.e. 256 values in total) key to values < 1321234045 38020 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but < 1321234048 487654 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :every key has a value < 1321234050 979963 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :there are no unset keys < 1321234055 571154 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and im just wondering if... there'd be a good < 1321234058 910390 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :way to structure this apart from the obvious < 1321234096 302259 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that small? an array. < 1321234158 421956 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :or wait, you want efficient modification? < 1321234168 614925 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: yes, it will be modified semi-frequently < 1321234173 61931 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :although not as much as it's looked up < 1321234192 914223 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: I suppose a vector would still be a decent choice, but it's 256*4 = 1024 bytes < 1321234200 562711 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and copying a kilobyte on every modification doesn't sound like fun < 1321234204 246807 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :even if they are relatively infrequent < 1321234336 466556 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: hmm wait < 1321234336 562466 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well a trie maybe? < 1321234347 302447 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: the keyspace might actually be more like 16,384 < 1321234377 916801 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :so 65536 bytes unpacked < 1321234382 228739 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: what I could do is a boxed vector of 128 unboxed vectors of 128 Int32s < 1321234404 554179 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: that's reallocating 512 bytes for each modification < 1321234411 536957 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :mhm < 1321234413 388717 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :while having cheap lookup (three pointer dereferences) < 1321234416 745840 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(or thereabouts) < 1321234445 19856 :derdon!~derdon@pD9E1C4FD.dip.t-dialin.net QUIT :Remote host closed the connection < 1321234447 728075 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :this sounds like it needs profiling to find out what actually _is_ the most efficient branching... < 1321234469 197752 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: well it'd be 128x128 < 1321234472 581906 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i.e. two coordinates of 0 to 127 < 1321234477 53494 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :so there's not really any other reasonable branching < 1321234482 567278 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it'd be pointless arithmetic < 1321234486 691934 :derdon!~derdon@pD9E1C4FD.dip.t-dialin.net JOIN :#esoteric < 1321234498 158966 :derdon!~derdon@pD9E1C4FD.dip.t-dialin.net QUIT :Remote host closed the connection < 1321234537 317418 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :You sound like you want a deque. < 1321234545 303669 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh well then you have your answer then. < 1321234561 776564 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :evincar: uhhhhh what < 1321234592 70058 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> foldr (flip const) [1,2,3,4] < 1321234593 389012 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Overlapping instances for GHC.Show.Show ([a] -> [t]) < 1321234593 496287 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use ... < 1321234598 917336 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> foldr1 (flip const) [1,2,3,4] < 1321234600 743236 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 4 < 1321234650 75767 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> foldr1 const [1,2,3,4] < 1321234651 106765 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 1 < 1321234658 830907 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so good < 1321234661 765368 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Just use my secret exploit to hack your server to death hahahahahaha < 1321234666 9112 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :now use foldr to get tail < 1321234667 806043 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :or init < 1321234684 312843 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :copumpkin: type error < 1321234694 664872 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :not really < 1321234695 990826 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :you can do it < 1321234700 779189 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it's just inefficient < 1321234701 92189 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uh.. < 1321234704 197945 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t tail < 1321234704 709106 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you can get any list function with foldr < 1321234705 463871 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. [a] -> [a] < 1321234705 578064 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :obviously < 1321234713 245835 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t foldr < 1321234714 426053 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. (a -> b -> b) -> b -> [a] -> b < 1321234725 995882 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :not without doing some kind of mangling beforehand, right? < 1321234739 739316 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :what do you mean < 1321234755 523483 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :foldr returns one value of type whatever-is-in-the-list < 1321234760 293966 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :tail returns a list. < 1321234770 403284 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you need to do something to the input list first < 1321234772 446851 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :no, foldr can return any type < 1321234777 165601 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh right. < 1321234777 836332 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::P < 1321234779 796438 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I see. < 1321234796 303308 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :doing an unsafe tail seems tricky though < 1321234803 717796 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :safeTail is fairly straightforward < 1321234880 803745 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I can't figure it out. :P < 1321234896 361289 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you probably need some mangling afterwards < 1321234919 548485 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't know how to say "dear foldr: ignore the first element but everything else is cool, k" < 1321234973 817674 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :> foldr (\x -> maybe (Just []) (Just . (x:))) Nothing [1..5] < 1321234975 557068 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just [1,2,3,4] < 1321234991 839147 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :foldr (\x -> maybe (Just []) (Just . (x:))) Nothing [1..5] < 1321234994 399813 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :bah < 1321234999 700902 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :haha < 1321234999 868246 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :foldr (\x -> maybe (Just []) (Just . (x:))) Nothing [] < 1321235001 919872 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> foldr (\x -> maybe (Just []) (Just . (x:))) Nothing [] < 1321235003 804265 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Nothing < 1321235010 75686 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> fromJust $ foldr (\x -> maybe (Just []) (Just . (x:))) Nothing [] < 1321235011 983394 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : *Exception: Maybe.fromJust: Nothing < 1321235013 913324 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :unsafe tail < 1321235025 52311 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric ::) < 1321235033 771534 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :I meant more in the sense of not having to post-process it < 1321235044 310859 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that was init, not tail < 1321235046 174828 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :copumpkin: Isn't that ignoring the last element? < 1321235051 961864 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, so it was < 1321235054 5300 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :safe tail? is that anything like drop 1? < 1321235062 45872 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: no its [a] -> Maybe a < 1321235063 597248 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :contrary to popular belief, I do not actually read anything. < 1321235065 199724 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh < 1321235069 281051 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I just divine information with psychic powers < 1321235069 765051 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :monqy: No, that loses information. < 1321235071 678632 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :sometimes it's a little off. < 1321235082 304874 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :elliott: that looks like safe head... < 1321235090 415252 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :safe head is boring head, imo. < 1321235102 652761 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :im confuse :( < 1321235105 684966 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: um < 1321235106 276179 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :[a] < 1321235109 500307 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it's fairly obvious that you _cannot_ do tail as a straight foldr over the list with no post- or preprocessing. < 1321235109 718049 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :shachaf: yes, it is < 1321235131 352318 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :because the tail of the tail does not contain enough information to reconstruct the tail itself < 1321235161 590243 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :oerjan: ? < 1321235176 401278 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lists are like animals but instead of normal animal tails they have TAILS THAT ARE ANIMALS. < 1321235179 427359 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :with tails < 1321235182 439356 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :The point of tail is that you don't have enough information to reconstruct the thing you tailed. < 1321235224 897565 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: if tail l = foldr f x l for some f and x, then ys = tail (y:ys) = f y (tail ys) < 1321235245 696313 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hmph, Vectors need better type names < 1321235257 75157 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :which is absurd because the rightmost expression does not contain the information of ys's first element < 1321235270 252676 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm maybe I can use Data.Vector.Generic < 1321235283 87137 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hmph, no specialize pragmas < 1321235284 191928 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so you cannot write tail that way. < 1321235294 204371 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there should be some kind of list where tail does not remove any information. I'll call it: a zipper < 1321235354 519411 :evincar!~evincar@daffa.student.rit.edu PRIVMSG #esoteric :Genius. < 1321235417 746223 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :is there a standard lib zipper? if not, why not? < 1321235424 83970 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't think I've encountered one. < 1321235448 341966 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :oerjan: I see. < 1321235488 222578 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> snd $ foldr (\x (xs, txs) -> (x:xs, xs)) ([], undefined) [1,2,3,4] < 1321235489 306053 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,4] < 1321235503 594369 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :awww yeah < 1321235507 434632 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zipper fold thing < 1321235565 828805 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I would safely conclude that snd does not count as "postprocessing" < 1321235585 370225 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :erm i count it as such :P < 1321235644 151398 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :btw this is similar to the trick for implementing decrement in lambda calculus with church numerals < 1321235687 869919 :pkzip!~a@109.160.176.204 JOIN :#esoteric < 1321235704 11414 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Which would you say is more common: Program accessing locations near (0,0), or programs accessing locations near the IP < 1321235714 941924 :pkzip!~a@109.160.176.204 PART :#esoteric < 1321235779 126558 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :pkzip is going to keep joining here forever < 1321235783 877055 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and never figure out how to stop it autojoining < 1321235938 314788 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> let church n f x = iterate f x !! n; inc n f x = n f (f x); dec n f x = snd $ n (\(x, dx) -> (inc x, x)) (church 0, undefined) in dec (church 4) (+1) 0 -- i wonder if this types in haskell... < 1321235939 246608 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Overlapping instances for GHC.Show.Show ((t -> t) -> t -> t) < 1321235939 422084 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising fro... < 1321235947 864712 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :gah < 1321235963 204265 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hm < 1321235974 487469 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :silly me < 1321236030 279916 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> let church n f x = iterate f x !! n; inc n f x = n f (f x); dec n f x = snd $ n (\(y, dy) -> (f y, y)) (x, undefined) in dec (church 4) (+1) 0 -- i wonder if this types in haskell... < 1321236031 233335 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 3 < 1321236151 918754 :PlacentaProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 255 seconds < 1321236297 954967 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :It can't hurt to practice making variadic functions by hand, can it? < 1321236306 152870 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :in what language < 1321236316 61135 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Stop me from making the same mistake mcmap did, please. < 1321236316 483397 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :SgeoN1: you might get rsi < 1321236332 420992 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, Haskell < 1321236346 888901 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: let me help you out: never write, never use variadic functions < 1321236362 496379 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :there is exactly one variadic function anyone uses and it's printf, and even then most people avoid it, this is because it freaking sucks because it's dynamically typed < 1321236392 75603 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :The dynamic typing has nothing to do with it being variadic, I thought < 1321236408 147118 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: So you want variadic functions that take only one argument type? That wouldn't be dynamic. < 1321236410 278172 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Let me tell you how to do that. < 1321236413 733872 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :f :: [Type] -> Result < 1321236421 20174 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Advanced technology! < 1321236440 723426 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, is playing around a sin in your world? < 1321236469 685419 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Usually you "practice" something in order to be better at doing it so that you can do it for real later. < 1321236488 420835 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Also, Oleg has examples of strongly typed useful variadic functions, but I doubt I'd be able to write such < 1321236495 400192 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :the dynamicity is only needed because the format string is a value not giving its natural type, it has nothing to do with the variable number of the rest of the arguments < 1321236536 864340 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: yes, but can you come up with a useful, non-dynamic, non-single-argument-type variadic function? < 1321236542 415647 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's contrived < 1321236609 555017 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott needs to read more Oleg. Although I'm not sure if Oleg ever said anything about usefulness < 1321236618 910458 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I have read plenty of Oleg. < 1321236740 345169 :tiffany!~AndChat@fl-76-3-17-34.dhcp.embarqhsd.net JOIN :#esoteric < 1321236847 811452 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :elliott: Not enough. < 1321236861 575216 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric ::-( < 1321236871 533167 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :Didn't Oleg write an operating system once? < 1321236891 934375 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :@ is surely superior, though. < 1321236957 592218 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :There's a C++ kernel thing on his site? I think it's just a toy though. < 1321236963 743593 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I have one variadic function I want to write < 1321236981 529373 :CakeProphet!~eris@h104.33.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1321236981 574616 :CakeProphet!~eris@h104.33.18.98.dynamic.ip.windstream.net QUIT :Changing host < 1321236981 574760 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1321236996 591607 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :An implemented toy is clearly far worse than an unimplemented toy. :-) < 1321236997 152747 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Not sure if I can, or, if it's doable, whether someone else already has < 1321237000 703830 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: What is it. < 1321237011 710103 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: @ ISN'T A TOY TAKE THAT BACK OR I'LL KILL YOUUUUUUUUUUU < 1321237013 566000 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :In what language? < 1321237014 697914 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :liftAn < 1321237024 510769 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :SgeoN1: Look up "idiom brackets". < 1321237039 583697 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :http://www.haskell.org/haskellwiki/Idiom_brackets < 1321237082 418103 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :bah, can't use tabs in gnome-terminal with irssi < 1321237087 310442 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :gnome-terminal steals alt+N < 1321237114 996865 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :CakeProphet: Disable that. < 1321237145 475257 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :That's subtly different from what I was hoping for, although I guess there may be a reason. I didn't really look that closely < 1321237152 94986 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: How's that relevant? < 1321237155 447096 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Or do you know what SgeoN1 is trying to do. < 1321237155 648385 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :shachaf: how does one accomplish this. < 1321237177 548401 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :elliott: It accomplishes more or less the same goal as liftAn (it just needs a terminator). < 1321237187 609367 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: How do you know he wanted liftA#? < 1321237201 744066 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :How do I know anything at all? < 1321237205 869716 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deep. < 1321237209 225056 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :ACTION is omniscient, that's how. < 1321237218 753750 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, what else could I have meant by writing liftAn and not explaining further? < 1321237222 118170 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: you raise some interesting philosophical questions. < 1321237238 420838 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: You didn't. < 1321237244 816883 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, you did. < 1321237246 710522 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :SgeoN1: It could be "lift, but only for indefinite nouns that start with a glottal stop". < 1321237308 740327 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Why do idiom brackets need a terminator? < 1321237341 522896 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :To know when the thing has terminated. < 1321237374 796257 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I should probably read the thing < 1321237420 459240 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric ::t divMod < 1321237421 643519 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Integral a) => a -> a -> (a, a) < 1321237430 245605 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: Because otherwise it's ambiguous. < 1321237435 353422 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Also, it'd be really ugly without a terminator. < 1321237552 437089 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :To use or to write? < 1321237565 142458 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Because usage of a terminator is ugly to me < 1321237579 720009 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :both < 1321237585 82371 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because impossible is ugly. < 1321237606 763063 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(| getFoo + getBar |) is perfectly nice. < 1321237691 537559 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :SgeoN1: http://www.amateurtopologist.com/blog/2010/01/12/variadic-functions-in-haskell/ < 1321237697 526174 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :elliott: Challenge: A version of iI Ii that works with infix operators. < 1321237709 215423 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: No, iI Ii is hideous. < 1321237731 914210 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :(+) (iI fx) (fy Ii) -- OK, maybe not. < 1321237739 650156 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :elliott: #define (| iI < 1321237740 344702 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Hmm, that page has a use case that goes beyond liftAn. I wonder if that restricted the solution spsce < 1321237749 938104 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :(| f blah hmm Ii < 1321237760 135205 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :http://personal.cis.strath.ac.uk/~conor/pub/she/idiom.html (OK, she's additions to idiom brackets may not actually make SgeoN1 think they're less ugly.) < 1321237763 444509 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Oops < 1321237768 13125 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :s/she's additions/the additions she makes/ < 1321237783 334247 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :Her additions. < 1321237822 770493 :evincar!~evincar@daffa.student.rit.edu QUIT :Quit: ChatZilla 0.9.87 [Firefox 8.0/20111104165243] < 1321237853 511088 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I don't see how they work, I guess that's in the paper? < 1321237860 766322 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Nestibility is good though < 1321237903 971660 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :ACTION wonders whether iI is nestable. < 1321237950 525074 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :"Worse, for reasons I have never entirely understood, the type-class hackery doesn't allow these brackets to nest as they should." < 1321238020 785448 :Darth_Cliche!~Darth_Cli@c-67-162-128-110.hsd1.co.comcast.net QUIT :Quit: You are now graced with my absence. < 1321238052 406583 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :SgeoN1: terminator is necessary because liftAn f x y z is a legal complete use whenever liftAn f x y z w is. (each additional argument is just applied with <*>.) < 1321238142 856567 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t \f x y z w -> (liftA3 f x y z, liftA4 f x y z w) < 1321238143 958473 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Not in scope: `liftA4' < 1321238146 788736 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oops < 1321238162 90644 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t \f x y z -> (liftA2 f x y, liftA3 f x y z) < 1321238163 224347 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b (f :: * -> *) c d. (Applicative f) => (a -> b -> c -> d) -> f a -> f b -> f c -> (f (c -> d), f d) < 1321238224 429551 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : "Worse, for reasons I have never entirely understood, the type-class hackery doesn't allow these brackets to nest as they should." < 1321238234 815673 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: oerjan: um the ones she has nest just fine < 1321238247 746084 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :the stupid typeclass hack on http://www.haskell.org/haskellwiki/Idiom_brackets that McBride disowned don't nest because they're awful :P < 1321238247 921850 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok < 1321238266 452220 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :McBride disowned it? < 1321238271 821692 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :Does that mean it's there for the taking? < 1321238272 408531 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: well those were what shachaf asked about < 1321238277 385723 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :"For a while, I had a cheeky typeclass hack, but it seemed like overkill, especially as it didn't nest. She now supports a notation which does the job." < 1321238279 712188 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :sounds like disowning to me! < 1321238297 795837 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :oerjan: Well, it makes sense that they're not nestable. < 1321238313 935330 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :Unless you use parentheses, that is. I'd be very surprised if they didn't nest even then. < 1321238347 624656 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: oh noooooooo my zipper doesn't work < 1321238386 329359 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: i'd assume he meant they don't nest with parentheses < 1321238397 266116 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Remote host closed the connection < 1321238441 41802 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: presumably trying to infer all the right types goes haywire somehow when there is more than one nesting level < 1321238459 188346 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :inner ambiguity or something... < 1321238533 337105 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :perhaps type families might help >:P < 1321238552 171277 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :oerjan: There's a translation of those things to tpe families somewhere on hpaste. < 1321238561 314314 :CakeProphet!~eris@h104.33.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1321238561 359872 :CakeProphet!~eris@h104.33.18.98.dynamic.ip.windstream.net QUIT :Changing host < 1321238561 360039 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1321238563 505252 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :I'd be surprised if it solves any of the actual problems, though. < 1321238588 543539 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :http://hpaste.org/48964 < 1321238732 370990 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wtf random memory leak. < 1321239055 906917 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :This paper can'tbe right?!?!??! Apllicatives came after arrows? < 1321239068 952259 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :PANIC!?!??!!? FUCKING APNCI!?!?!?!?!?!?!? IIST IMSPOSBIBLE < 1321239069 617261 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :!!!! < 1321239121 946218 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :panice < 1321239137 163746 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fucking apnic < 1321239140 297547 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :why is APNIC panicking, they already _did_ run out didn't they? < 1321239173 453485 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: napcin < 1321239208 140390 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :napcin < 1321239274 830004 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :sigroanneaaaaaaaaaaaaaaaaaaa < 1321239302 745738 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :si groan ea < 1321239304 5139 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: is there a link connected to this nonsense? < 1321239316 524906 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t fromDyn < 1321239317 510309 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Typeable a) => Dynamic -> a -> a < 1321239320 325832 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :or are you just making random words < 1321239321 519998 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t toDynamic < 1321239322 510417 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Not in scope: `toDynamic' < 1321239323 670742 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t toDyn < 1321239324 642295 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Typeable a) => a -> Dynamic < 1321239347 543957 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [toDyn 2, toDyn True, toDyn 'h', toDyn "hello"] < 1321239348 710622 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [<>,<>,<>,<<[Char]>>] < 1321239354 960488 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: This paper can'tbe right?!?!??! Apllicatives came after arrows? < 1321239355 5808 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Haskell is the best Python. < 1321239364 304831 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :uuugh < 1321239370 599935 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :don't even talk about python < 1321239372 291118 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :weeps to self < 1321239496 511317 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: darn, i was hoping for some actual interesting ip news :P < 1321239504 501968 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: ilari left :( < 1321239510 603211 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i miss him and his robotic nature < 1321239531 335802 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: anyway mcbride invented idioms (applicatives) in... was it 2006? < 1321239545 655755 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oh ross patterson too < 1321239547 257209 :Jafet!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1321239560 510600 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm, http://www.soi.city.ac.uk/~ross/papers/Applicative.html introducing applicative functors is 2008, but I think the "idiom" name goes back to 2006 < 1321239561 568196 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :not sure though < 1321239607 2373 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Does Haskell have an Applicative definition for all nomads? < 1321239628 527310 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :nomads < 1321239652 989355 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Monads < 1321239661 649930 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :pure = return; (<*>) = ap < 1321239677 702752 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :"Applicative" isn't part of Haskell. < 1321239681 394961 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 245 seconds < 1321239719 241110 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, that's great, but is it a default in Haskell, or is the situation like Functors? < 1321239727 828843 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: Functor is a superclass of Applicative. < 1321239731 924217 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Shachef, o.O? < 1321239732 330267 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :From this you can derive an answer. < 1321239741 235040 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: I don't think it's wrong to consider the base standard library part of Haskell. < 1321239899 652144 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric ::( < 1321239930 182705 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :I don't think it's wrong to consider Glasgow Haskell Haskell. < 1321239961 466025 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Jafet: base theoretically supports non-ghc compilers :) < 1321239989 642281 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :In theory, yes. But only the Glasgow Haskell Compiler compiles Glasgow Haskell. < 1321240555 129143 :pkzip!~a@109.160.176.204 JOIN :#esoteric < 1321240630 601629 :pkzip!~a@109.160.176.204 QUIT :Client Quit < 1321240634 593383 :pkzip!~a@109.160.176.204 JOIN :#esoteric < 1321240790 752770 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I think I see how to implement Dynamics, but < 1321240794 897155 :pkzip!~a@109.160.176.204 PART :#esoteric < 1321240804 897100 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :.. I think it requires OverlappingInstances? < 1321240830 964608 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :no? < 1321240834 514907 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :why would it < 1321240883 896171 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Two instances, one to say that fromDynamic returns Just whatever, and a more general instance to say it returns Nothing. < 1321240889 867759 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :what < 1321240899 962445 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I may be approaching it wrong < 1321240910 201268 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :data Dynamic = forall a. (Typeable a) => Dyn a < 1321240913 722409 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :toDyn = Dyn < 1321240919 233550 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fromDynamic (Dyn a) = cast a < 1321240951 369940 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :That's great, I'm saying if I were to try to implement it mysrlf < 1321240955 169152 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Myself < 1321241007 423157 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Without magic Typable, but a typeclass of my own construction < 1321241042 44450 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Although I'd guess that Typable isn't magic < 1321241048 626918 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :SgeoN1: Are you going to be using a class isomorphic to Typeable? < 1321241078 969222 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :The only magic bit about Typeable is that GHC will autoderive instances for you. < 1321241097 796630 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I don't ... think so? What does Typable provide, because I think I'd need less. < 1321241122 149255 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: With any typeclass that isn't autoderived, Dynamic gives you unsafeCoerce. < 1321241125 198908 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Well, myvway would be annoying to write out by hand, yes < 1321241130 744405 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(This is why people want hand-written Typeable instances banned.) < 1321241156 44934 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :ACTION wears a hand-written Typeable instances band! < 1321241161 683596 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :Wait, or am I *in* one? < 1321241170 33350 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :But does Typable rely on overlapping instances internlally? < 1321241170 934567 :GreaseMonkey!~gm@unaffiliated/greasemonkey QUIT :Quit: The Other Game < 1321241199 735423 :GreaseMonkey!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1321241213 718364 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: No. < 1321241220 480895 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :cast, however, relies on unsafeCoerce. < 1321241232 666087 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :And OverlappingInstances does not let you do what you want. < 1321241233 763417 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Ah. So, magic < 1321241240 976496 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :It doesn't? < 1321241317 841978 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :It doesn't. < 1321241554 5387 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :Oleg can decided UndecidableInstances. < 1321241556 370684 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :ACTION sighs. < 1321241560 795472 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :My fingers are useless. < 1321241573 784423 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :They are clearly not native English speakers. < 1321241576 818758 :Aune!~Arne@h-152-28.a163.priv.bahnhof.se QUIT :Quit: Lmnar < 1321241585 449880 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :O.o at Undecidable < 1321241614 891141 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or is it just that it can't be decided whether typechecking terminates? < 1321241619 492520 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :I can only type native English. < 1321241621 856912 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or somehing < 1321242023 190887 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :SgeoN1: yeah < 1321242052 711651 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :now IncoherentInstances, on the other hand, is so evil i'm not even sure what it does. < 1321244055 629369 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1321244238 267319 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :My Haskell package (as well as other Haskell packages that were lack generated document at that time) still has no generated documentation. < 1321244285 878476 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Actually, I found that one of them has a build failure log. Mine, however, has no log. < 1321244511 414592 :copumpkin!~pumpkin@unaffiliated/pumpkingod NICK :FUDPAcker < 1321244948 625251 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net NICK :MSleep < 1321244972 23552 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :does haddock even support literate haskell < 1321245005 540494 :FUDPAcker!~pumpkin@unaffiliated/pumpkingod NICK :copumpkin < 1321245163 457187 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I think I read its document it says that it does. < 1321245183 424494 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ask #haskell < 1321245189 922235 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :OK < 1321246280 423953 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :elliott: If "near" is something like "within 128x128" then I'd say "near the IP"; most programs are smaller than that and in Mycology I try to avoid (0,0). < 1321246302 884412 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: It is pretty much "within 128x128", yes < 1321246308 764404 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fungot is more closer to (0,0), isn't it? < 1321246309 386455 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :elliott: oh, the swamp of terror, in search of the golden citadel... " no secondary sources of their wealth and power, but i refused. so did the east of paris. made of plaster < 1321246373 884979 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :elliott: And re. that list of graphics cards; the guy stopped updating it (along with the whole site) in April. < 1321246438 508208 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: :-( < 1321246467 751285 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Rest in peace guy -- too cool for this world. < 1321247102 486830 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric ::t state < 1321247103 632277 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall s a. (s -> (a, s)) -> State s a < 1321247390 258817 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Don't do that, it won't work and also has a 99,98% chance of destroying the earth by summoning time-traveling zygohistomorphisms. < 1321247406 50321 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :what about it < 1321247419 410056 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION is easily amused < 1321247434 972512 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Oh, what I pasted is a quote < 1321247455 226588 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i know that < 1321247670 25266 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION reads about why reactive-banana has no swicher < 1321247673 498607 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Switcher < 1321247713 797760 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: ZZZZZZZZZZZZZZZZ < 1321247794 262035 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric ::t StateT < 1321247795 473826 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall s (m :: * -> *) a. (s -> m (a, s)) -> StateT s m a < 1321247804 728509 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :@hoogle State s a -> StateT s m a < 1321247805 337046 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :No results found < 1321248275 81848 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :StateT . fmap return . runState < 1321248478 671418 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah :) < 1321250914 710986 :pkzip!~a@109.160.176.204 JOIN :#esoteric < 1321250929 5443 :pkzip!~a@109.160.176.204 PART :#esoteric < 1321251336 830410 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com QUIT :Quit: Djinn and Tonic < 1321251721 936867 :elliott!elliott@unaffiliated/elliott QUIT :Remote host closed the connection < 1321251797 268841 :elliott!elliott@unaffiliated/elliott JOIN :#esoteric < 1321251897 204331 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Sweet, Shiro 2 has run into a roadblock as soon as it began! It's like that time when CCBI 2 was dormant for months because of a compiler bug! < 1321252198 989110 :nys!~nys@blk-215-85-41.eastlink.ca QUIT :Quit: quit < 1321252242 302003 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net QUIT :Quit: Bye < 1321255078 16449 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy!!! What a good thing that you are here HELP ME < 1321255126 201854 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1321255182 152240 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: I need a zipper of a structure with n cursors help. < 1321255202 717595 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :cursors?? help < 1321255216 484755 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :isn't that just the n'th derivative of the type? < 1321255275 570806 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: yes. however i need an /arbitrary/ n < 1321255276 114710 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i.e. < 1321255281 826882 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Zipper1, Zipper2, ... is like a tuple < 1321255287 233071 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I need "a list", ZipperN < 1321255295 723633 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because the number of cursors I need varies at runtime < 1321255327 747371 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :maybe you can make a zipper-zipper to navigate to the right zipper, if you manage to make automatic zipper construction in the type system < 1321255349 278809 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: you're kidding, right? :P < 1321255354 327335 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :mostly yes < 1321255398 812750 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :but an infinite type of all zippers might be doable? < 1321255421 386627 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm oleg's (hideous) multi-cursor zipper is done as just two zippers kept in sync < 1321255429 697460 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :except it's an uh higher-order zipper that keeps track of the path < 1321255432 117831 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :each zipper that is < 1321255683 441234 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :help. < 1321255744 193040 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :i do not know how :( < 1321255805 926635 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :help. < 1321255841 935435 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :Real programmers use mutability instead of zippers. < 1321255876 520762 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :real programmers don't abstract away their work, they do it < 1321255897 196702 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :"abstract" as in "give to someone else"? < 1321255902 549828 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net JOIN :#esoteric < 1321255967 140724 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Honestly, I'm tempted just to return to the old style, which was really slow but really simple. < 1321255973 654448 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :http://www.altocumulus.org/Fudgets/demoform.html please tell me these kinds of shenanigans don't work these days < 1321256028 961956 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :X is still a network-transparent protocol, yes. < 1321256069 784589 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :But arbitrary computers shouldn't be able to do stuff without your permission < 1321256071 440791 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Holy shit, the Fudgets website got updated in 2011. < 1321256085 872731 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SgeoN1: Where does that site do anything without your permission? < 1321256128 918651 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :It looks like it attempts to. Or, well, technically with permission but if it worked, then it could work without permission < 1321256169 756830 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Although on my phone, I got an error telling me to try running some command, which doesn't look like it deserves to be sufficient for granting permission < 1321256206 174842 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :If you actually tried it, you'd see that you just have to grant permission to the server. < 1321256209 673487 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :To display windows. < 1321256229 111202 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Of course, the website could also just open a popup; I still get them occasionally, so it's not like there's no way to circumvent popup-blockers. < 1321256236 282295 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Being able to open a window is not a very exciting privilege. < 1321256267 565295 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :"skalman" will be a host on some university network, I suspect. < 1321256286 30964 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :So it probably only works/worked in the 90s for people at Chalmers. :p < 1321256293 483622 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :It only says skalman, how is that enough to grant permission? < 1321256297 248158 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Ah < 1321256309 185668 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Skalman < 1321256353 621764 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :the easy way is to just give the whole internet access to your X server < 1321256447 493913 :Jafet1!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1321256602 434953 :Jafet!~Jafet@unaffiliated/jafet QUIT :Ping timeout: 244 seconds < 1321256709 940648 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :elliott: Real programmers stare the compiler down until it submits. < 1321256720 522751 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :That's what you should do to get ZipperN. < 1321256744 597529 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :"compiler whats that" - real programmer < 1321256747 282766 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq: :'( < 1321256946 507261 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Is compilation really a necessary aspect of Haskell? < 1321256959 695483 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :SgeoN1: Not even slightly. < 1321256987 132248 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :It's just that the preferred implementation of Haskell, GHC, is a compiler. < 1321256989 529546 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :(That was meant to elicit calls of me being an idiot, but I'd think that typechecking and compilation are different things) < 1321257016 958792 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Hugs, for instance, was a Haskell interpreter. < 1321257017 804133 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :....oh, so I'm just being a captain ovvious < 1321257022 691262 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Yes. < 1321257023 133717 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Obvious < 1321257065 37564 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net PRIVMSG #esoteric :Captain Ovious: Lord of All Sheep < 1321257088 374278 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, I don't have to serve as a Notifier, right? And why did spellcheck caps Notifier? < 1321257107 88599 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :And by spellcehck I mean autocorrect < 1321257145 697337 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Night all zzzinsane < 1321257502 451259 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I wonder if you could make a haskell dialect that doesn't typecheck until runtime, essentially making haskell one of those "dynamically typed" languages < 1321257639 458761 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: i doubt it, how would you do things like typeclasses, polymorphic recursion... < 1321257648 482653 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i mean < 1321257653 776336 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you could do it in batch at start-up < 1321257658 605996 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but that's basically compilation :P < 1321257679 911354 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :after enough furious handwaving, surely it'll be trivial? < 1321257764 613690 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1321257912 445860 :SgeoN2!~AndChat@ool-ad034d00.dyn.optonline.net JOIN :#esoteric < 1321257912 808750 :SgeoN1!~AndChat@ool-ad034d00.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1321257994 469139 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Being able to open a (X) window is quite an exciting privilege because then you can monitor all keypresses. < 1321258131 197634 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, you can/ < 1321258131 721436 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :? < 1321258133 47920 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Thanks, X! < 1321258145 589282 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Does that apply even after it's closed? < 1321258193 78292 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Yes. Or, well, you don't need to be able to open a window either, you just need to be able to connect to a display. < 1321258259 6303 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :So fizzie, about them n-zippers... < 1321258348 662763 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :There's an "X SECURITY" extension, though, which blocks at least the XQueryKeymap polling, but I think that doesn't apply if you "xhost +" someone. (It's relevant for ssh's X client forwarding; it makes remote clients untrusted by default, unless you ssh -Y instead of ssh -X.) < 1321258355 936319 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I don't know anything about them n-zippers, sadly. < 1321258832 89239 :Jafet1!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :elliott: you don't need type checking for that, only type inference < 1321258841 406267 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Jafet1: hmm, right < 1321258845 330133 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that falls down with extensions, though :) < 1321258848 302739 :Jafet1!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :How to implement type inference without type checking is hereby left as an exercise < 1321258850 385832 :Jafet1!~Jafet@unaffiliated/jafet NICK :Jafet < 1321258915 539082 :Jafet!~Jafet@unaffiliated/jafet QUIT :Quit: Leaving. < 1321258915 850400 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :ACTION maintains that type inference = type checking. < 1321258937 204956 :derrik!~xix@194.150.65.87 JOIN :#esoteric < 1321258948 340161 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :> comparе "inference" "checking" < 1321258949 973056 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : EQ < 1321258964 796706 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :o.O < 1321259000 594220 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :> comparе "shachaf" "mad" < 1321259002 203932 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : EQ < 1321259036 120523 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net JOIN :#esoteric < 1321259061 846569 :pikhq!~pikhq@174-22-148-208.clsp.qwest.net QUIT :Ping timeout: 252 seconds < 1321259066 84603 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :> compаre "olsner" "mad" < 1321259067 690149 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Is_a < 1321259106 671090 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :ACTION is a-mad with madness < 1321259184 587522 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1321259218 434289 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :hg status -umad < 1321259291 432609 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :git config shachaf.mad true < 1321259319 844712 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :git conf ig-shachaf.mad true < 1321259377 652224 :LadyJ!~rooms@cpe-70-123-190-239.stx.res.rr.com JOIN :#esoteric < 1321259401 557624 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :but `git status -umad` could work too, there is a `git status -unormal` anyway < 1321259430 201512 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :mad file disease < 1321261159 885465 :derrik!~xix@194.150.65.87 QUIT :Quit: cursed < 1321261254 604227 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hi LadyJ < 1321261255 740868 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :`? welcome < 1321261261 566528 :HackEgo!foobar@codu.org PRIVMSG #esoteric :Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page < 1321261275 127794 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :ACTION never got a warm welcome like that. < 1321261425 857796 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: That's because we don't like you. < 1321261512 735686 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :eek, I just had a scapegoat breakthrough < 1321261515 974619 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm not meant to be the one who has those < 1321261529 450211 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :Hooray, Raymond Smullyan. < 1321261577 995522 :hagb4rd!~perdito@koln-d93299d7.pool.mediaWays.net JOIN :#esoteric < 1321261585 703549 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf is trying to tell us that he is Raymond Smullyan. < 1321261597 113322 :elliott!elliott@unaffiliated/elliott PART #esoteric :"Leaving" < 1321261599 682444 :elliott!elliott@unaffiliated/elliott JOIN :#esoteric < 1321261602 415475 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Take that, close button. < 1321261602 630758 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :ACTION could do worse. < 1321261964 693174 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: dude what if like < 1321261965 721894 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :all changes < 1321261967 670046 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :are branches dawg < 1321261970 303020 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :cause they branch < 1321261973 581903 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION punches CakeProphet. < 1321261973 882913 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the thing. < 1321261977 119872 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what if they branch the thing. < 1321261978 250101 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :always < 1321262025 128552 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: Accept my inviation. < 1321262027 845659 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :invitation. < 1321262051 46375 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :one second while I figure out how to do that. < 1321262076 381729 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :/join < 1321262104 409409 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :why did you invite me to a channel when I don't need to be invited. < 1321262116 76554 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :So I could do that. < 1321262120 574303 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah < 1321262155 545311 :SgeoN2!~AndChat@ool-ad034d00.dyn.optonline.net QUIT :Quit: Bye < 1321262186 638275 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :dude what if like < 1321262188 8126 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :merging < 1321262205 450237 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :creates branches < 1321262214 203322 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :where each branch is a possible result of the merger. < 1321262238 477059 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :then you no longer have to worry about merging < 1321262239 541856 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!! < 1321262254 285774 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you just change hundreds of branches en masse < 1321262397 587678 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: Please die. < 1321262469 881527 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :reverting creates a cycle in the graph back to the original node, and then branches at that node!!! < 1321262532 952412 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because each node is one of millions of permutations, you can do all sorts of fine-grained adjustments when you revert. Also, everytime you branch it creates branches of /what could be/ < 1321262536 930922 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :all possibilities. < 1321262537 67725 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :are branches. < 1321262563 648219 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Can you kill CakeProphet for me? < 1321262571 325282 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :/kill CakeProphet < 1321262576 625134 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :My IRC client doesn't support it. < 1321262580 859264 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :I think you need to be an oper. < 1321262607 813056 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Well, become an oper then. < 1321262612 17953 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so what happens when you revert into the future? < 1321262630 624186 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :CakeProphet: What if, like, stuff, dude. < 1321262633 975962 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :ACTION tired < 1321262645 647972 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :shachaf: YEAH DUDE THE STUFF CAN BRANCH < 1321262652 196855 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :branches make version control systems complete. < 1321262657 789605 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the more branches the more possibilities. < 1321262660 520216 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the more version control. < 1321262687 756667 :Madoka-Kaname!~moe@inportb/loli/cirno-chan PRIVMSG #esoteric :ACTION kicks CakeProphet in the gonas < 1321262691 916949 :Madoka-Kaname!~moe@inportb/loli/cirno-chan PRIVMSG #esoteric :gonads* < 1321262766 261631 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :deleting a file is just reverting to a branch in which it was never created. < 1321262799 647332 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also branches could branch! so you can branch while you branch. < 1321262865 971089 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :only complete binary trees are allowed to represent the branches though. < 1321262888 238448 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so that the tree can be implemented efficiently as an array. < 1321262894 151118 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :an array that doubles as a hash function. < 1321262917 234298 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: But what if you removed that restriction??? < 1321262918 881150 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :DUUUUUUUUUUUUDE < 1321262934 148277 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: that would mean < 1321262948 121377 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :THE RESTURKSHUN ES REMOV < 1321262952 457946 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :FUUUUCK < 1321262990 62768 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what if instead of changesets you use categories. < 1321262997 320505 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no wait even better objects < 1321263001 418764 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :like Java objects. < 1321263046 609226 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :THEN EVERYTHING IS JUST INHERITANCE YEAAAAAH < 1321263092 842248 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :What if... you used objects instead of heritance? < 1321263098 140768 :Madoka-Kaname!~moe@inportb/loli/cirno-chan PRIVMSG #esoteric :バカが移りたくない < 1321263109 756708 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: like aggressation? < 1321263114 791805 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I DON'T KNOW. < 1321263115 472105 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :AGGRAVATIONS? < 1321263124 661375 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :agregorate? < 1321263175 402881 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what about feudalism < 1321263211 892797 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :branches are the result of a noble offering an upper class subject domain in his nobledom. < 1321263242 540290 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :reverting is the resulting of weird time shit or maybe kingly decrees < 1321263248 394628 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and merging is uh, well okay this isn't working. < 1321263262 410190 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :back to Java objects and complete binary tree hash tables. < 1321263322 698415 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> var $ cycle "where time becomes a loop " < 1321263323 705532 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : where time becomes a loop where time becomes a loop where time becomes a lo... < 1321263365 627182 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: okay what about slave labor? < 1321263375 19908 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so you can initiate complex queries. < 1321263417 722151 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :like "okay I need these functions from this file at revision 200 merged with these functions from revision 300 and properly merged so that the code compiles and runs as expected." < 1321263428 712085 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and then you crack your whip < 1321263520 801306 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :copenhagen scapegoat could just pull revisions from other universes where the code has been merged correctly. < 1321263569 997111 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 260 seconds < 1321263593 329504 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it would find this universe by consulting the universe in which scapegoat can actually catalogue and efficiently search all universes. < 1321263594 520589 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1321263619 588265 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which it would just have conveniently. maybe that universe finds our universe and decided to help you out! < 1321263622 539326 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :how nice. < 1321263814 968271 :Madoka-Kaname!~moe@inportb/loli/cirno-chan QUIT :Ping timeout: 260 seconds < 1321264212 339914 :Madoka-Kaname!~moe@ppp-70-251-229-235.dsl.rcsntx.swbell.net JOIN :#esoteric < 1321264212 537097 :Madoka-Kaname!~moe@ppp-70-251-229-235.dsl.rcsntx.swbell.net QUIT :Changing host < 1321264212 582243 :Madoka-Kaname!~moe@inportb/loli/cirno-chan JOIN :#esoteric < 1321266035 392236 :elliott!elliott@unaffiliated/elliott TOPIC #esoteric :ioccc more like http://codu.org/logs/_esoteric/ < 1321266041 54465 :elliott!elliott@unaffiliated/elliott TOPIC #esoteric :http://codu.org/logs/_esoteric/ < 1321266045 719276 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :too bad even for my high quality standards < 1321267008 353990 :derdon!~derdon@p5DE89701.dip.t-dialin.net JOIN :#esoteric < 1321267982 836416 :GreaseMonkey!~gm@unaffiliated/greasemonkey QUIT :Quit: The Other Game < 1321268623 398227 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :@hoogle (MonadPlus m) => Bool -> m a -> m a < 1321268624 188195 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Monad mplus :: MonadPlus m => m a -> m a -> m a < 1321268624 233545 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Monad unless :: Monad m => Bool -> m () -> m () < 1321268624 278907 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Monad when :: Monad m => Bool -> m () -> m () < 1321268631 110242 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Meh. < 1321269675 641754 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1321269715 598454 :ais523!~ais523@unaffiliated/ais523 TOPIC #esoteric :The IOCCC is back on! http://www.ioccc.org | http://codu.org/logs/_esoteric/ < 1321269730 702782 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: heh, I just set an ioccc topic earlier < 1321269732 251710 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but it was so bad < 1321269748 25851 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm just aiming for an informative one < 1321269757 129566 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I have an IOCCC entry ready, at least < 1321269761 56906 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: so, umm, I had a scapegoat breakthrough (!), and then implemented some scapegoat code < 1321269762 5304 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I just need to check it for portability < 1321269772 86294 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :given that it violates the Standard in a huge number of ways < 1321269846 356264 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523 is unfazed by your human scapegoats. < 1321269849 553289 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Scapegae. < 1321269865 696174 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah right, scapegoat! < 1321269891 521016 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :`quote Bright < 1321269893 980411 :HackEgo!foobar@codu.org PRIVMSG #esoteric :251) [on Walter Bright] I went to chat with him after his talk at the ELC and he was like "hum, right - humans. How do they work again... oh, hi!" \ 260) who's walter bright and why is he so bright locks: he's to D what I'm to ooc locks: guilty \ 702) Just about all females often feel that exactly why all Hollywood stars common maintain its brightness as Tom in < 1321269901 305066 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hmph, the first one < 1321269915 882195 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that first one is great < 1321269969 61808 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :so they have managed to release the winning entries after *five* years? < 1321269991 393013 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: anyway, the scapegoat breakthrough was what I believe to be the One True Conflict Resolution system (!), and the code is another implementation of the basic apply model, plus some ideas and scraps about how to abstract away the "pointer comparison" that you need to apply changes fast (rather than recursively comparing them to figure out whether the change referenced is the right one) < 1321269997 449505 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(if you use changes instead of references to them) < 1321270020 656341 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :go tell me, I have about 2 and a half hours to listen before I go off to do marking < 1321270022 858500 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :probably a bit less < 1321270058 756184 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: well, you know how your existing solution have been changes that do a sort of spooky action-at-a-distance to other changes? you include a change "use hash foo instead of bar", and all the other changes you're applying end up with that rewrite, etc. etc. etc.? < 1321270073 246893 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(you can correct me if I've got your model wrong or whatever, but it doesn't matter much) < 1321270081 679713 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au QUIT :Ping timeout: 245 seconds < 1321270138 777443 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes; I wasn't happy with that, but it seemed like the only way to do things < 1321270139 773666 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :have you found an alternative? < 1321270175 434047 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes, but I'd like to summarise the few things I didn't like about that first, so I can show how I was lead to this one < 1321270203 183633 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :one: if a changeset is applicable, all its subsets should be applicable, because adding /more/ changes to a change can't make it "less conflicty" < 1321270222 626288 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :two: it's not really clear /which/ changes, exactly, feel the effects of the hash rewrite; it seems more like a syntactic mechanism than a semantic change < 1321270253 905690 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: so, here's the solution < 1321270257 361585 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm… I'm not sure that one: is correct, adding instructions on how to resolve conflicts should make a set less conflicty < 1321270263 145269 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :tell me your solution, anyway < 1321270275 154475 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: nah, not really, because "instructions" aren't really a thing < 1321270282 320873 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: you apply changes by tsorting them, and then applying them in that order < 1321270287 930732 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :if any fails, the whole thing fails < 1321270300 596197 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I suspect it breaks a /lot/ of nice properties by not having adding more changes not reverse a conflict < 1321270305 926274 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fair enough < 1321270309 804025 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :anyway < 1321270328 769676 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, how do you handle the case of making change A, reverting change A, later making change B that would conflict with case A? < 1321270335 84254 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :wait, wait :) < 1321270344 479394 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: let's say you have c1 = {insert "foo" between cX and cY}, and c2 = {insert "bar" between cX and cY} < 1321270361 831446 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and you want to make a change that "does both", by putting c1's line above c2 < 1321270362 60471 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep, a simple example of a conflict < 1321270378 177373 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: we introduce a new type of change: FILECHANGE modulo FILECHANGECHANGE < 1321270387 657056 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :we've already introduced the concept of change-changes, so this isn't too surprising < 1321270394 148781 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :its semantics are, it does whatever the resulting change is, pretty much < 1321270396 920866 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: and here's how you use it: < 1321270412 629079 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :c12 = changeset {c1, c2 modulo {replace before-hash with c1}} < 1321270428 201243 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(if the changechange fails to apply to the change, the change itself fails, etc.) < 1321270443 505207 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it preserves the reference to c2, it can do arbitrarily complex resolutions < 1321270447 918843 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's perfect < 1321270513 980565 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it also scales: e.g. if you need to back out a single element of a changeset to make a resolution work, then you can do that too, because changechanges mirror the structure of changse < 1321270515 3876 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :changes < 1321270528 231649 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you can basically do an arbitrary transformation on it < 1321270557 652980 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and, ofc, you can resolve conflicts with /other merges/: you could change the "source-change" of a modulo change < 1321270560 376678 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :as part of a modulo change < 1321270572 613831 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I think I have a few issues of this < 1321270577 64500 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*with this < 1321270583 12812 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :first, assume I have c2 in my repo already < 1321270596 836029 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and want to pull someone else's repo which contains c1 and c2 modulo {replace before-hash with c1} < 1321270599 92413 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what happens? < 1321270603 211447 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1321270608 92159 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(this is not a hypothetical question at all) < 1321270610 232797 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: umm, nothing special? it doesn't /mutate/ c2 < 1321270614 460686 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :c3 = c2 moduloe {replace before-hash with c1} < 1321270618 968912 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :c3 is a /new/ change < 1321270619 886732 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :just like < 1321270622 76056 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :replace c2 with "haha" < 1321270623 138802 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: so right, I have c2, and pull c1 and c3 < 1321270626 986542 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :presumably I get a conflict? < 1321270637 956951 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I shouldn't, in any sane conflict resolution system < 1321270655 605728 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: you do, because it's part of a /resolution/ < 1321270657 521739 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: the whole point is, e.g. < 1321270666 286391 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :your head branch can't contain c2, because it conflicts with the latest revision < 1321270670 130462 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :so instead of appending c2 < 1321270680 270335 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you append changeset {insert ..., c2 modulo blah} < 1321270687 310553 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: so in other words, if you make change c1 and I make change c2, then when you pull from me you resolve the conflict, then when I pull from you I also have to resolve the conflict? < 1321270718 888419 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes and no < 1321270750 675144 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: there /is/ a real conflict, because your branches /don't match up/, because a modulo change introduces changes _necessary_ to get things not to conflict, ergo there can't be compatibility; /but/ the merge strategy is obvious and automatic < 1321270763 89314 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which is to simply drop c2 in favour of the resolution < 1321270771 643248 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah, so the conflict's automatically resolved via noticing that there's an edited version of c2, and replacing c2 with it? < 1321270776 694386 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :yes < 1321270797 520211 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that isn't part of the apply algorithm itself, but plenty of useful merge tactics aren't; that's why there are additional ones on top < 1321270856 424799 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :if you have any other issues with it I'm happy to hear them < 1321270879 108098 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm thinking < 1321270951 11420 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think it's pretty much equivalent to the previous version; except that instead of "for c2 read c3", you're writing "c3" and letting the merge process automatically figure out it should get rid of c2 < 1321270996 505579 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's similar, except for preserving that property of changesets, and having a clear scope < 1321271000 67326 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: for instance, you can do < 1321271017 715728 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :changeset {c2 modulo {replace before-hash with abc}, c3 modulo {replace before-hash with def}} < 1321271021 964741 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: even if c2 and c3 have the same before-hash < 1321271026 648789 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which, afaik, isn't possible with your system < 1321271053 423961 :Vorpal!~AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1321271077 614033 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, that changeset inherently contains a conflict < 1321271110 437616 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :how? < 1321271112 869089 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is the rule for automerging with this "if you pull a patch A modulo B, eliminate patch A from your tip"? < 1321271124 795234 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: it's trying to add two changes immediately after the same before-hash < 1321271135 370729 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: basically, yes; also, no it's not < 1321271135 415951 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah, wait, no < 1321271138 100697 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :"abc" =/= "def" < 1321271143 26609 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's moved them both to different locations in the original < 1321271169 57664 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :incidentally, you can even just do cN modulo {make it into a nop}, but that makes future merging suck < 1321271180 166774 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: so what if you make c1, and I make c2, and you pull from me and find that the two changes look identical and your version is better < 1321271184 289909 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(because you can't replace cN with another change and get hopes of getting relevant results) < 1321271187 80627 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what does the conflict-resolved version look like? < 1321271198 944673 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(which is possible with a proper changechange: consider replacing cN (changeset) with a larger changeset) < 1321271215 863106 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(as in, c1 and c2 do the same thing, and you prefer to have just c1 and to get rid of c2) < 1321271223 752088 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: oh, in that case you simply have to pick one, which forces you to replace-by-nop the other < 1321271241 496082 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, so you have c2 modulo {nop} < 1321271242 328351 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: but that can be done automatically, and any future changes depending on c2 can simply be modulo'd so that /their occurrence of c2 is replaced by c1/ < 1321271248 810622 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which is where this operation shines < 1321271254 621248 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's the same operation I added! < 1321271266 579448 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so I think they're both shining equally ;) < 1321271270 383661 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: no, it's not: yours was restricted to one level of hash modifications, and yours /didn't have a scope/ < 1321271287 402918 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :its scope was "all repos containing both this hash and the hash this hash modifies" < 1321271300 411571 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :wait, it /mutated global state/? < 1321271306 160701 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no < 1321271310 175813 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that's even worse, there's no way to resolve two changes containing the same hash in different ways < 1321271313 111827 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :only local state < 1321271315 51119 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes it does, it just records it as a transformation < 1321271318 280909 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :global = repo-global < 1321271326 219663 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the hashes still mean the same things < 1321271332 957805 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it just changes the rules for resolving them < 1321271341 959378 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I'm not trying to claim my way's better, btw; just trying to compare) < 1321271352 115059 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :anyway, mine has absolutely no disadvantages compared to yours, keeps desirable properties, is more general, and allows more complicated merges :P < 1321271363 285693 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah, I'm not ~mechanism fighting~ or anything < 1321271373 300911 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I just think this way is pretty obviously the Right Thing for conflict resolution < 1321271381 832214 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because it /looks/ like the rest of the changes < 1321271385 296040 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: hmm… so how would the fact that "references to c2 should be replaced with references to c1" be expressed in your modulo notation? < 1321271387 808735 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :"replace with ", etc. < 1321271408 510271 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps it should be explicit, rather than implicit < 1321271413 957311 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: c2 {replace occurs of c2 with c1}, most likely; that's a sane operation for changechanges to have < 1321271419 941895 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :erm < 1321271422 732841 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: c3 modulo {replace occurs of c2 with c1}, most likely; that's a sane operation for changechanges to have < 1321271434 251699 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as in, instead of {c2 modulo replace before-hash}, have {c2 modulo replace before-hash, remove c2} < 1321271447 42484 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: huh? < 1321271457 509021 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :wtf is that supposed to mean... < 1321271492 785220 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: remove is delete-line, right? < 1321271500 255939 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: well, you're pulling c2-modulo, and eliminating c2 in the process < 1321271505 299060 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: err, no < 1321271508 615391 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I mean delete-hash < 1321271517 592439 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: what the hell is delete-hash? < 1321271521 612322 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that's not a change! < 1321271522 430317 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the idea is that if you pull a changeset with c2 modulo replace before-hash < 1321271534 79983 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then you want to eliminate c2 from the changeset you're adding c2-modulo to, right? < 1321271548 964902 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :type error < 1321271554 825598 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :if "remove c2" is meant to be a changechange < 1321271559 553836 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :why are you putting it in the same set as a change? < 1321271597 449760 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: well, you're putting c2-modulo in a changeset; and that /implicitly/ has a delete-hash c2 < 1321271602 539779 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :is it about sg again? < 1321271613 120131 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: what? no it doesn't < 1321271615 668699 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm saying you should make it explicit, as you have a change and an implicit changechange in the same hash atm < 1321271620 890020 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: you said it did earlier < 1321271633 713488 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: that's in the /layer above/, not the apply algorithm itself < 1321271634 206449 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: in fact, it's perfectly possible for a change and a modulo of it to coexist < 1321271655 400814 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :changeset {c2, c2 modulo {replace before-hash with some-other-line, replace after-hash with some-other-line-right-after-it}} < 1321271672 401770 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's just that, whenever C conflicts with C modulo BLAH, the latter wins, in the helpful auto-merging strategies < 1321271711 832339 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm saying that making it depend on the hash being modulo'ed seems wrong somehow < 1321271737 944992 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what about having the changeset as {c1, c3=(c2 modulo replace before-hash), mergehint(replace c2 with c3)} < 1321271739 629529 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that's the whole point < 1321271747 948683 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's a semantic indication that it's a resolution < 1321271759 690816 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: mergehint? are you /trying/ to make this as inelegant as possible? < 1321271792 778757 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: OK, what about this: you edit a file twice, inserting a line each time (adjacent to each other); call the changes that add those lines x1 and x2 < 1321271804 43216 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1321271804 725928 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I edit a file once, adding a single line x3 that does the same thing that x1 and x2 do together < 1321271808 880813 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :x2 having x1 as its before-hash, yes? < 1321271814 456626 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(replace "line" by another semantic unit if you want) < 1321271817 161679 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: yes < 1321271821 292100 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :OK, go on < 1321271830 796424 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :now you pull from me, and decide that my x3 is more elegant than your x1+x2 < 1321271843 790187 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm glad you acknowledge my superior taste < 1321271856 756751 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wait, I think I may have screwed up my example < 1321271881 357104 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps the problem I thought I saw isn't real after all < 1321271902 341869 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Perhaps it's hiding! :D < 1321271909 481843 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I'm trying to find an example that does illustrate it, now < 1321271937 344088 :elliott!elliott@unaffiliated/elliott QUIT :Remote host closed the connection < 1321271966 597782 :elliott!elliott@unaffiliated/elliott JOIN :#esoteric < 1321272005 136863 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 260 seconds < 1321272069 269245 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: incidentally, there's another two sg-thoughts I had, but they're less important than this one and can wait < 1321272295 56512 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :let's see… if, say, Vorpal pulls a repo that contains c1 and c2-modulo, but doesn't have either c1 or c2 yet, presumably the correct thing to happen is for him to just add c1 and c2-modulo as written, and if he ever pulls c2 in the future, discard it? < 1321272357 870982 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I can't answer that question, because you're using "pull" ambiguously... you mean "merge into main branch", right? obviously it's impossible to /fetch/ c2-modulo without fetching c2, since that would result in a corrupt database < 1321272378 443786 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :by "pull" I mean "include into the set of changes I'm considering my repo", or "whitelist" < 1321272388 93576 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :right < 1321272389 128795 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm assuming that all mentioned hashes are fetched < 1321272403 270636 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: anyway, /maybe/, you're oversimplifying the logic a bit < 1321272407 312332 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :this is the exact merge rule: < 1321272440 76972 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :if there is a conflict between C and C modulo CC, CC modulo CC wins < 1321272453 730511 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :note that, if you have C modulo CC somewhere in the ancient history of the repo < 1321272460 90210 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and then C gets pulled in for whatever reason < 1321272464 50653 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and it applies cleanly < 1321272466 465719 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :then that's fine, it just works < 1321272477 607046 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :or if it conflicts with XYZAHASUIDHSAD, made twenty thousand years after C modulo CC < 1321272479 911766 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :then that's a real conflict < 1321272491 27043 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's /only/ when the conflict is between C and C modulo CC that the latter wins by default < 1321272505 862670 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm... so let's call c2-modulo c3, as usual < 1321272517 33274 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in this case, we have c3 depending on c1, and c1 conflicting with c2 < 1321272539 571045 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that counts as a conflict between c2 and c3, right? < 1321272554 719331 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I take it depends on it because c3 looks like c2 modulo {replace before-hash with c1}, yes? < 1321272557 905005 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1321272595 527763 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes, it does < 1321272620 753307 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :good; then I think this definitely gives the expected behaviour in the simple case < 1321272670 796298 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm trying to think of a case where it's possible that c and c-modulo don't conflict, and the only one I can think of is when a block of code is moved from one part of the code to another < 1321272676 857603 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and using modulo changes there is dubious in the first place < 1321272691 273500 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: heh, the more relevant and important of my other two sg thoughts is about move changes < 1321272695 760330 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe i should bring it up now < 1321272700 692438 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :go for it < 1321272764 132354 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: move changes of the form "move (a,b) to (c,d)" are broken. they introduce /silent/ dependencies, because they make changes able to be applied without those changes depending on the move changes. why is this important? remember: changesets are applied by tsorting on dependencies, and then applying in that order < 1321272791 528528 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :with move changes as they are currently, it's possible for tsorting to produce a working or non-working ordering, depending on how the sorting algorithm works < 1321272796 149902 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep, I realised there was something wrong with them < 1321272808 754240 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and the tsort ordering can fail while another ordering can work < 1321272815 407975 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although, I can't think of a specific example for what you're saying < 1321272834 975284 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: you make a move so that c9 is above c7 < 1321272836 508195 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why would it matter whether code was edited before or after moving it? or am I missing something? < 1321272839 385552 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and you have another change that inserts between c9 and c7 < 1321272848 95753 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :call the move cM < 1321272852 177398 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and the insert cQ < 1321272859 724359 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :changeset {cM,cQ} applies in order cM->cQ < 1321272862 364080 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but not cQ->cM < 1321272867 224676 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but cQ doesn't depend on cM, so tsort doesn't see this < 1321272868 485860 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: oh, the "anotehr change" would have to be "insert between cM and c7" < 1321272868 977710 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :thus broken < 1321272873 33199 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :not "insert between c9 and c7" < 1321272876 939511 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because it depends on being after the move < 1321272887 991590 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: so you make the last line of the merge get the hash cM? < 1321272891 189138 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: what do you do with the first hash? < 1321272924 396864 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: last and first; either you give them different hashes, or you say that the first line is cM referred to from above and its old hash from below, and the last line is cM referred to from below and its old hash from above < 1321272944 976506 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: you cannot have two lines with the same hash!!! < 1321272951 819474 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :what the heck does "replace cM with blah" do? "delete cM"? < 1321272961 203037 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, right, good point < 1321272984 809395 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, weren't replaces and deletes meant to have context? as in, "delete c8 between c7 and c9"? < 1321272992 91009 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :the problem with the former solution is, hashes refer to changes, that's sg's strength, and there aren't two changes to go around < 1321272994 617084 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or is that not needed? < 1321272999 54403 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: nope, that's a flaw < 1321272999 105308 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: right, OK < 1321273005 591054 :LadyJ!~rooms@cpe-70-123-190-239.stx.res.rr.com QUIT :Quit: Rooms • iPhone IRC Client • http://www.roomsapp.mobi < 1321273014 638610 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: code should be resilient against being moved around, in general < 1321273057 530519 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so we call the first and last lines cM1 and cM2 for the purpose of any change that cares about their new location, and use their old names for the purpose of changes that would work in either location (and obviously, also for changes that would only work in the old location) < 1321273072 27864 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: crazy idea that doesn't work: implement move (a,b) to (c,d) by doing: changeset {a modulo {change before-hash to c}, b modulo {change after-hash to d}}; these now conflict with the original additions, but conflict resolution sorts it out automatically < 1321273075 95079 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :/please/ prove to me that doesn't work < 1321273093 649237 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :wait, oh, good < 1321273095 622995 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it doesn't work at all < 1321273099 515299 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :inserts don't work like that < 1321273100 702329 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :phew < 1321273113 658547 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, I was hoping that wouldn't work too < 1321273119 869893 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: re your solution: that's obviously not the Right Thing < 1321273127 193712 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it does seem wrong, indeed < 1321273137 76682 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I'd like to hear why not, to help me come up with a correction ;) < 1321273144 406873 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :not a single thing has been improved by breaking the line->change mapping so far < 1321273152 674569 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: well, it involves numbers, and special cases < 1321273155 962214 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric ::) < 1321273172 303760 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Have you seen the television show called "Weird or What?" < 1321273229 934921 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: notionally, I want the move to add two hashes that refer to zero-length lines just before and after the block of code moved < 1321273230 56971 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I'm inclined to think that move changes themselves should change < 1321273232 144781 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :what to, I'm not sure < 1321273236 759876 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Once they had someone say something about ghosts, about infrared and stuff; this is a testable hypothesis so why don't they test it? < 1321273299 475030 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm... if you had {atomic : set of change -> change}, you could do: atomic {move a to after c, move b to before d} < 1321273301 60316 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's no reason we can't actually simply add those, I guess, but it seems wrong in another way < 1321273307 415125 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: atomic because, neither change can apply without conflicting, but if you do "both at once" it works < 1321273315 167549 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and you have two subchanges which become the new hashes of a and b < 1321273321 655014 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but, umm, that's ridiculous < 1321273325 964903 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and I have no idea how to implment atomic at all < 1321273344 733098 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just mark them as "equal" in your topological sort; it's not too hard to implement < 1321273351 72936 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(there are tsort algos that can handle things being equal) < 1321273363 10839 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: that won't work, you /can't apply two changes/ at once < 1321273363 266341 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I know, because I wrote one for my PhD research) < 1321273366 476560 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :applying a change is the atomic thing < 1321273379 207010 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i'm not writing some hideous interleaving algorithm for the sake of basically just doing a move change with a hack to make it have two hashes < 1321273395 18319 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: well, the order of the two changes itself would have to be irrelevant, which it is; it'd just be atomic because it'd force them to happen consecutively < 1321273406 45492 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: oh no, neither would apply without conflict < 1321273409 6085 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but this thing seems ridiculous in other ways < 1321273415 852931 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because it makes no sense, it causes a rupture in space-time < 1321273431 148719 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it starts at c, goes on for five lines; the next line is d, but b's end-hash is still after q < 1321273437 804807 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, but as long as you don't check for space-time ruptures until after the atomic finishes, it's fine < 1321273441 381979 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :let's just forget about this, it's making my head hurt < 1321273447 595958 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that solution, I mean < 1321273466 963218 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: here's my implementation of Move, for no particular reason: < 1321273468 233329 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :apply (Move (FileRange srcS srcE) (FileRange dstS dstE)) = \xss -> do < 1321273468 332788 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : (beforeSrcS, afterSrcS) <- withZipper f xss < 1321273468 380236 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : (src, afterSrcE) <- withZipper g afterSrcS < 1321273468 380407 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : let beforeSrcS' = reverse beforeSrcS < 1321273468 380506 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : (++ afterSrcE) <$> withZipper (h src) beforeSrcS' <|> < 1321273469 262048 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : (beforeSrcS' ++) <$> withZipper (h src) afterSrcE < 1321273471 249924 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : where f z@(_, ys) = z <$ guard (isStart srcS ys) < 1321273473 206862 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : g z@(xs, _) = z <$ guard (isEnd srcE xs) < 1321273475 308690 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : h src (xs, ys) < 1321273477 303091 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : | isStart dstS xs && isEnd dstE ys = Just $ fromZipper (xs, src ++ ys) < 1321273479 321204 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : | otherwise = Nothing < 1321273547 128855 :Aune!~Arne@h-152-28.a163.priv.bahnhof.se JOIN :#esoteric < 1321273615 89377 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it's actually quite elegant, shame move changes are broken < 1321273650 891953 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: my current thoughts are tending along the lines of "everything should have a before-hash and an after-hash that are different" < 1321273667 10891 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ouch < 1321273667 832015 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think that preserves all the properties we need, while also making creating new files and move changes working correctly < 1321273680 555511 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: you'd just stick a or b on the end of the hash, I guess < 1321273702 867481 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, perhaps that doesn't help after all < 1321273708 598207 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't think it does... < 1321273725 945607 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and it adds a lot of weird insert cases, like inserting between the "after" of one line and the "after" of another < 1321273733 970362 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe we should ask Gregor :P < 1321273743 319479 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that'd be incorrect, inserts would have to be between an after and a before < 1321273747 902068 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as a type system level requirement < 1321273748 992554 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :he will clearly come up with the perfect solution! < 1321273751 833366 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they're badly typed if they aren't < 1321273763 211746 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: ok, but doesn't that defeat the point of move changes making before/after hashes? < 1321273804 735822 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no; the idea is that a move change would simply provide its hash as the before hash of the first line, and the after hash of the last line < 1321273818 950127 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :well, ok < 1321273828 471381 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then everything works correctly, additions/deletions/replacements, I think < 1321273839 1030 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm still knee-jerk against this but maybe I will see the light :) < 1321273873 497955 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a delete hash would be "delete one line from before-hash to after-hash"; that way, deleting after a move is made doesn't conflict with the move, deleting before does (and should) < 1321273883 314277 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*a delete change < 1321273890 622080 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm < 1321273900 699215 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and if before-hash and after-hash aren't consecutive lines for whatever reason, it conflicts < 1321273907 148409 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, elliott: is this "move a file" or "move a segment of text" or something more generic than that? < 1321273914 47410 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :latter < 1321273917 547178 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in fact, this lets you do things like replacing a space with a newline without causing conflicts on changes to the line before or after < 1321273919 511895 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1321273919 649428 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :although it's used for renames, too < 1321273961 349782 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, because handling renames seems to me like an easier problem than moving text blocks inside a file or between files. Beside for the later case how would you even detect that was what happened? < 1321273971 984466 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is definitely a desirable property; it makes sg independent of what is and isn't a line < 1321273978 154774 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :unless you hook into the clipboard handling or something crazy < 1321273985 803545 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: the user would indicate it was a move < 1321273991 116584 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: I don't really feel like explaining scapegoat to you so that you have enough knowledge to understand this, but what is an easier problem or not is irrelevant < 1321273991 181534 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah okay < 1321273993 336960 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps in response to a question from sg itself asking < 1321273995 219702 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: nah, moves can be mostly auto-detected < 1321273999 856211 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, indeed < 1321274000 5705 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :silently < 1321274016 119203 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: you can't detect filesystem renames either, anyway < 1321274019 731642 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which is why you just guess instead < 1321274057 89694 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: actually, perhaps it's just simplest to give every line in the move a new hash; in that case, a move would always conflict with an edit to the code before it was moved, which is sometimes desirable and sometimes undesirable < 1321274070 132382 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: that's the same as not having move < 1321274070 483206 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :s < 1321274073 180545 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the reason I'm thinking along those lines is, what if code is /copied/ rather than moved < 1321274074 77483 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and just deleting and reinserting every line < 1321274077 749938 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: well, right, it is < 1321274084 647336 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : Vorpal: you can't detect filesystem renames either, anyway <-- well, several currently existing version control systems have move commands for that < 1321274087 679118 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it also means you can't do things like, split a file into two < 1321274089 435504 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if you copy code, you want to be able to edit one copy without changing the other < 1321274091 988509 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :some have copy to track a common source of a file < 1321274094 257020 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and a missed rename completely breaks the world < 1321274096 454147 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and [...] < 1321274099 791259 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: basically no, we need move changes :P < 1321274105 524393 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, OK, this is a good case for move changes existing < 1321274114 526326 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's also a good case for them not being introduced silently, though, I think < 1321274128 820064 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps we should just mention they were introduced and give the user a chance to change that < 1321274134 949287 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: ehh, why? < 1321274138 389970 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :move changes never really hurt anything < 1321274149 677312 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: because a move is not equivalent to a copy followed by a delete < 1321274160 425157 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :how do you track copying then? < 1321274164 702625 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :atm, we don't < 1321274167 148904 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: sure it is, if it's done in-between invocations of sg < 1321274167 860670 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah okay < 1321274182 860206 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: suppose you copy-and-paste some code, while someone else edits the original < 1321274184 829439 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :copying isn't worth tracking < 1321274187 910291 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :since you can't share hashes, full stop < 1321274196 41919 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :should the edit be applied to the old location, or the new location, or both, or something else? < 1321274204 139003 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: copy-and-paste, not cut-and-paste? < 1321274209 48187 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, copy-and-paste < 1321274226 260679 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :the original, since it's just a copy; the solution to this being bad is to not copy-and-paste code < 1321274227 316091 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm trying to work out desired behaviour so I can work out the correct semantics in sg < 1321274233 988381 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :sg can't make you abstract properly < 1321274257 276568 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"the original" is what every VCS in existence does; the intended solution is probably "both" but I agree with you that doing that would be utterly insane < 1321274258 56822 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :if you, e.g. move all of a file but two functions into another file as part of a refactoring < 1321274262 358101 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and someone else does bugfixes in the meantime < 1321274264 269870 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I think the /correct/ answer is "conflict" < 1321274269 436933 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :then it shouldn't spuriously conflict if it can detect a move < 1321274280 846434 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because we can't know if the edit should happen in the new location, the old location, or both < 1321274283 194406 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :basically, if sg is confident enough that a move has taken place, it _really should_ automatically add a move change < 1321274319 739443 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: hmm, example: let's say we have a C function that uses only library functions from stdio.h < 1321274325 886903 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: conflict is ridiculous, you'd have to break sg's model to do that < 1321274326 532888 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and it's in a file that includes both stdio.h and string.h < 1321274327 676879 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :even if it is desirable < 1321274330 340656 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :as in, the fundamental model < 1321274334 707389 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's basically action at a distance < 1321274344 799275 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :inserting some text in another file caused conflicts in a different one < 1321274355 800024 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, how do you handle a cut-and-paste + change some lines of code. Like if I move something I might need to change a implicit reference to the current module to an explicit reference to another module < 1321274362 975858 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :now, let's say that someone moves that code to another file, which includes just stdio.h < 1321274377 600525 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and independently, someone else edits the original to call functions in string.h < 1321274387 577279 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: please, I've already said you don't understand sg at all for me to be able to reasonably communicate with you about this < 1321274411 444528 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it'll merge properly, and then fail to compile < 1321274412 944452 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with your current sg move semantics, person 1's version compiles, person 2's version compiles, there are no conflicts if you merge them together, but the resulting code doesn't compile < 1321274416 816861 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1321274419 544054 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is that desirable? < 1321274419 989059 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: we've already established that sg /will/ break code < 1321274426 752579 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and it's theoretically impossible for it not to < 1321274431 382854 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, OK < 1321274441 756603 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'd just like a little warning message letting people know that this is one of the less safe cases < 1321274451 136891 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: in this case, the compile error will lead to a simple solution, and the user can commit a perfect merge < 1321274455 822718 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :also, this /isn't/ less safe! < 1321274472 548842 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, /can/ the user commit a perfect merge? < 1321274474 131706 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I mean, it only seems less safe because you picked an example where it fails now < 1321274478 756481 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :as opposed to all the other ways merges can break < 1321274484 646006 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the fix would be to add #include to the second file, right? < 1321274488 185165 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which you aren't considering < 1321274494 111480 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but that doesn't have a dependency on the addition of the function < 1321274495 934330 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :couldn't the code end up compiling in some cases but in the wrong way < 1321274496 803974 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's enough that "sg diff" shows there's a move being made < 1321274498 428648 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, OK < 1321274531 722407 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: well, it'd be a merge without there being an actual conflict < 1321274534 821779 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: possibly, but I imagine such examples would be contrived, and equally likely to be caused by human error than by sg eagerness < 1321274549 168374 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: which is a perfectly plausible action < 1321274558 238188 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, if, in the example here, there is the same function name (but doing different things) from different sets of headers. I guess it could happen if the header files come from different libraries and are macros < 1321274560 46733 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I guess in an ideal world, things like #include lines would be generated automatically < 1321274568 244974 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :err the functions in question are macros that is < 1321274585 260158 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yep; you're free to help me figure out how to implement @ if you want @sg :) < 1321274604 68293 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think this is more an issue of getting the right internal representation of languages < 1321274617 743914 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oh dear < 1321274627 813351 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. for OCaml, instead of writing "open List", followed by "sort" later on, it'd be stored internally as "{implicitly List}.sort" < 1321274643 808409 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: you should lower your expectations slightly :) < 1321274655 331688 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hey, we can get sg working first, then do this sort of thing later < 1321274661 258205 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :agreed < 1321274662 548783 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, this sort of thing is independent of sg < 1321274669 714325 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as it'd work with other VCSes too < 1321274673 207522 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps I should work on it < 1321274679 654243 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :for fun < 1321274702 141211 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a sort of "diffable transform" of code, that's designed to remove issues related to things like indentation and header files < 1321274738 790262 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I think I can show your worries about unsafe moves contrived < 1321274746 858294 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :$ hg mv foo.c bar.c < 1321274752 394094 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :at the same time, someone writes some code in foo.c < 1321274761 246203 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and it merges cleanly because what the hell is the point of a mv otherwise < 1321274764 203364 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :BUT < 1321274770 362679 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and the code depends on the file's filename being foo.c? < 1321274770 732727 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :the build system compiles bar.c differently to foo.c!!! < 1321274773 834254 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :rocks fall everybody dies < 1321274782 446340 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that's not even /that/ contrived, you could add it in the same commit as the mv < 1321274788 521548 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think the argument here's about the principle of least surprise < 1321274793 858754 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and file-specific CFLAGS are not that uncommon < 1321274807 778865 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: (note that git auto-detects renames) < 1321274810 788441 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as in, what people will blame for a mistake when it happens < 1321274814 438367 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(I just used hg to show because it has an explicit mv) < 1321274836 705900 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it's unreasonable to expect things to always work perfectly after a merge < 1321274836 929625 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, should sg also have rewrite changes? < 1321274841 256912 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that's why you do things like test the code < 1321274849 737603 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :nobody said sg solves collaboration :) < 1321274857 483569 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right < 1321274861 625033 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I don't think so; a rewrite should conflict with any modification to the file, pretty much < 1321274868 656979 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and if you rewrite, you'll change enough hashes that that happens automatically < 1321274873 564214 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's the conclusion that I was coming to < 1321274882 737340 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I suppose someone could add an #include or something, but they'll change something lower down if they're doing that < 1321274884 250603 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and that'll conflict < 1321274897 376908 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think you could argue that a rewritten file shouldn't conflict with changes to its old version < 1321274898 412523 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :if an actual change gets through without conflicting, well, it wasn't a total rewrite then < 1321274903 543487 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I don't think that's a correct viewpoint < 1321274963 798128 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : I suppose someone could add an #include or something, but they'll change something lower down if they're doing that <-- actually it happened that I only added an #include. Someone had forgot an #include in some project I was working on, and didn't have -Wall on (ugh), so it got the implicit declaration thingy of C. Which happened to work there. < 1321275019 486440 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :unused #includes don't typically break code, so even that getting through would be a really really minor failing of sg :P < 1321275032 163191 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :true < 1321275139 138083 :tiffany!~AndChat@fl-76-3-17-34.dhcp.embarqhsd.net QUIT :Ping timeout: 276 seconds < 1321275153 368564 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: OK, here's an idea that just might be stupid enough to work: < 1321275283 964963 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: a new change type: "cut (a,b)". this removes all lines from a to b. another two change types, "paste start of cN after c", "paste end of cN before d". cN must be a cut change; their start and end lines are recreated after/before the given lines, with the paste changes becoming the new hashes. and finally, "fill in (c,d)"; this restores all lines "in the middle" between the two changes, which must be pastes of the same cut; their hashes are < 1321275284 222032 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : unchanged < 1321275332 393319 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what if c and d aren't consecutive? < 1321275393 802422 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: ok, in response to this legitimate complaint, allow me to make it stupider < 1321275423 477612 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: there's no "paste end", just "paste start", and it takes d as well as c (so it's "between" instead); fill fills in the last line as well, and the fill change becomes the last line's new hash < 1321275462 653656 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why are paste and fill separate changes? so they can have separate hashes? < 1321275495 198733 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yep! that is the one and only reason. < 1321275504 868874 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i think you will agree that it is, indeed, /impressively/ stupid. < 1321275512 538019 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, indeed < 1321275525 983744 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, you don't even need the cut part. but you do, because that makes it even stupider! < 1321275528 973297 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think it's simple enough to have more than one hash for one change if required; we're already doing that with "new file" < 1321275549 918188 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: those aren't hashes in my latest model < 1321275553 515638 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :they're special end points < 1321275558 547338 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and can only appear at the correct side of ranges < 1321275562 675406 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :so, they're not changerefs at all < 1321275565 612860 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the main problem with just changing the hash for the first and last line is that you then get a conflict if you insert between the first and second lines of what you moved, when there's no reason to do so < 1321275569 53222 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(although SOF/EOF both /contain/ a dirchangeref) < 1321275587 920559 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: ooh, maybe it should be based on adding a new "subfile" somehow to reuse the SOF/EOF... i'll stop, this is too silly < 1321275606 60514 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: also, that's true < 1321275615 322091 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm, maybe we should make a concept of "textless lines" < 1321275621 438681 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :SOF/EOF would become one, and so would SOMove/EOMove < 1321275633 180078 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep, I mentioned that before, and it's increasingly seeming like a good idea < 1321275678 79682 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: although i don't really like that, because a lot of things are nonsense < 1321275679 537120 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there is an issue here, actually, which I want to explain by example < 1321275682 796238 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you can't delete SOMove, you can't move SOMove < 1321275684 980245 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you can't replace SOMove < 1321275690 799050 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it only makes sense in ranges < 1321275697 478937 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and just blehhhhhhh < 1321275732 313759 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :suppose that the code initially starts "a b c d e f g"; I edit it to "a b e f c d g", then again to "a b e f h c d g"; meanwhile, you edit it to "a b i c d e f g" < 1321275737 820240 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what should be the correct result after merging? < 1321275757 940894 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: is each word a line? < 1321275762 353156 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1321275791 944441 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :umm, let's try duplicating this so my brain gets it < 1321275796 631294 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :aaa bbb ccc ddd eee fff ggg < 1321275801 668899 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :aaa bbb eee fff ccc ddd ggg < 1321275807 710892 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :aaa bbb eee fff hhh ccc ddd ggg < 1321275814 119645 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :aaa bbb iii ccc dd eee ff gg < 1321275823 929195 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: is the second-last line being longer intentional? < 1321275831 485375 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes < 1321275835 748204 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, the last is also longer < 1321275839 340405 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you just typoed it shorter < 1321275845 676051 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :lol < 1321275846 378922 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :aaa bbb iii ccc ddd eee fff ggg < 1321275886 905266 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :argh < 1321275895 313248 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i can't get my brain to parse these letters properly :P < 1321275934 846155 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I suspect the answer is "conflict, but a practical system will duplicate c" < 1321276098 463844 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: but i dunno < 1321276104 889200 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, I think the correct answer is "conflict no matter what", as there are three plausible locations for i in the result < 1321276122 2290 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: no, I mean, it should conflict, but there's no reasonable way for the system to conflict < 1321276123 584185 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but like i said < 1321276127 601971 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i had a hard time parsing it < 1321276137 921676 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :[13:05] ais523: I suspect the answer is "conflict, but a practical system will duplicate c" < 1321276139 252728 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :[13:05] actually, I think the correct answer is "conflict no matter what", as there are three plausible locations for i in the result < 1321276151 936528 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :...? < 1321276163 877601 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, did it reconnect all by itself? < 1321276168 664509 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I had a network outage for a couple of minutes there < 1321276177 790630 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : argh < 1321276177 927736 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : i can't get my brain to parse these letters properly :P < 1321276177 973738 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : ais523: I suspect the answer is "conflict, but a practical system will duplicate c" < 1321276178 19154 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : ais523: but i dunno < 1321276178 19316 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : actually, I think the correct answer is "conflict no matter what", as there are three plausible locations for i in the result < 1321276179 341767 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : ais523: no, I mean, it should conflict, but there's no reasonable way for the system to conflict < 1321276182 239100 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : but like i said < 1321276184 325122 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : i had a hard time parsing it < 1321276199 204064 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but misspelled /reconnect < 1321276199 307566 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and it seems that the IRC system figured it out on its own < 1321276225 549816 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :heh < 1321276234 719968 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I think a move change itself should be "move from a to b between c and d to between e and f" < 1321276249 968366 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :[CTCP] Received CTCP-PING reply from ais523: 10 seconds. < 1321276277 129430 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :If you want to adopt a kid outside the US, you will have to abide by international law. < 1321276301 398950 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :wat < 1321276342 538808 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :observed during spam cleanup < 1321276381 728907 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :our spambots are great :) < 1321276393 591259 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :we should give them a special place on the wiki to donate their works < 1321276452 783164 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :don't we have a captcha thingy? < 1321276477 992326 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :yes for anon edits < 1321276480 391407 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and for link edits < 1321276483 189399 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but it's a really bad captcha < 1321276508 443670 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :should have for account creation too < 1321276556 95895 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :we do < 1321276566 718536 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the spambot we've been getting lately knows how to break it < 1321276579 608279 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: bots!!! they're people too!! < 1321276609 770116 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, need a more advanced captcha then < 1321276621 770120 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, but it's hard to persaude Graue to change it round < 1321276627 251032 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1321276638 410723 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the obvious fix to the current spam surge is requiring someone's first edit to be made outside userspace < 1321276649 438353 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :heh < 1321276654 231342 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is a trivial requirement for a human to obey (they can just edit the sandbox or something) < 1321276682 615868 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what I'd /really/ like is the AbuseFilter extension, so I don't have to bug Graue to change the settings each time there's a new spambot attack < 1321276693 363984 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I'm not sure it'd be compatible with the version of MediaWiki used on Esolang < 1321276705 513895 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :so time to update mediawiki then? < 1321276710 548826 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :We should really just require email confirmation of registrations. Nobody but zzo would mind. :p < 1321276721 820124 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :he would mind? < 1321276728 244531 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it wouldn't surprise me if the spambots could do that too < 1321276740 307707 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :zzo doesn't have an email address, and doesn't like having to use an email address to do things. < 1321276755 793234 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: just allow confirmation over gopher too < 1321276757 254906 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then it'd be fine < 1321276764 399706 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :he doesn't...? < 1321276817 654289 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: why are you acting surprised? < 1321276847 480637 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :well, it is a major impairment. When you are looking for jobs people usually ask you to email your CV and so on. < 1321276854 459737 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I forgot how old zzo was < 1321276860 941935 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :maybe that is no problem to him < 1321276928 246709 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it's trivial to email someone your CV without an email address < 1321276935 94035 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the issue is receiving, not sending < 1321276957 782809 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, well you usually get replies by email too < 1321276976 38781 :Jafet!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1321278153 231109 :elliott!elliott@unaffiliated/elliott TOPIC #esoteric :The IOCCC is back on! http://www.ioccc.org | "Wittgenstein and Turing similarly agreed that it’s bad for a bridge to fall and kill people." | http://codu.org/logs/_esoteric/ < 1321278737 108186 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 JOIN :#esoteric < 1321278760 907295 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :hi again everyone < 1321278832 622540 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hi < 1321279103 145756 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :heh, I'm reading through the solutions to "sort by first occurrence" < 1321279117 984442 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :and the four Perl answers each used a different algo < 1321279188 776332 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :I don't get why the first one works at all, actually (I can mentally work through what it does but it seems it'd produce the wrong answer, so I think I'm missing something) < 1321279192 956120 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :oh no, I've just realised why it works < 1321279196 459193 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :that's beautifully hideous < 1321279207 896661 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric : print$$_ for map$$_.=$_,<> < 1321279263 733218 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :it's hard to fit how awful that algo is from a maintenance point of view in my mind, it's that bad < 1321279272 785076 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :and yet, it's beautifully short < 1321279583 342783 :MSleep!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net NICK :MDude < 1321279822 768756 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : it's hard to fit how awful that algo is from a maintenance point of view in my mind, it's that bad <-- what does it do? < 1321279836 973213 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :it is basically gibberish to me < 1321280750 822076 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Vorpal: 'heh, I'm reading through the solutions to "sort by first occurrence"' < 1321281695 497339 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Deewiant, ? < 1321281706 775351 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Vorpal: 2011-11-14 15:58:18 ( ais523_) heh, I'm reading through the solutions to "sort by first occurrence" < 1321281710 769782 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oh right < 1321281712 851946 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :yeah < 1321281723 933101 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Deewiant, better question: how does it do it? < 1321281794 541144 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Beats me < 1321282462 619960 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :"map $$_ .= $_, <>" does for each line -- let's say containing "foo\n" -- the equivalent of 'append "foo\n" to variable called "foo\n"' and then returns the result. So if you have a file containing the lines "a", "b", "a", it will return "a\n", "b\n", "a\na\n" while setting the variable "a\n" to "a\na\n" and "b\n" to "b\n". Then it tries to print all variables "a\n", "b\n", "a\na\n" -- the first one will print two lines of a, the second one one line of b, and t < 1321282462 984872 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :he third one nothing. < 1321282760 167884 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Cf. http://sprunge.us/deHR < 1321283371 452425 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Quit: Computer has gone to sleep. < 1321283873 872094 :Zuu!~zuu@unaffiliated/zuu QUIT :Ping timeout: 240 seconds < 1321284648 319212 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Operation timed out < 1321284859 326116 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1321285093 669729 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 QUIT :Quit: Page closed < 1321285244 966452 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1321285369 992680 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: Deewiant: the way the code works is to effectively use the entire space of possible variable names as a dictionary; each time it comes across a line of input, it concatenates that line to the variable with the same name, and records the resulting value; then afterwards, it interprets each of the resulting values as variable names in sequence, outputting what's there < 1321285402 680267 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the only ones that will have nonempty values are the ones consisting of exactly one occurrence of the input lines, i.e. the first time they were encountered < 1321285548 42225 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's always nice when the winning entry in a golf competition is heavily obfuscated just because that's the shortest way to do it < 1321285813 741065 :Gregor!foobar@codu.org PRIVMSG #esoteric : maybe we should ask Gregor :P < 1321285814 285465 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Gregor: You have 1 new message. '/msg lambdabot @messages' to read it. < 1321285821 764156 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: MAYBE YOU SHOULD M---actually I'll read this first. < 1321285852 717369 :Gregor!foobar@codu.org PRIVMSG #esoteric :OK, Cake babbles incoherently. < 1321285862 653178 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: MAYBE YOU SHOULD MAKE TRANSACTIONAL HACKBOT WORK LOLOLOL < 1321286048 88430 :Gregor!foobar@codu.org PRIVMSG #esoteric :Subject of a spam email: "Playboy Playmate revealed!" < 1321286051 782009 :Gregor!foobar@codu.org PRIVMSG #esoteric :My thought: "No shit" < 1321286192 744954 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :ais523: which challenge was it? < 1321286224 289343 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :quintopia: sort by first occurrence < 1321286380 223565 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :ahh...uhh...link? :/ < 1321286410 30914 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1321286456 37726 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :http://golf.shinh.org/p.rb?sort+by+first+occurrence < 1321286471 9440 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I submitted it; I came across it at work and thought it was a really interesting question < 1321286491 879636 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and after seeing the answers, still maintain that it's a really interesting question < 1321286623 812469 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :your expl makes somewhat more sense now :P < 1321286638 631019 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :whose solution are you describing < 1321286752 454358 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :quintopia: the best Perl solution < 1321286759 310550 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :by tails < 1321286770 789535 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cat /usr/share/dict/words | egrep '^[abcdefghijklm]+$' - | ./a.out < 1321286772 26477 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :>jchgfbikmlaed < 1321286782 457474 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if I add in n as well, it segfaults < 1321286800 46773 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :whoa < 1321286819 668070 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's my IOCCC submission, that I've been working on for ages < 1321286912 213469 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :something funky in the words list? < 1321286912 258900 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :heh, running under valgrind, it spews errors but doesn't segfault even with n added < 1321286933 264226 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no, the program's just that insane < 1321286947 350157 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it contains no statements, and calls no memory allocation functions, and uses no VLAs < 1321286947 900404 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :huh < 1321286959 116132 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ERROR SUMMARY: 15475827 errors from 15 contexts (suppressed: 12 from 7) < 1321286962 439913 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :what does it do when it works < 1321286977 783036 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :calculates the winner of a Single Transferable Vote election to elect one candidate < 1321286988 56862 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :ah < 1321287073 518629 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :aha, I think it's segfaulting due to exhausting memory < 1321287137 512988 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I need to remember how this program actually works before the submission date < 1321287303 194157 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : it's my IOCCC submission, that I've been working on for ages < 1321287303 616658 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Phantom_Hoover: You have 2 new messages. '/msg lambdabot @messages' to read them. < 1321287311 98279 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :The IOCCC is still running? < 1321287328 824924 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Phantom_Hoover: see topic < 1321287346 657156 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :O.o < 1321287813 243197 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wait what? < 1321287824 167187 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I start two variables uninitialized; if I initialize them to 0, it makes the program segfault < 1321287867 815824 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, obviously < 1321287876 109954 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they're uninitialized deliberately because they're being used as part of a stack-smash < 1321288205 319828 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net JOIN :#esoteric < 1321288214 22636 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Hello! < 1321288272 167367 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hi < 1321288288 815159 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm going to see if I can tweak this to fit the whole of /usr/share/dict/words into the 1.5GB stack space I extended the stack to < 1321288339 643470 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :I've been thinking about a functional Piet-like language < 1321288419 66891 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I've got words containing a-s to run < 1321288424 203441 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although adding t, there will be a lot more < 1321288426 193836 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm trying that run now < 1321288533 42872 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: do you know where to download the Intel C compiler (for Linux) from? < 1321288658 239270 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1321288661 588876 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, compiling it with clang it gets into an infinite loop growing the stack until it segfaults due to inability to expand the stack < 1321288706 13282 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :ais523: http://registrationcenter-download.intel.com/irc_nas/1959/l_ccompxe_ia32_2011.0.084.tgz < 1321288728 549986 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Based on the arch linux user package < 1321288729 810541 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :If you use the websafe palate rather than the Piet palate, that gives you 215 possible commands < 1321288749 68148 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Ping timeout: 240 seconds < 1321288755 696718 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Deewiant: and a non-direct link? < 1321288764 184062 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :ais523: Somewhere there http://software.intel.com/en-us/articles/intel-compilers/ < 1321288773 567037 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :thanks < 1321289037 163348 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 240 seconds < 1321290307 550801 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net JOIN :#esoteric < 1321291154 750386 :Gregor!foobar@codu.org PRIVMSG #esoteric :Hmmmmmmmmmmmmmmmmmmm < 1321291158 826135 :Gregor!foobar@codu.org PRIVMSG #esoteric :Speaking of IOCCC .... < 1321291169 851237 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Sopio is a fun game < 1321291171 886197 :Gregor!foobar@codu.org PRIVMSG #esoteric :I seem to have a tweetable interpreter for a near-TC programming language ... < 1321291184 126638 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :"Near"-TC? < 1321291191 550953 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :That's what's also known as non-TC. < 1321291193 405488 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :C isn't turing-complete < 1321291212 10489 :Gregor!foobar@codu.org PRIVMSG #esoteric :Ngevd: Exactly < 1321291217 272607 :Gregor!foobar@codu.org PRIVMSG #esoteric :Phantom__Hoover: See: Ngevd < 1321291219 223263 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :That's a point of contention, arguably. < 1321291240 3628 :Gregor!foobar@codu.org PRIVMSG #esoteric :The language is conceptually TC, but since the interpreter is its definition, it's not. < 1321291300 4675 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :So it's not, in fact, a compliant interpreter? < 1321291308 347879 :Gregor!foobar@codu.org PRIVMSG #esoteric :char*a,b[9999];main(){gets(a=b);while(*a)a+=(a[*a]-=a[a[1]])?3:a[2];puts(b);} < 1321291321 288451 :Gregor!foobar@codu.org PRIVMSG #esoteric :Calling it non-compliant makes no sense, the language is defined by the interpreter. < 1321291335 172813 :Gregor!foobar@codu.org PRIVMSG #esoteric :Nowait < 1321291335 776419 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :So it's not TC? < 1321291337 832717 :Gregor!foobar@codu.org PRIVMSG #esoteric :That's the wrong one ... < 1321291344 436487 :Gregor!foobar@codu.org PRIVMSG #esoteric :Good lord you're stupid < 1321291348 170840 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :It's over-specified < 1321291361 252896 :Gregor!foobar@codu.org PRIVMSG #esoteric :b[9<<20],*a=b;main(){while(scanf("%d",a++)>0);for(a=b;*a;)a+=(a[*a]-=a[a[1]])?3:a[2];while(*++a)putchar(*a);} < 1321291362 746520 :Gregor!foobar@codu.org PRIVMSG #esoteric :That's the one < 1321291368 643147 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Spec for the language? < 1321291370 484075 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It's either not TC, or the interpreter doesn't interpret the language. I fail to see what I'm missing. < 1321291376 749575 :Gregor!foobar@codu.org PRIVMSG #esoteric :The only thing that makes it non-TC is "9<<20" < 1321291402 894881 :Gregor!foobar@codu.org PRIVMSG #esoteric :Phantom__Hoover: You're missing applying any reasonable, intelligent thought to the problem instead of going "lol not TC therefore sux" < 1321291414 355521 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Where did I say 'therefore sux'? < 1321291424 484131 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Please point to the line where I said that. < 1321291450 639248 :Gregor!foobar@codu.org PRIVMSG #esoteric : "Near"-TC? That's what's also known as non-TC. <-- this implies it quite loudly, what with the "haha I refuse to acknowledge the notion of being near-TC" < 1321291472 976328 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Because it's not a particularly useful concept? < 1321291481 615807 :Gregor!foobar@codu.org PRIVMSG #esoteric :Yes it is. < 1321291486 988662 :Gregor!foobar@codu.org PRIVMSG #esoteric :Because it includes things such as COMPUTERS. < 1321291497 674234 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It's a computational class which isn't TC. < 1321291501 919462 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :C has more states than anyone can see in a hundred life-times < 1321291532 893327 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Well, it's a linear-bounded automaton < 1321291537 436658 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :"Near-TC" is not a very good way of saying that. < 1321291546 41584 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Ngevd, I thought it was an FSM? < 1321291564 313328 :Gregor!foobar@codu.org PRIVMSG #esoteric :FSM is not a very useful way of saying that either. < 1321291573 41486 :Gregor!foobar@codu.org PRIVMSG #esoteric :Since it includes everything from "A->halt" to computers. < 1321291577 366562 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :You can make an unbounded amount of arrays, you just need to define them all < 1321291578 399167 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :I think < 1321291584 593319 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :I've never actually used C < 1321291599 387255 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :The argument is based on sizeof. < 1321291612 254398 :Gregor!foobar@codu.org PRIVMSG #esoteric :Oy vey < 1321291627 843382 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Not to mention that you'd still have bounded memory if you just defined loads of arrays. < 1321291652 749600 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :But ultimately, C's TCness is essentially a matter of trawling through minutiae in the spec. < 1321292052 35953 :Gregor!foobar@codu.org PRIVMSG #esoteric :!c printf("%d", -1 || 42); < 1321292054 77393 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1321292055 877677 :Gregor!foobar@codu.org PRIVMSG #esoteric ::( < 1321292064 847631 :Gregor!foobar@codu.org PRIVMSG #esoteric :I thought || passed through the actual true value. < 1321292219 94281 :augur!~augur@208.58.5.87 QUIT :Remote host closed the connection < 1321292455 373544 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net QUIT :Ping timeout: 276 seconds < 1321292819 233783 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net JOIN :#esoteric < 1321292891 732034 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Today's Gunnerkrigg Court is pretty funny < 1321292893 613233 :Gregor!foobar@codu.org PRIVMSG #esoteric :Well, either way, my tiny interpreter is about 25% of the way to a IOCCC competitor. < 1321292933 696483 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Is the spec for the interpreted language anywhere? < 1321292951 760470 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I think today may have had the most dismal afternoon I've experienced. < 1321293125 733211 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It's like the sun never even bothered to rise. < 1321293201 227385 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :That's because you're in Edinburgh, and the UK has predominantly Easterly winds, and Glasgow is West of Edinburgh and I get the feeling that East and West etc. shouldn't be capitalized. < 1321293210 840878 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :that sounds amazing; the sun bothered rising here and it's king of lame < 1321293223 468718 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :kind of lame, I mean < 1321293230 478910 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :it is probably not king of lame < 1321293231 880561 :Gregor!foobar@codu.org PRIVMSG #esoteric :Here it's an amazing combination of overcast and humid. There's no sun and yet I'm sweaty and it's miserable. < 1321293242 760570 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :It's actually pretty nice here < 1321293246 220204 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Go Hexham! < 1321293417 182216 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric ::D :D :D right? < 1321293470 763530 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :right D: < 1321293478 836961 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :im hexjealous < 1321293513 857298 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :unless by pretty nice you meant warm and blue skies; I hate that < 1321293522 907344 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Cold and blue < 1321293525 94511 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Brisk < 1321293528 483239 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Autumnal < 1321293534 732961 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Novembry < 1321293534 853700 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :sounds pretty nice < 1321293556 608945 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I have to turn on the fan to get the cold but once I do it's fine < 1321293629 363199 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Ooh dinner < 1321293634 314190 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net QUIT :Quit: FOOD < 1321294350 448560 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : that sounds amazing; the sun bothered rising here and it's king of lame < 1321294357 612150 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Nonono, the sun *rose*. < 1321294406 891031 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It's just that by 3 o'clock or so, heavy cloud cover and school lighting conspired to make the single most depressing light level physically possible. < 1321294433 914434 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Night would have been *welcome*; instead, there was just this pervasive greyness everywhere. < 1321294448 480826 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1321294475 910920 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : Novembry < 1321294492 107785 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I think we've had about two days like that, which is a pity because they're my second favourite. < 1321294545 139368 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Americans did not lose their British accents. Rather, the British gained their accents in the last few hundred years, thanks in part to public (private) schools teaching children "received pronunciation." < 1321294560 964216 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Jerks, horribly disfiguring a nation's speech for no reason. < 1321294580 163226 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :*English, I think you'll find, although I have an RP accent for reasons unclear to basically everyone. < 1321294601 812509 :Gregor!foobar@codu.org PRIVMSG #esoteric :It's especially odd since he's Flemish. < 1321294605 299803 :Nisstyre!~yours@infocalypse-net.info QUIT :Ping timeout: 240 seconds < 1321294647 774824 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :gross. < 1321294716 382649 :Nisstyre!~yours@infocalypse-net.info JOIN :#esoteric < 1321294761 72109 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :though I have an almost non-existent accent despite being a southern American. < 1321294775 898682 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :probably similar to midwest accent. < 1321294784 112842 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but with some southern peculiarities. < 1321294817 850473 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :You realise that over here you'd have an accent, right? < 1321294824 814123 :Gregor!foobar@codu.org PRIVMSG #esoteric :"Non-existent accent" is an artificial concept. < 1321294852 279147 :Gregor!foobar@codu.org PRIVMSG #esoteric :One propagated primarily by people with one of the most fringe accents in existence ... < 1321294862 231453 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :i.e.? < 1321294866 123808 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Phantom__Hoover: uh, duh? < 1321294866 169384 :Gregor!foobar@codu.org PRIVMSG #esoteric :USA < 1321294881 523538 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I didn't mean /literally/ that I have no accent, for fucks sake < 1321294882 381247 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I meant < 1321294887 15765 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't have a southern accent. < 1321294888 747380 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you know < 1321294892 560213 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the region I'm from. < 1321294898 403751 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :where you usually get your accents from. < 1321294926 588709 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :The phonetician Jack Windsor Lewis frequently criticises the name "Received Pronunciation" on his blog: he has called it "invidious",[20] a "ridiculously archaic, parochial and question-begging term"[21] and argued that American scholars find the term "quite curious".[22] He used the term "General British" [to parallel "General American"] in his 1970s publications of A Concise Pronouncing Dictionary of American and Briti < 1321294932 762350 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah! what would the Americans think! < 1321294939 902652 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :they think it's silly! < 1321294955 755463 :Gregor!foobar@codu.org PRIVMSG #esoteric :I'm from the west coast, and yet my accent is practically identical to those from Indiana! AMAZING < 1321294975 929816 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Gregor: yes clearly we both have fucking super powers. < 1321294980 694458 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there can be no other way < 1321294985 387675 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :to describe this amazing mutation. < 1321295028 685110 :Gregor!foobar@codu.org PRIVMSG #esoteric :CakeProphet: Also I went to a foreign country once and I could understand them, just like they were speaking the same language. It's like I have a natural born ability to speak and understand Canadian without even knowing it. < 1321295042 891789 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :woah dude. < 1321295059 472960 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :see when I hear English people talk it just sounds like a bunch of jerks. < 1321295072 219574 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :can't understand anything, I'm too distracted by the douchebaggery. < 1321295094 554273 :Gregor!foobar@codu.org PRIVMSG #esoteric :CHIM-CHIMINEE-CHIM-CHIMINEE-THIS-IS-'OW-OLL-BRITONS-TOKK < 1321295177 766460 :Gregor!foobar@codu.org PRIVMSG #esoteric :Really, nobody's going to smack me for that? < 1321295187 348068 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no it's completely accurate. < 1321295205 184864 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I really wish I actually had a Scottish accent. < 1321295214 108489 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Scottish accent sounds nice. < 1321295215 443980 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Like, a rhotic one. < 1321295218 637796 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Irish too. < 1321295257 784857 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION would like to visit Scotland and Ireland, but thinks England is for JERKS. < 1321295266 377329 :Gregor!foobar@codu.org PRIVMSG #esoteric :How 'bout Wales? < 1321295277 751868 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I have no opinion of things on ISLANDS, sheesh < 1321295286 211193 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :how trivial. < 1321295290 373832 :Gregor!foobar@codu.org PRIVMSG #esoteric :................ < 1321295292 950436 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :to be surrounded by water. < 1321295296 391933 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I... < 1321295297 404364 :Gregor!foobar@codu.org PRIVMSG #esoteric :................................. < 1321295298 87702 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :CakeProphet < 1321295299 412672 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :do you < 1321295300 849791 :Gregor!foobar@codu.org PRIVMSG #esoteric :X_X < 1321295301 759245 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :even know < 1321295305 818881 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :know what? < 1321295306 24212 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :how the UK is shaped < 1321295314 95424 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah it's shaped like a sake of potatos. < 1321295316 317006 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*sack < 1321295320 283792 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :yesyesyes < 1321295320 878486 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :but < 1321295322 655308 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :do you know < 1321295325 914285 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :where the countries are < 1321295332 3229 :Gregor!foobar@codu.org PRIVMSG #esoteric :Clearly not. < 1321295336 128398 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or like < 1321295339 815535 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a venus fly trap < 1321295391 720174 :Gregor!foobar@codu.org PRIVMSG #esoteric :I would make some snarky comment about foreigners' understanding of the location of US states, but I'm not sure if any failure could top the Isle of Wales. < 1321295416 527661 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :dude Wales is totally an island < 1321295420 514866 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :learn2geography nubs < 1321295484 242989 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Gregor, um, most of the people I know could roughly place most states, and definitely state which one is composed of islands. < 1321295500 941723 :Gregor!foobar@codu.org PRIVMSG #esoteric :Phantom__Hoover: Hence why it couldn't top the Isle of Wales. < 1321295529 851867 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but seriously Wales seems like a cool place to visit. < 1321295530 46196 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It still doesn't beat Sgeo's astonishing failure to know where Scotland is. < 1321295547 131493 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Like, he thought that it was "near the UK". < 1321295584 20025 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :apparently when I type things they magically become Serious today. < 1321295621 153906 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :as opposed to < 1321295623 630942 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :any other day. < 1321295723 161069 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :@tell elliott Seen on confirmation form for computerons: "Product Desc. e-Scan Anti-Virus ES-AV-1". ??? < 1321295723 770419 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1321295835 767308 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://en.wikipedia.org/wiki/File:BenNevis2005.jpg < 1321295843 20663 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :highest point on the British Isles eh? < 1321295891 939862 :Gregor!foobar@codu.org PRIVMSG #esoteric :Yup, that one's on the Island of Blackpool. < 1321295922 455354 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://en.wikipedia.org/wiki/File:Denali_Mt_McKinley.jpg < 1321295925 301473 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oooooh what now bitches? < 1321295958 509226 :Gregor!foobar@codu.org PRIVMSG #esoteric :http://en.wikipedia.org/wiki/File:Everest_kalapatthar_crop.jpg < 1321295961 260833 :Gregor!foobar@codu.org PRIVMSG #esoteric :Bitch please. < 1321296021 509304 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Gregor: this is US vs. UK don't bring Nepal into this shit. < 1321296029 19416 :Gregor!foobar@codu.org PRIVMSG #esoteric ::P < 1321296055 366081 :Gregor!foobar@codu.org PRIVMSG #esoteric :http://en.wikipedia.org/wiki/File:Olympus_Mons_alt.jpg < 1321296109 985615 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://en.wikipedia.org/wiki/File:Census-2000-Data-Top-US-Ancestries-by-County-1396x955.png < 1321296112 892625 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hey look < 1321296120 598004 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in my county they don't even try to classify my ancestery < 1321296126 105784 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :they're just lik "uh..... American" < 1321296165 517041 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Gregor: earth nipple. < 1321296177 198988 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Our highest point is 1324 metres; apparently we lose even to UK, if only by 20 metres. < 1321296204 234728 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1321296221 610821 :Gregor!foobar@codu.org PRIVMSG #esoteric :lol @ Puerto Rico: Puerto Rican < 1321296249 646609 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :fizzie: yeaaaaah sucka. whatchu gonna do about all these landmass we got up in this shit? < 1321296253 254006 :Gregor!foobar@codu.org PRIVMSG #esoteric :Also: Germans are EEEEEEVERYWHERE < 1321296288 416737 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :actually wait I may be "other" < 1321296291 879006 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :whatever the fuck that is. < 1321296311 146279 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : highest point on the British Isles eh? < 1321296324 507481 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Don't knock it, we had way less space for cliffs. < 1321296388 864488 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Phantom__Hoover: maybe you should have conquered bigger islands, asshole. < 1321296405 672680 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yay, my IOCCC entry now works in clang < 1321296414 920489 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I wonder if I can get it to work with optimization turned on? < 1321296429 102921 :Gregor!foobar@codu.org PRIVMSG #esoteric :Also, Britain has the longest coastline in the world; it's actually many times the circumference of the Earth. < 1321296435 183807 :Gregor!foobar@codu.org PRIVMSG #esoteric :(ba-dum tish) < 1321296442 853566 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nope ;) < 1321296470 536862 :Gregor!foobar@codu.org PRIVMSG #esoteric :ais523: What's yours do? < 1321296476 745371 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Gregor, given that coastlines are actually-fractal (as opposed to popscience-fractal) that's not terribly meaningful. < 1321296482 771458 :Gregor!foobar@codu.org PRIVMSG #esoteric :ais523: I'm thinking about converting my tiny interpreter into something, but need more amusement in it. < 1321296488 14612 :Gregor!foobar@codu.org PRIVMSG #esoteric :Phantom__Hoover: BA-DUM MOTHERFUCKING TISH < 1321296495 120541 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :And there's no _way_ Norway has a shorter coastline. < 1321296540 244737 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Gregor: it counts votes for the single transferable vote < 1321296549 789144 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hopefully, I won't have to get it working in each compiler in existence separately < 1321296556 542768 :Gregor!foobar@codu.org PRIVMSG #esoteric :X-D < 1321296628 303411 :Gregor!foobar@codu.org PRIVMSG #esoteric :ais523: My usual tact is to get it working on platforms that are completely distinct in three axes: Compiler, OS and architecture. I find that doing my native dev on x86_64+gcc+GNU/Linux then porting to i86+openwatcom+DOS and ARM+gcc+GNU/Linux satisfies these needs and usually makes portable code. Not sure it's a good strategy for IOCCC though. < 1321296722 161840 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Gregor: well, I'm trying to do something massively nonportable and make it portable anyway < 1321296729 45036 :Gregor!foobar@codu.org PRIVMSG #esoteric :Hyuk < 1321296738 759198 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :breaking the C standard in preference to not breaking it < 1321296779 589077 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :while trying to avoid compiler warnings even on the highest warning settings < 1321296782 122903 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :noooooo not the /standard/ < 1321296811 523743 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :gcc still gives three warnings, but I can't tell why < 1321296990 633427 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Deewiant: wow, Intel want people to fill in a bunch of information to get the noncommercial version of icc < 1321297004 149060 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :ais523: Hence direct links < 1321297009 497204 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, indeed < 1321297013 418022 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but then how would I know what the license was? < 1321297021 480099 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :I presume it's included inside the tarball < 1321297069 181807 :Gregor!foobar@codu.org PRIVMSG #esoteric :ais523: Come ooooooooooon, you know you want to try openwatcom. < 1321297075 143298 :Gregor!foobar@codu.org PRIVMSG #esoteric :It's just like being in the 1990's again~ < 1321297075 373775 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ACTION wonders why Intel renamed "Intel C++ Compiler" to "Intel C++ Composer" < 1321297085 876374 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Gregor: heh < 1321297090 346299 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I have DJGPP < 1321297096 835547 :Gregor!foobar@codu.org PRIVMSG #esoteric :Oh come on. < 1321297101 805630 :Gregor!foobar@codu.org PRIVMSG #esoteric :DJGPP is just GCC over a shitty OS. < 1321297102 264800 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and even Borland C++ 4 for Windows 3.1, although not on this computer < 1321297107 741959 :Gregor!foobar@codu.org PRIVMSG #esoteric :That's better. < 1321297107 836075 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, indeed < 1321297122 502500 :pkzip!~a@109.160.176.204 JOIN :#esoteric < 1321297126 161561 :Gregor!foobar@codu.org PRIVMSG #esoteric :OpenWatcom has the advantage that you can run it on modern Linux, but target ancient DOS. < 1321297146 543148 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :how does this tarball come to half a gigabyte? < 1321297151 665530 :Gregor!foobar@codu.org PRIVMSG #esoteric :lol < 1321297153 910979 :Gregor!foobar@codu.org PRIVMSG #esoteric :Because Intel. < 1321297225 366989 :pkzip!~a@109.160.176.204 QUIT :Remote host closed the connection < 1321297308 825484 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Argh, I still need to visit Maplins for cables and stuff and I've left it too late today. < 1321297326 576499 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I guess I can wait till the parts arrive and then actually know what cables I need? < 1321297448 551750 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: I assume uncompressed? < 1321297461 446875 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no, that's the tarball itself < 1321297468 916050 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I haven't downloaded it full yet, so haven't tried to decompress it < 1321297482 780324 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :0_0 < 1321297521 300814 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :ais523: Oh, also, note that that was the i386 version, there's a separate one for x86-64 < 1321297533 432718 :Gregor!foobar@codu.org PRIVMSG #esoteric :ais523: Give us a nice `du -bx * | sort -n | curl -F 'sprunge=<-' http://sprunge.us` when it's extracted kthx? < 1321297542 886329 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Deewiant: i386 is correct, luckily < 1321297568 392822 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Gregor: what about tar tf? < 1321297575 663914 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that'd save actually having to extract it < 1321297587 111848 :Gregor!foobar@codu.org PRIVMSG #esoteric :ais523: Does that show directory summaries? I figured you were going to extract it anyway ... < 1321297604 859417 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't want to have to extract the whole thing, if I can help it < 1321297610 392354 :Gregor!foobar@codu.org PRIVMSG #esoteric :Ah :P < 1321297742 879671 :Gregor!foobar@codu.org PRIVMSG #esoteric :ACTION stares at his nearly-empty 3TB hard disk. < 1321297749 909927 :Gregor!foobar@codu.org PRIVMSG #esoteric :Truly a thing of beauty. < 1321297804 796518 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :quick! backups! then porn! then random torrents! < 1321297819 20205 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then intel c++ composers! < 1321297825 292963 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :seriously, "composer"? < 1321297848 753822 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: u dont respect art dude. < 1321297866 173472 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :ais523: TI's C compiler for for their DSP chips is called "Code Composer Studio". < 1321297875 327543 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :weird < 1321297883 262384 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is as bad as the series/season thing on TV < 1321297902 950180 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, my system has caught serial process crashing issues again < 1321297914 714928 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :On the third hand, Metrowerks CodeWarrior. < 1321297922 321395 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :where Firefox froze, then my terminal froze < 1321297956 484191 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, and now they're all back to normal < 1321297961 248229 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I don't think I have ever used any of the CodeWarrior tools, but I'm pretty sure they have a "Battle" menu in the IDE where others have a "Build" menu. (Okay, not really.) < 1321298061 21500 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :There's also Sun Studio (now Oracle Solaris Studio; formerly this and that); the "Studio" term seems popular too. < 1321298098 613318 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Gregor: the file was so big I failed to download it < 1321298113 397883 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Firefox eventually decided it had finished around halfway through < 1321298119 928755 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and the resulting file didn't decompress < 1321298479 948488 :Gregor!foobar@codu.org PRIVMSG #esoteric :Ha < 1321298537 176206 :Gregor!foobar@codu.org PRIVMSG #esoteric :Hmmm, maybe I can make a simple JIT for IOCCC. I assume that's been done? < 1321298620 110019 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :1996 august Subset of C compiler and byte code interpreter < 1321298624 868924 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Gregor: If that counts? < 1321298636 959319 :Gregor!foobar@codu.org PRIVMSG #esoteric :Doesn't sound like a JIT to me. < 1321298671 539353 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what would it JIT? Java bytecode? < 1321298683 198029 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :>jqvzuxbfiwpkoahmclnyrgdtes < 1321298683 455883 :Gregor!foobar@codu.org PRIVMSG #esoteric :To be determined. Definitely not Java :P < 1321298690 553466 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :==17720== ERROR SUMMARY: 1099046944 errors from 15 contexts (suppressed: 12 from 7) < 1321298699 296298 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :/beautiful/ < 1321298712 773693 :Gregor!foobar@codu.org PRIVMSG #esoteric :lol @ suppressed < 1321298717 523865 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :of course, I should have expected s to win < 1321298729 545859 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Okay, it's just an interpreter; so no JIT, apparently < 1321298744 709742 :Gregor!foobar@codu.org PRIVMSG #esoteric :Deewiant: Hence "Doesn't sound like a JIT to me." < 1321298757 625005 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Gregor: It could've been a JIT based on that description < 1321298765 847209 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :I checked the full .hint file: it's not < 1321298777 136796 :Gregor!foobar@codu.org PRIVMSG #esoteric :Deewiant: And yet, it "[didn't] sound like a JIT to me." X-P < 1321298793 917752 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Gregor: Sheesh, I just confirmed it :-P < 1321298797 192516 :Gregor!foobar@codu.org PRIVMSG #esoteric :^^ < 1321298849 847827 :Gregor!foobar@codu.org PRIVMSG #esoteric :Anyway, I suspect I could make a (very!) simple JIT. < 1321298856 585497 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :(And "so no JIT, apparently" referred to all submissions thus far, in case that wasn't clear.) < 1321298870 516338 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :(s/submission/winner/) < 1321298908 498722 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Gregor: well, it has to be obfuscated, as well as being golfed < 1321298914 637427 :Gregor!foobar@codu.org PRIVMSG #esoteric :ais523: Natch. < 1321299062 403466 :Gregor!foobar@codu.org PRIVMSG #esoteric :"and excluding any ; { or } immediately followed by whitespace or end of file" does this mean that I save myself a byte by adding a space after every ;??? < 1321299095 776261 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Gregor: yes < 1321299104 195538 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that trick's been known for years < 1321299113 824719 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as has writing lookup tables as "{ ; } ; ; { { }" etc < 1321299119 108300 :Gregor!foobar@codu.org PRIVMSG #esoteric :lol < 1321299119 170932 :Zuu!~zuu@unaffiliated/zuu JOIN :#esoteric < 1321299147 860766 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :use both spaces and tabs for added effect < 1321299149 268112 :Gregor!foobar@codu.org PRIVMSG #esoteric :(You can tell I haven't investigated IOCCC too much :P ) < 1321299157 917240 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I don't think C lets you put vertical whitespace inside strings) < 1321299452 433523 :Gregor!foobar@codu.org PRIVMSG #esoteric :Any opinions on the best counter for these rules? < 1321299458 657094 :Gregor!foobar@codu.org PRIVMSG #esoteric :There must be an IOCCC one :) < 1321299474 205648 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 240 seconds < 1321299625 286830 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's a counter linked from their website, or always used to be < 1321299738 725643 :Gregor!foobar@codu.org PRIVMSG #esoteric :Hm, can't find it ... < 1321300005 78253 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :>jqvzuxbfiwpkoahmclnyrgdtes < 1321300012 696953 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :==27192== ERROR SUMMARY: 1099046944 errors from 15 contexts (suppressed: 12 from 7) < 1321300012 968531 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net QUIT :Ping timeout: 258 seconds < 1321300015 732784 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's with clang < 1321300042 804378 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's fun to see the single-transferable-vote ordering of letters in words (where words are considered more inclined to vote for letters towards the end) < 1321300197 580958 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :what's with the valgrind? < 1321300284 669395 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I wanted to see what its reaction would be < 1321300291 217974 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, I get a segfault without it, with large input < 1321300306 564217 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au JOIN :#esoteric < 1321300316 438065 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think it's to do with extending the stack < 1321300326 181216 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :$ cat /usr/share/dict/words | egrep '^[abcdefghijklmnopqrstuvwxyz]+$' - | valgrind --error-limit=no --main-stacksize=1500000000 ./a.out < 1321300342 786058 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :ah < 1321300347 388891 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the default main-stacksize is too low < 1321300720 832655 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :elliott, oi, ping. < 1321301048 556566 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net JOIN :#esoteric < 1321301659 477388 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net QUIT :Ping timeout: 276 seconds < 1321301813 939226 :Gregor!foobar@codu.org PRIVMSG #esoteric :Urrrrgh, I know I can make a portable golf JIT >_< < 1321301817 189400 :Gregor!foobar@codu.org PRIVMSG #esoteric :But it's tuff :P < 1321301975 371377 :Gregor!foobar@codu.org PRIVMSG #esoteric :The real tricky part is jumping ... < 1321302307 695736 :tiffany!~kawaii@fl-76-3-17-34.dhcp.embarqhsd.net JOIN :#esoteric < 1321302409 806447 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1321302441 925413 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hi < 1321302480 547524 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : @hoogle State s a -> StateT s m a < 1321302506 830804 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :once the state function is made into a method as planned, state . runState should work < 1321302514 811752 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hm < 1321302522 491954 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :runState doesn't actually exist < 1321302527 760454 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t runState < 1321302528 756545 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall s a. State s a -> s -> (a, s) < 1321302542 507734 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :erm, it does. it's just not a field anymore, i guess. < 1321302566 77098 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...elliott idle for six hours? < 1321302579 129889 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :something must be wrong < 1321302705 108173 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : "skalman" will be a host on some university network, I suspect. < 1321302725 111062 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :swedish comic/cartoon character. < 1321302871 983999 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net JOIN :#esoteric < 1321302882 547480 :GreaseMonkey!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1321303018 536364 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I made a code that does that, yesterday, to make State s a -> StateT s m a but find what helped better for you in case < 1321303025 544894 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Hello! < 1321303045 277510 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :help my mouse pointer's gone crazy < 1321303049 511486 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(this touchscreen doesn't like getting wet) < 1321303052 799120 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*touchpa < 1321303056 584636 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :**touchpad < 1321303107 33787 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so it's busy teleporting the mouse pointer around a bunch < 1321303138 250673 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Will Wheaton plays Minecraft!? < 1321303263 993611 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Ngevd: knowing that he is a redditor, i'd say that was inevitable. < 1321303294 882810 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :How long till Sheldon off the Big Bang Theory is playing it? < 1321303412 177691 :Gregor!foobar@codu.org PRIVMSG #esoteric :Ngevd: *Wil < 1321303449 873030 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :I have a tendency to double consonants at the end of three-letter shortened forms of people's names < 1321303527 140126 :Gregor!foobar@codu.org PRIVMSG #esoteric :Think -1 will semi-portably be acceptable for all protection modes for mmap? < 1321303611 658626 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :Django's database half looks pretty nice. It's, like, you can treat tables as objects! And you can interact with them! < 1321303621 638748 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :(Database interaction is exactly half of Django, right?) < 1321303678 707985 :Vorpal!~AnMaster@unaffiliated/anmaster QUIT :Ping timeout: 252 seconds < 1321304174 555249 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it's what Dja is abbreviating < 1321304200 812323 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :"Djatabase"? < 1321304273 573829 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :Hey, this is funny. The server Django running on is called Remy. It turns out those are both characters from Ratatouille. < 1321304295 180077 :Gregor!foobar@codu.org PRIVMSG #esoteric :I am now 88% confident that I can make a semi-portable JIT for a language that's fundamentally usable within all the requirements. < 1321304304 507355 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :tswett: Database JnterAction, duh < 1321304309 19297 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :Ah. < 1321304317 746266 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :And as everyone knows, J is just another way of writing I. < 1321304326 147645 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yeah < 1321304326 534412 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :That's why they're next to each other in the alphabet. < 1321304348 208516 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :VERVM EST < 1321304599 491100 :Gregor!foobar@codu.org PRIVMSG #esoteric :Hmm, is there a valid CPP equivalent of #define O O-- < 1321304607 192964 :Gregor!foobar@codu.org PRIVMSG #esoteric :That is, decrement the value of a #define? I don't think so... < 1321304634 128506 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :nope < 1321304639 170159 :Gregor!foobar@codu.org PRIVMSG #esoteric :Piffle. < 1321304648 503588 :Gregor!foobar@codu.org PRIVMSG #esoteric :I'll have to find another convoluted way to do this then :P < 1321304677 696264 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :Is there a way to make the CPP only process lines that start with ##? < 1321304699 292562 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :Because maybe you can use two CPP passes, so that the first pass determines what happens in the second pass. < 1321304712 491609 :Gregor!foobar@codu.org PRIVMSG #esoteric :Naw, that ain't my style even if it did work. < 1321304730 741223 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :Why are you in #esoteric if that's not your style? < 1321304740 45313 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :Come to think of it, have you ever even created an esolang? < 1321304742 655495 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :I think you are... < 1321304755 333531 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :...give me a minute, let me try to think up a good, accusatory word for someone who doesn't belong... < 1321304770 492451 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :an... unbelonger! < 1321304779 685782 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :AN UNBELONGER < 1321305038 133048 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :ooh, quark and martok appear as humans in this back-in-time parallel-fantasy-universe episode < 1321305095 993749 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Yes, that is elliott's favourite. < 1321305100 125660 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Also you forgot the racism. < 1321305101 110981 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :ACTION 's riveting retelling of DS9 in one-line episode summaries continues < 1321305111 159408 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :ACTION ponders how easy it would be to share a semaphore over TCP. < 1321305113 527541 :tswett!~Warrigal@unaffiliated/ihope PRIVMSG #esoteric :Pretty easy. < 1321305132 535461 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :olsner, BtW, no satisfactory answer is ever given as to WTF was going on in that episode; HTH. < 1321305166 196785 :Gregor!foobar@codu.org PRIVMSG #esoteric :What's going on is a rather severe blow to the head :P < 1321305173 791372 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :Phantom__Hoover: it must be a ... temporary anomaly < 1321305194 557083 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Gregor, maybe? < 1321305220 930033 :Gregor!foobar@codu.org PRIVMSG #esoteric :I'm trying to figure out a way of, for all values from (say) 0 to 1024, defining a function oX(...) { f[X](); } for that X. < 1321305226 683077 :Gregor!foobar@codu.org PRIVMSG #esoteric :They have to be separate functions for JIT reasons. < 1321305268 621475 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :olsner, also dude, you missed the shockingest of all: Odo without makeup. < 1321305279 31536 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It is amazing because he doesn't look like Odo at all. < 1321305298 142868 :Gregor!foobar@codu.org PRIVMSG #esoteric :What about Worf without forehead and voice modification? I think it's the only in-universe time he appears human. < 1321305313 853980 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :FSVO 'in-universe'. < 1321305318 892770 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :Phantom__Hoover: nah... quark, martok and gul dukat were much more shockingest so far < 1321305320 290315 :Gregor!foobar@codu.org PRIVMSG #esoteric :In-show then ;P < 1321305331 728482 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :odo was just a bit more boring :) < 1321305335 654483 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Wait, Martok was in it????? < 1321305346 472926 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Weyoun was, but Martok? < 1321305440 861075 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :yes, in the first scene in the office martok was showing sketches (of DS9, among other things) < 1321305560 914432 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :Gregor: uhm, does X have to be numbers? < 1321305581 323009 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: Well, f[X] is accessing an array, so yes. < 1321305646 156521 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :Phantom__Hoover: Weyoun? you mean Commander Shran :) < 1321305655 536050 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :how about this?: #define O(x) o##x(...) { f[*#x-'a'](); } \n O(a)O(b)O(c)O(d) < 1321305656 456610 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :No, I mean Brunt. < 1321305684 845701 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :what, he's Brunt *too*? < 1321305724 621456 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: O(a)O(b) blows out all my bytes (i.e. is too big), I was trying to find a way to do crazy CPP loops for it ... < 1321305752 921979 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :Gregor: no, you need just five levels of such macros. < 1321305756 389100 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :(for 1024 values) < 1321305758 859506 :Gregor!foobar@codu.org PRIVMSG #esoteric :Ohhhhhhhhhhhhhhhhhhhhhhh < 1321305761 616638 :Gregor!foobar@codu.org PRIVMSG #esoteric :Clever... < 1321305763 291229 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :olsner, he's a lot of people. < 1321305771 971854 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Amazingly, they only appeared in the same episode once. < 1321305789 27401 :Taneb!~Taneb@host-84-13-79-190.opaltelecom.net JOIN :#esoteric < 1321305790 881543 :Gregor!foobar@codu.org PRIVMSG #esoteric :... hmmm, it could work ... < 1321305794 873043 :Gregor!foobar@codu.org PRIVMSG #esoteric :ACTION thinks. < 1321305807 251962 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :Gregor: should the pointers to o... things be stored in some array? < 1321305807 585791 :Gregor!foobar@codu.org PRIVMSG #esoteric :I'd just need to name them aaaaa aaaab aaaba aaabb etc < 1321305811 229979 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: What are you doing, just use chaospp < 1321305811 678328 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :elliott: You have 1 new message. '/msg lambdabot @messages' to read it. < 1321305815 386594 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :then that could be another story < 1321305821 31537 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :oh, he's played *nine* different characters, that's about 7 more than I've noticed yet < 1321305826 700491 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: Naw, you've given me another idea. < 1321305834 240458 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: IOCCC < 1321306016 72838 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net QUIT :Ping timeout: 258 seconds < 1321306315 61657 :Taneb!~Taneb@host-84-13-79-190.opaltelecom.net QUIT :Ping timeout: 258 seconds < 1321306465 684553 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: More like OGC!!!!!! < 1321306471 261258 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net JOIN :#esoteric < 1321306472 485054 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is this how the function to load DVI file should be? withDVI :: FilePath -> s -> (s -> Page -> IO (s, t)) -> IO [t]; You can make different idea if you have other idea please. Maybe this is not best way; I don't know for sure < 1321306636 972496 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: did you have any more sg thoughts? < 1321306637 57716 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: perhaps -> IO (Maybe (s, t)) so you have a way to halt? < 1321306639 19666 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric ::p < 1321306648 614839 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t unfoldM < 1321306649 699714 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Not in scope: `unfoldM' < 1321306655 527211 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm < 1321306684 965203 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: no < 1321306716 950656 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: O, yes, OK; it can have a way to halt. < 1321306725 373405 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I think my other sgthought still makes sense, although it depends on sg itself making sense, so hopefully merge changes can be fixed :P < 1321306738 22999 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :withDVI :: FilePath -> s -> (s -> Page -> IO (Maybe (s, t))) -> IO [t]; < 1321306750 453619 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm currently happy with your current plan, because it seems, at worse, equivalent to the old plan < 1321306751 870124 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*at worst < 1321306762 146222 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm, I have a move plan? < 1321306768 783970 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :or do you mean the conflict resolution plan < 1321306774 509230 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :conflict resolution < 1321306797 138402 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :right < 1321306805 735188 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm pretty sure that a move patch should be "move a..b from between c,d to between e,f"; the problem is I'm not sure what it should leave as the hashes afterwards < 1321306829 829314 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :come to think of it, does it work just to leave the hashes of every line the same? < 1321306843 900959 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the really simple stupid solution < 1321306854 522163 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: hm oh or is it implicitly halting when it's running out of Pages, i didn't realize that at first. in which case doesn't this look like a kind of iteratee? < 1321306855 976677 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I can't think of an obvious counterexample; quick, find one to prove I'm not mad < 1321306881 885430 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: umm, that's the one I showed broken < 1321306888 420550 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it breaks tsorting, remmber? < 1321306889 899102 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :remember? < 1321306900 154647 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :does it? < 1321306921 653621 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes; changeset {move (a,b) between (c,d), insert "hi" between (c,a)} < 1321306929 565160 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: second change needs to be applied after the first but has no dependency on it < 1321306931 934829 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :tsorting fails, Q.E.D. < 1321306950 345674 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: oh, the dependency isn't explained in the hash names, I see < 1321306962 850008 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yep, which is one of sg's major strengths < 1321306968 693435 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the dependency's still there in "that's the only thing that could put c next to a", but the problem is that that isn't explicit at all < 1321306969 356396 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :the order to apply a changeset in is trivially determined < 1321306974 801170 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which I agree is a valid problem < 1321306984 764506 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :yep < 1321307015 375908 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: we could /probably/ hack it up by just shifting the ordering around a bunch when move changes are involved, but I refuse to implement that < 1321307025 683257 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :ooh, are you working on spacegoat again? < 1321307026 878674 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, we want a nonhackish version < 1321307031 124728 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: yep < 1321307036 398027 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :olsner: deliberate typo? < 1321307038 512073 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :the only mars-capable version controls ystem < 1321307040 207567 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :`quote spacegoat < 1321307042 102660 :HackEgo!foobar@codu.org PRIVMSG #esoteric :655) Spacegoat is the network-operations-optimized-for-latency-of-minutes-or-hours-due-to-light-speed-limits variant of scapegoat, to be used when you need to check out some code from the Mars colony. (I'm pretty sure we'll have established a Mars colony by the time scapegoat rolls out.) < 1321307057 385789 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :ais523: yes, better name :) < 1321307085 743235 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Finally, the Haddock documentation for Data.Monoid.Plus now works. < 1321307116 438049 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :zzo38: iirc hackage building broke for a while recently < 1321307158 812201 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :elliott: O, well it seem to work now. That might be why mine and other not mine packages were not working before < 1321307170 464102 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I can tell you about the last sgthought if you're interested, although it's not so much part of sg itself as much as taking advantage of its strengths < 1321307183 69942 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :tell me anyway < 1321307292 531772 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: basically, it's an idea for a patch management system based on top of sg to solve a lot of workflow problems I have with existing VCSes, with some ideas taken from the quilt patch management system originally by Andrew Morton for Linux stuff < 1321307301 267719 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(I suppose git was basically Linus' own version of that to start with, actually) < 1321307319 348357 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :quilt's confusing; it somehow manages to not be a VCS despite acting like one < 1321307325 449107 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what VCS features is it missing? < 1321307325 625385 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :heh < 1321307337 64949 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm not sure exactly, I've never /used/ it, only read about it >:) < 1321307347 997827 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I know hg has its own version of quilt integrated as an extension < 1321307351 676838 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :I wouldn't say git is particularly friendly for the patch-based workflow, though. Simply because it doesn't have the idea of a "patch". < 1321307388 727477 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: anyway, here's the basic idea: < 1321307390 254606 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :I need to avoid TVTropes < 1321307431 328178 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Ngevd, just use my method, i.e. the fact that it's crap these days. < 1321307452 547679 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :good method < 1321307454 441881 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :after a few minutes I tend to open less than one page on average from each TV Troeps page nowadays < 1321307460 483679 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so the problem resolves itself < 1321307464 447500 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*TV Tropes < 1321307480 635584 :variable!root@freebsd/developer/variable QUIT :Quit: I found a 1 /dev/zero < 1321307528 543970 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :How do you make Haddock include instances defined in this program of classes defined in the other library? < 1321307553 28671 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Ngevd, I mean c'mon, they renamed *The Wesley*. < 1321307559 691637 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :That's proper shark-jumping, that is. < 1321307778 778007 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :That is a very good plan < 1321307796 449251 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Now I just need to abandon here, IWC, and MSPA < 1321307812 969412 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :but here is good < 1321307817 736679 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :except when it isn't < 1321307822 891904 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :And all the free time will be mine! < 1321307823 762694 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :You didn't auto-abandon IWC when it stopped? < 1321307842 592626 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom__Hoover: It didn't stop. < 1321307862 555650 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It stopped updating, and it's not like the new annotations are big time-sinks. < 1321307880 879287 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Yeah, but I'm a regular on the forums < 1321308042 803857 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: It manages a set of patches (named with short-names, like-this) without them being committed (my current implementation idea has it nesting another scapegoat repository inside +scapegoat that it managse automatically; from the point of view of the repo itself, you're just fiddling around with your working tree). You create these patches mainly by doing the equivalent of "darcs record": you select a bunch of hunks, give them a short-name, a < 1321308043 82202 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :nd the sg change is added to the set under that name (without doing anything to your working tree). The power comes from "joins": (or should it be "joint", or ...) they're named like some-patch/another-patch, or patch-one/patch-two/patch-three (the ordering is irrelevant), including the slashes. What they do is provide /compatibility/: say you have a patch that rewrites the source code to use a new naming scheme for types (rename-types), and anoth < 1321308043 491094 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :er code that adds some features (including new types; new-feature). You would create a patch rename-types/new-feature, which would be a combination of both, renaming the types in the new feature appropriately, and replacing references to the old types. But instead of storing the whole diff from current head to rename-types/new-feature, it would just store the diff from /both rename-types and new-future/. basically, it'd look like: changeset {renam < 1321308048 558572 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :e-types, new-feature modulo {...}, ...}. but the power here is that the reference to rename-types and new-feature isn't to a specific hash, it's to their /names/, so whenever you update their patches, rename-types/new-feature gets the changes. (of course, you still have to keep it updated :)) now, the interesting thing is that you can "shadow" patches from your working tree: you can say, I don't want rename-types any more. rename-types/new-feature < 1321308053 463950 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : will automatically get shadowed too, obviously, and you could work some more on other patches (including new-feature), re-enamble rename-types, and it'd automatically enable rename-types/new-feature. (it'll probably fail to apply after changes < 1321308057 449465 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :to new-feature, but that's okay, because you can amend rename-types/new-feature to fix it.) there might be another patch, new-callbacks, that changes the callback mechanism used in the program. you might have new-callbacks/new-feature to make new-callbacks shorter using code from new-feature, and to make other parts of new-feature use the new callback mechanism. if you have rename-types, new-feature, and new-callbacks enabled, then rename-types/ne < 1321308062 460413 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :w-feature _and_ new-callbacks/new-feature will be enabled. it's possible that these will conflict due to changing the same part of code, which means you make -- you guessed it -- rename-types/new-callbacks/new-feature. you can also commit a set of patches as a repository commit; it'll remember which named patches made up that commit. so this basically eliminates the problem of doing a bunch of work at the same time, and having to untangle it slowl < 1321308065 311944 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1321308067 418141 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :y every time you want to tell the VCS about some of it. < 1321308069 458498 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :wow, that was /long/ < 1321308082 569926 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yes < 1321308141 554284 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: and, of course, when you pull from elsewhere, you can merge it with each patch separately, rather than having to do a merge with your complete working tree and then splitting it back up into the parts that are relevant for each patch. < 1321308154 347637 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Who wants to do an esolang collaboration taking the form of a Piet-like language utilizing the entire web-safe colour range? < 1321308156 595771 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is this a bit like having separate branches, but much more lightweight? < 1321308170 995984 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yep, because the merging is a first-class object < 1321308173 406037 :variable!root@gateway/shell/trekweb.org/x-aeocddjpdbklqher JOIN :#esoteric < 1321308173 451485 :variable!root@gateway/shell/trekweb.org/x-aeocddjpdbklqher QUIT :Changing host < 1321308173 451615 :variable!root@freebsd/developer/variable JOIN :#esoteric < 1321308175 889779 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and done automatically < 1321308178 632641 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :(DS9) aah, there it comes: It's REEEEEEAL < 1321308187 778328 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :I'm more of a Voyager fan < 1321308192 965931 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :just waiting for that episode where it's FAAAAKE < 1321308193 129178 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: and you don't have to decide wh- < 1321308195 682364 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Ngevd: ............ < 1321308198 61904 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :In that I've watched a bit of an episode once < 1321308203 161666 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: -ich branches you want up-front, before making changes < 1321308215 760566 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :elliott, what am I being dotted at for? < 1321308232 612426 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Ngevd: Voyager is an impressively bad piece of television. < 1321308268 385337 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Hey, I enjoyed the Thor film. < 1321308268 743426 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: and you can treat e.g. a branch as a named patch, so that you can have compatibility patches with another branch; you could then commit some changes to the main branch, and merge it in to a branch you have compatibility patches for automatically < 1321308270 279350 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :For its plot. < 1321308289 401814 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :naming patches is going to be useful anyway < 1321308300 283925 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: oh, this isn't a regular naming mechanism < 1321308301 633340 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that would just be tags < 1321308310 158247 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :this has to be separate from the sg repo, because it's insanely mutable < 1321308314 160678 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which is the opposite of what history is meant to be < 1321308325 71848 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no, tags would be naming changesets; or even (immutable)repos, I guess < 1321308327 123122 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :in fact, it's based upon the idea of mutating one thing causing everything else to mutate :) < 1321308333 992650 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: changesets are just types of changse < 1321308335 160881 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :changes < 1321308338 131804 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which are the same thing as patches < 1321308341 837374 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, OK < 1321308358 594854 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but what I mean is, that they go all the way back to infinity, rather than being relative to something else < 1321308358 816135 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Ngevd, watch DS9, I watched it and it was the best waste of... < 1321308369 46833 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :> 45 * 26 * 7 / 60 < 1321308369 560291 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :well, okay < 1321308370 88568 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 136.5 < 1321308380 912431 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :> 45 * 26 * 7 / (60 * 24) < 1321308382 20810 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 5.6875 < 1321308386 556322 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: but yeah, you've seen me fumble about by doing crazy git workflows like "stash, pull pieces out, modify, commit, restash" < 1321308393 246003 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Ngevd, it was the best waste of 6 days I ever had. < 1321308401 637920 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you pretty much have to do that in git < 1321308405 745287 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: that isn't specifically a git problem, no VCS is good at separating independent strands of work right now, you have to declare them up-front < 1321308418 77026 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right < 1321308429 29645 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as usual, darcs is better than its rivals without being perfect < 1321308436 392901 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :the idea with this is that you can start with a bunch of modifications, split them out in a really light-weight manner, and then have a coherent /interface/ to managing them < 1321308450 778398 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it also makes working trees less fragile, because they'll be recorded in the patchset data < 1321308465 339462 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :so you don't have to worry about copying your working tree elsewhere before doing a merge or whatever (!) < 1321308471 242830 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(yes, I have to do that in git occasionally) < 1321308481 450449 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(stashes sort of help, but they're just a thin veneer around cp :)) < 1321308516 709110 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :hmm, TV characters musing about their whole existance just being imagination < 1321308575 635817 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :... if only they knew, they *are* just some script writer's imagination < 1321308593 459333 :Taneb!~Taneb@host-84-13-79-190.opaltelecom.net JOIN :#esoteric < 1321308608 20015 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: we're working on a project in svn at the moment at work; I'm using git-svn, but some of the other people are sorting out conflicts by backing up their own copy, choosing resolve-other, then merging them together separately < 1321308673 23974 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: heh < 1321308678 363709 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :that's a viable merge strategy in CVS too < 1321308687 600962 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the worrying part is, /it is actually sane in context/ < 1321308701 383087 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :or just an update-from-server strategy if your local changes are nontrivial < 1321308723 862216 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm, maybe sg should have foo/bar branches itself < 1321308742 314352 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: branches that automatically pull from foo and bar, so you can resolve conflicts in them and the like < 1321308751 767739 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I'd treat that as a repo definition < 1321308754 368722 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it seems like a useful concept even outside of this patch management thing < 1321308755 662816 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in terms of other repos < 1321308766 459768 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :complex merges in CVS can be done by a CVS transplant: produce the correct source tree in a copy, move all the files except the CVS metadata into a target working copy checked out on the right branch, commit :) < 1321308767 234203 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I agree it's a useful concept, but I think it can be done with existing concepts < 1321308778 187247 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes, but (a) you need to insert your own fix changes, (b) a platonic sg tool would be slow and unusably general :P < 1321308786 340221 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm not saying we don't have concepts for it < 1321308789 393238 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :... sometimes that's the *convenient* way of doing it < 1321308790 523224 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I just mean, maybe we should expose them < 1321308810 217655 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net QUIT :Ping timeout: 240 seconds < 1321308871 529339 :Taneb!~Taneb@host-84-13-79-190.opaltelecom.net QUIT :Ping timeout: 256 seconds < 1321309018 564621 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :Yay, IOCCC! < 1321309027 196939 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: Your craaaazy solution definitely will work >: ) < 1321309036 393786 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric ::p < 1321309037 736065 :Gregor!foobar@codu.org PRIVMSG #esoteric :pikhq_: I'm making a semi-portable JIT for the world's worst language :) < 1321309044 790248 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :Gregor: :) < 1321309053 540436 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :C++? < 1321309056 993523 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :well i'm also thinking of possible IOCCC submissions that are doomed to be rejected... < 1321309064 617631 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :i was* < 1321309120 483943 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: I'm just hoping that I can squeak by within their portability requirements >_> < 1321309142 632640 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :woah, what does limit the portability of your submission? < 1321309154 786734 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :Gregor: They seem to just barely permit things that are nonportable *by necessity*. < 1321309184 210966 :Gregor!foobar@codu.org PRIVMSG #esoteric :pikhq_: My portability restrictions should be rather silly things, not "is x86" < 1321309197 272645 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :Oh. That's just fine then. :) < 1321309200 158481 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: It's a JIT :P < 1321309242 947356 :Gregor!foobar@codu.org PRIVMSG #esoteric :pikhq_: By rather silly right now I mean, for instance, that the C stack is as it has been for the past billion years and grows down, and (weird one) that if you say int a; int b; at the global scope it will put b after a. < 1321309245 760614 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :...but without involving any kinds of assembly or something? < 1321309250 90527 :Gregor!foobar@codu.org PRIVMSG #esoteric :That latter one I hope I can avoid. < 1321309253 554482 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: No assembly at all. < 1321309265 443817 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :so that's something like templating? < 1321309269 179905 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Here's my sg code scraps, FWIW: http://sprunge.us/NebW < 1321309273 111258 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: Yeah, it'll be a template JIT. < 1321309284 749943 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : pikhq_: My portability restrictions should be rather silly things, not "is x86" < 1321309288 864454 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: That OS got in *shrugs* < 1321309289 332060 :augur!~augur@129.2.129.35 QUIT :Remote host closed the connection < 1321309311 833851 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Also, I think that IA-64's satck grows upwards. < 1321309312 3076 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: I think that ignoring all else, my JIT will be more impressive if it's more portable :P < 1321309314 226940 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :SOF/EOF are going to need an argument eventually, but I guess you knew that < 1321309318 645648 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes, indeed < 1321309322 475211 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: That's too bad for all four ia64 users. < 1321309326 387795 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :Gregor: i think that would be fine given enough safety measures... < 1321309333 296551 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :IA64 is Xeon, isn't it? < 1321309337 795492 :Gregor!foobar@codu.org PRIVMSG #esoteric :Phantom__Hoover: ... no. < 1321309341 470913 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :don't know how much measures needed to ensure the safety though. < 1321309342 402632 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :No, Itanium. < 1321309346 662678 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :Gregor: Also, there's no *strict* requirement that it be portable, it's just strongly suggested. < 1321309348 609924 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: and I don't have changeset applying code yet, because I realised that tsort was broken :) < 1321309350 656829 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I've confused them frequently. < 1321309352 294007 :Gregor!foobar@codu.org PRIVMSG #esoteric :lifthrasiir: Safetylol. < 1321309354 907513 :Gregor!foobar@codu.org PRIVMSG #esoteric :pikhq_: Yes yes. < 1321309361 789451 :Gregor!foobar@codu.org PRIVMSG #esoteric :Phantom__Hoover: You oughtn't to :P < 1321309366 692175 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Remember that they're rejecting things that need human intervention to compiler. < 1321309377 855272 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :I'd say if it functions on essentially every system people care about, then you're good. < 1321309383 60067 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: O(n^2) tsort is trivial; but I think it's possible to do better < 1321309392 463700 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: no, I meant, broken because of moves < 1321309395 460775 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: No problem. < 1321309404 235886 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I'm just going to use fgl's tsort, probably < 1321309405 323078 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :pikhq_: if they did require that how can OTCC and x86 OS be accepted? :p < 1321309406 369620 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure if it's n log n or n that's the best possible < 1321309407 994699 :Gregor!foobar@codu.org PRIVMSG #esoteric :Believe it or not I have a cohesive and sensibleish plan. < 1321309412 344867 :lifthrasiir!~lifthrasi@61.106.27.227 PRIVMSG #esoteric :anyway. < 1321309443 317783 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: (fgl = functional graph library) < 1321309467 622345 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, does it have an algo for finding strongly connected components? < 1321309472 990701 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :lifthrasiir: :) < 1321309483 152920 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it's a pretty long-lived codebase and the API isn't the most elegant thing, but it's better than the standard Data.Graph, I should think < 1321309486 842071 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(that's a sort of "stronger tsort" problem there where you possibly have cycles, and want to find those and put them in the proper place) < 1321309490 779724 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and I should think so? < 1321309495 224776 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Applications of UDFS/UDFF < 1321309495 270177 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :components :: Graph gr => gr a b -> [[Node]]Source < 1321309495 270352 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :noComponents :: Graph gr => gr a b -> IntSource < 1321309495 270454 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :isConnected :: Graph gr => gr a b -> Bool < 1321309499 217638 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that looks relevant < 1321309504 678237 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I ended up rolling my own in the compiler, with an algo copied off Wikipedia < 1321309505 873957 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :in the same module as tsort < 1321309554 644384 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, right, Data.Graph forces you to use Int to identify vertices < 1321309560 436286 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :whereas, sg wants to use any reference type < 1321309576 779353 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(I decided to abstract the whole store system so that algorithms can be generic on the type of reference/store0 < 1321309577 329834 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :) < 1321309589 836486 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :turns out it's easy: class Ref ref m a | ref -> m a where deref :: ref -> m a < 1321309617 622641 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :e.g. instance Ref FileChangeHash StoreM FileChange where deref = lookupInStore < 1321309650 490462 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :s/FileChange/(FileChange ref)/ < 1321309656 579733 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :apply :: (Ref ref m (FileChange ref)) => ref -> File -> m (Maybe File) < 1321309665 4780 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and recursion in FileChange is replaced by the ref argument < 1321309678 552079 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you can easily make Identity a Ref type in the Identity monad, to do it the simple recursive way < 1321309697 487925 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, the class should be < 1321309704 706671 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :class (Eq ref, Monad m) Ref ref m a | ref -> m a where deref :: ref -> m a < 1321309705 57306 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ofc < 1321309710 496249 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :err, => < 1321309792 222755 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm, weboflies-related question: can you use a new filesystem namespace as a chroot? < 1321309836 149113 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: if you can mount over /, then yes < 1321309840 853117 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or, hmm, probably pivot_root would be enough < 1321309850 866249 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: ah, so it doesn't let you do it without root :( < 1321309852 294343 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I've never dared call it from inside weboflies, because I'm not quite that crazy < 1321309856 34351 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(or a bunch of capabilities) < 1321309858 89546 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, you need root < 1321309865 251885 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oh my god, wait < 1321309872 532752 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :UMLBox would work :D < 1321310293 453382 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: I guess I should try and get Transactional HackEgo running??? < 1321310301 957882 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :IT'S SO SCARY. < 1321310444 956857 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: incidentally, I wonder if applying all patches in sequence to checkout might not be reasonably quick, if applying a single patch is fast enough < 1321310454 975177 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm really bad at estimating the real-time algorithms will take to run, though < 1321310505 843946 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'd guess it'd be impractically slow for common operations, but OK for something that was only done occasionally < 1321310514 915184 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :"who cares, it's just constant factors" -- elliott < 1321310517 829013 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I meant on clone < 1321310532 715138 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :for a clone, I'd say it'd be fine < 1321310567 21782 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm, if we always have a checkout of the tip stored in +scapegoat, then checking out a branch could just apply /inverse/ patches to the base of that branch, and then apply the branch's patches < 1321310576 312359 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :we really need to figure out the inversion algorithm... < 1321310582 285197 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I suppose it's relatively simple < 1321310582 679768 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ACTION → sleep < 1321310583 815581 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Quit: Leaving < 1321310596 587093 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but hashes make it more difficult < 1321310609 794588 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: hmm, worrying thought: don't deletion changes have the same trouble as move changes < 1321310612 937652 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because the inverse of (delete blah) has to be blah itself, not something identical to blah < 1321310616 406970 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because of dependencies < 1321310621 528266 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :although... that doesn't matter when applying patches, so hmm < 1321310625 914355 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :we'd have "delete b between a and c" and "insert d between a and c" < 1321310631 990228 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with no obvious dependence of the second on the first, although there iso ne < 1321310638 695853 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: delete changes are just "delete a" < 1321310647 280886 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, OK, still no obvious dependence < 1321310649 729990 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :even less, in that case < 1321310658 913281 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm... < 1321310661 902060 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as the two patches don't even mention a common patch < 1321310663 295858 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that is problematic, yes < 1321310678 638460 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think a) move patches should keep hashes the same, and b) the same solution should be used for moves and deletes, that we haven't yet decided on < 1321310690 228638 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I sort of feel like saying "I guess we have to dump tsort then", but it's a really good property < 1321310696 911414 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and it's completely unobvious how to order changesets without it < 1321310715 770675 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I definitely don't want to make changesets ordered, that's awful and I think probably breaks tons of obvious properties < 1321310727 92837 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, indeed < 1321310742 363736 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a partial order exists, but we don't know what it is, is the problem < 1321310773 566109 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: test case I feel will be important: ab, acb, ab, adb < 1321310784 983929 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: your "before/after reference" idea is sort of compelling, but I think leads to pathologies < 1321310786 380174 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(where letters represent lines, and that represents the history of the file) < 1321310792 487103 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but... I don't know, I might be wrong < 1321310798 924898 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: OK, what about it? < 1321310814 106812 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the last change is "add d between a and b" < 1321310826 569432 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and that would apply to the first copy of ab < 1321310839 801148 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as well as the second (the third entry in the history) < 1321310861 637344 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, what if deletions and moves both renamed the patches they were deleted between / moved between? < 1321310872 983607 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: the question is how to rename them < 1321310875 920180 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you need a hash < 1321310881 374461 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but a move is just one change < 1321310883 109548 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I assume we have no shortage of hashes < 1321310887 398244 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but a move is just one change < 1321310889 625235 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you can have more than one hash related to one change trivially < 1321310893 275238 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :no, you can't < 1321310895 256135 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just use a salt < 1321310902 914998 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because that breaks the current model < 1321310910 247719 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :at least do it formally with your before/after hash thing < 1321310913 480431 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep < 1321310916 70650 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :rather than just hacking it in with ridiculous things like that < 1321310921 294132 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :even that isn't a "hash" < 1321310928 949516 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's just changing some references to include a hash /and/ a bool < 1321311000 594298 :pikhq_!~pikhq@71-219-234-169.clsp.qwest.net QUIT :Read error: Operation timed out < 1321311018 717456 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep; I mean hash /and/ other identifier that goes with it, in general < 1321311025 743567 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which might be a bool, or might more reasonably be an enum element < 1321311033 641560 :pikhq!~pikhq@71-219-234-169.clsp.qwest.net JOIN :#esoteric < 1321311036 151020 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that way, we can have a file, and a file-sof, and a file-eof < 1321311045 723312 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :um, no, type error < 1321311058 579271 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :file-sof would be a dir change, if references include a bool like that < 1321311069 933340 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, no? file-sof is a different type from file < 1321311085 524665 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no type error in "the sof of a file change is a patch anchor" < 1321311094 929423 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :any more than there is in "the head of an int list is an int" < 1321311108 292708 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :well, how is this relevant to this? it does not affect the range model at all. < 1321311110 821374 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you still need < 1321311126 173357 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :startpoint = sof | line {before|after} < 1321311133 900719 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, indeed < 1321311145 691527 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think we're disagreeing there < 1321311174 225163 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :well, okay < 1321311218 313704 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, the original plan didn't involve tsorting, I think; it was that given "add b between a and c", "delete b", "add d between a and c", it'd apply the patches in that order as it's the only one that lead to no conflicts < 1321311222 786942 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but that does break the tsort property < 1321311247 641176 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: the only way to figure out that ordering is brute-forcing < 1321311254 74925 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ooh, I don't think so < 1321311260 504892 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm starting to see a shadow of an algorithm in my head < 1321311261 859312 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :also, it's ambiguous, since there can be multiple possible ways to apply a change < 1321311272 483042 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, an ambiguity would mean a conflict < 1321311279 126085 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm, what if a dependency on X counted as a dependency on any other change that referenced X? < 1321311313 735255 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :my idea is, that the algo for composing patches is first to tsort, then apply the patches in an arbitrary order, /but/ allow the file to not be in a sane state temporarily as we go < 1321311326 636873 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. you could do "add b between a and c", "add d between a and c" in that order < 1321311333 817158 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and then "delete b between a and c" would put everything back to normal < 1321311365 281405 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :sigh, I was (but shouldn't have been) expecting something less ugly < 1321311372 321256 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I think my idea's better :-P < 1321311373 132943 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if everything ended up violating the definition of a file, we'd have a conflict; /but/ we can actually show the user a sane representation of the resulting file < 1321311380 845819 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think this is actually beautiful, rather than ugly < 1321311388 606645 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't < 1321311406 130938 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and it's O(n), much much better than brute force < 1321311409 649124 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you've basically said "what if we made changes non-atomic, and removed their semantics, so that they only make sense in a jumble" < 1321311448 941140 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no, we're extending the semantics to work even with conflicts < 1321311457 400094 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and what do you mean with "non-atomic"? < 1321311464 407164 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I mean non-atomic < 1321311468 992161 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you can't apply each change as a separate, coherent step < 1321311476 715487 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because you have to keep track of the ~nonsensosity~ < 1321311478 800453 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes you can; in fact, you can now do so in any order < 1321311481 340977 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which makes things even better < 1321311496 587219 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's not atomic, because changes don't become transformations from files to files < 1321311497 979430 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, I think by "atomic" you mean "leading to a consistent state at any point in history" < 1321311499 279033 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :they're from files to goop < 1321311504 312086 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: they're from goop to goop < 1321311504 951474 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: that's what atomic /means/ < 1321311513 299548 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and the goop itself is useful < 1321311513 540812 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you're /breaking compositionality/ < 1321311517 788419 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no I'm not < 1321311523 455023 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they're from /goop/ to /goop/, how is that not compositional? < 1321311550 78943 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because you apply a changeset from file to file, not goop to goop < 1321311558 886468 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, "goop" here means "file or conflicted file" < 1321311566 565516 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which means you don't need to special-case conflicts. AT ALL. < 1321311568 834071 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is amazing < 1321311575 788948 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION sigh < 1321311586 981402 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :let me know when you have an algorithm rather than an idea that amounts to "just make it not consistent" < 1321311607 3119 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps I'll have to implement it to show you how great it is < 1321311627 208707 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that won't be necessary. a simple algorithm description will be < 1321311644 584609 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :so far you haven't even defined what the goop is < 1321311663 704558 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's a directed graph < 1321311683 866722 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with lines as vertices, and edges meaning "adjacent to" (with the direction meaning the direction) < 1321311724 354128 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if each vertex but the first and last has one input and one output (and the first and last have one output/one input respectively), it represents a non-conflicted file; otherwise, a conflicted file < 1321311738 889742 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ok, that sounds a little better. how do you apply a move as goop -> goop? < 1321311768 467644 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :disconnect three edges, connect another three edges < 1321311796 324644 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, my current issue with this is "what if the edges aren't there to disconnect" < 1321311805 552183 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :my guess is that that means you're missing dependencies < 1321311823 587046 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this works for additions, but not deletions < 1321311842 846906 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, you have a count for how many times each edge is there, and let it go negative < 1321311849 212534 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that way, you can represent "deletion of something that isn't there" < 1321311860 262784 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, hmm, maybe this doesn't work < 1321311894 256091 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this deserves thought from me; but I need to be capable of thinking at the time < 1321311918 801245 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : oh, you have a count for how many times each edge is there, and let it go negative < 1321311925 719769 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :can't you just use a multigraph or something, that's ugly < 1321311950 276680 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: the issue is that you have a file abc, and get two copies of "delete b" < 1321311959 132099 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's a conflict no matter what; how do you represent it in the resulting goop? < 1321311999 60581 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in other words, this solves the tsort issue, but /doesn't/ solve deletions, which are the reason the tsort issue's there in the first place < 1321312005 573529 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so it's, umm, kind-of pointless? < 1321312011 403039 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: don't? is there any way for that to happen in a non-conflicting whole changeset? < 1321312023 762745 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: no < 1321312034 593652 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :why not just fail, then? < 1321312045 402943 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because you want to be able to show the user what's conflicting, when there's a conflict < 1321312066 612700 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, because calculating the rest of everything, which doesn't conflict, becomes no longer O(n) < 1321312103 508965 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I don't mind if conflicts just give a failure result; the program on top can figure out how to present it < 1321312150 808125 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: the original idea is that you resolved conflicts by making a change that just made them unconflict again < 1321312170 141483 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION is not sure that's a good idea < 1321312185 844504 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right; your x-modulo-y is a replacement for that < 1321312193 819799 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: here's an argument against goop: < 1321312197 600059 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :$ sg pull a < 1321312198 363161 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :$ sg pull b < 1321312201 130911 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :has different semantics from < 1321312201 522155 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :has different semantics from < 1321312203 500340 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :$ sg pull ab < 1321312216 728697 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :by "ab", you mean a and b? < 1321312218 85922 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :because there's a goop barrier between sg commands, obviously, to turn them into actual files < 1321312222 292579 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: changeset {a,b} < 1321312224 838511 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you get the idea < 1321312226 192621 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it has exactly the same semantics < 1321312233 687126 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :no, it doesn't < 1321312247 192021 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the resulting goop ends up exactly the same < 1321312250 592163 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: because if it did, you could apply /every/ changeset that way < 1321312259 55863 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which would make changes consistent at each stage < 1321312259 387591 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, that's the entire point behind goop < 1321312261 284933 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :contradiction qed < 1321312263 959119 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :qedqedqed < 1321312269 317289 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :changes are consistent at each stage < 1321312276 688946 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just in the goop, which might or might not represent a file < 1321312287 700732 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :and goop is converted from and to files on each actual operation < 1321312290 461983 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if it doesn't, then presumably you put a conflicted version in the disk file, and let the user edit it to fix it < 1321312293 854516 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :therefore pull ab =/= pull a; pull b < 1321312316 696335 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :you're basically saying "we need to apply changesets by threading some intermediate state" while /also/ saying "applying changesets is just applying changes in an order" < 1321312317 165108 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, no? assume for the time being that the working copy is clean < 1321312321 328672 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that's impossibl < 1321312321 464143 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :e < 1321312337 694826 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then the result of a pull doesn't depend on the working copy at all < 1321312344 413274 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so after pull a; pull b (or else pull b; pull a) < 1321312348 875863 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(or else pull ab) < 1321312356 989172 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the working copy is calculated from the same set of information each time < 1321312378 576078 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with the same deterministic algo < 1321312381 47945 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: oh, you want to operate on goops at all points? that means you have to cache them < 1321312381 93232 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so how could it not be the same? < 1321312385 939336 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which is ridiculous < 1321312390 946814 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep, operate on goops at all point < 1321312403 71674 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you don't, semantically, have to cache them, although you probably would for efficiency reasons < 1321312429 564713 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION doesn't think this will work < 1321312485 837962 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :deletes definitely need a between with this method < 1321312495 610081 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :In Super Smash Brothers Melee, my brother could write his entire name even though it was limited to 4 letters. In Brawl, the limit is raised to 5 letters however his name will no longer fit. < 1321312689 655848 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh my god, the official plural of "Prius" is "Prii". < 1321312691 775200 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: weep with me. < 1321312785 480529 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is this for real < 1321312789 892922 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Yes. < 1321312797 959726 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :http://blogs.cars.com/kickingtires/2011/02/plural-of-prius-prii-not-according-to-latin-experts.html < 1321312799 201604 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :"Before we could make up our minds, Toyota decided today that the plural form is “Prii” (pronounced PREE-eye). That decision was the result of a marketing campaign in which Toyota asked the public about the plural possibilities: “Prius,” “Priuses,” “Prii,” “Priem,” or “Pri.” < 1321312799 346663 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :“Prii” received 25%. “Prius” came in a close second with 24%." < 1321312811 945980 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :they should have gone with "pru" < 1321312963 456070 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :pru is good < 1321312989 208971 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they should have declared "prius" the plural and went with "priu" for the singular < 1321313012 736680 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :new toyota peru < 1321313105 710860 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :all new toyota peru < 1321313121 106732 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :the all new toyota peru < 1321313129 775500 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :plural pru < 1321313150 473565 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :best car < 1321313211 499182 :pikhq!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :elliott: I call bullshit. < 1321313212 116335 :pikhq!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric ::) < 1321313261 115410 :pikhq!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :*Clearly* the car is the プリウス, and thus the plural is also プリウス. < 1321313286 926734 :pikhq!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :(puriusu, puriusu; hůriusu, hůriusu) < 1321313380 438122 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :pru < 1321313409 147949 :pikhq!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :But seriously though, plurals can't/shouldn't be dictated by corporate fiate. < 1321313410 317315 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :lessee, prius is neuter form of prior iirc < 1321313420 316682 :pikhq!~pikhq@71-219-234-169.clsp.qwest.net PRIVMSG #esoteric :And "Prii" is particularly stupid. < 1321313420 771487 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so plural would be priora < 1321313549 992969 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :pus, plural: poo < 1321313556 958608 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :new from toyota......... < 1321313566 502609 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :hey oerjan n-cursor zipper < 1321313602 382589 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA < 1321313607 842173 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :a < 1321313651 39002 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: no helpp...... i ned hepl < 1321313654 479450 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :even if its like < 1321313655 512478 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :just for a list < 1321313657 716378 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :that would be fnie........ < 1321313667 630401 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm for a list < 1321313683 62843 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :elliott: Dude, what about a zipper where, like, everything is a hole. And there's, like, no actu data, man. < 1321313708 668137 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Whoa. < 1321313753 846622 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh there's a small sense in which a list may be _harder_ than quadtrees: you don't have the holes at all the same level < 1321313759 681094 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: hmm, just like a one-hole list zipper is before + element + after, maybe a two-hole one is before1 + element1 + after1before2 + element2 + after2 < 1321313769 310623 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :wait no < 1321313772 342771 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :then you can't have 2 after 1 < 1321313773 766370 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :erm < 1321313775 39528 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :before 1 < 1321313812 505363 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: I'll probably go straight to a k-d tree or something; the quadtree example is interesting only insofar as it has a similar tree structure compared to a list < 1321313845 532180 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi QUIT :Ping timeout: 260 seconds < 1321313872 766999 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well the thing is i had a sort of conceptual idea of what an n-hole quadtree zipper should look like, even though immensely complicated, and that method simply does not work for a list... < 1321313906 638332 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :because it depended on the type-balanced levels < 1321313910 399170 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: would a bitree be easier? :p < 1321313967 292724 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm this actually reminds me of some of the "solid set" stuff from some of my papers < 1321314024 495424 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :mmm bitrees sound super elegant < 1321314031 605247 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :has anyone done those < 1321314041 130987 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :what's a bitree < 1321314062 429862 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :It's like a btree with an i. < 1321314069 811836 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: well you know quadtrees and octtrees < 1321314072 350310 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's like that but only two! < 1321314077 6320 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :do you mean like quadtrees, except for a 1d space < 1321314079 722013 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i guess it's uh < 1321314081 683217 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :just a binary tree < 1321314083 50356 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: yeah :P < 1321314084 83712 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net JOIN :#esoteric < 1321314117 947892 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm you might be able to use that for a list zipper < 1321314139 950261 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :if quadtrees sound simpler to do then quadtrees it is < 1321314145 743800 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :in such a way that you keep all elements at the same level < 1321314146 876237 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but I don't see why it wouldn't generalise to ~bitrees~ < 1321314158 811101 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yes, that's what i'm thinking about < 1321314187 329891 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: i mean i don't actually have any lists to do this to. < 1321314191 241510 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i was just trying to pick a simple structure < 1321314209 553580 :shachaf!~shachaf@204.109.63.130 PRIVMSG #esoteric :elliott: How about Bool? Make a zipper for Bool. < 1321314210 109591 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :however, i expect no matter how you slice this, it will be immensely inefficient compared to a mutable structure < 1321314223 903474 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: (Bool,()) < 1321314241 536398 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: well... that sads me < 1321314242 534916 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :simply because of all the maintenance to keep all the holes straight < 1321314261 680567 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: I suppose the basic problem is that "multiple zippers changing the same structure" is basically only useful to implement mutability < 1321314264 995828 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which is what I'm doing < 1321314265 521821 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Quit: Computer has gone to sleep. < 1321314272 706024 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yeah < 1321314299 986578 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :http://a2.sphotos.ak.fbcdn.net/hphotos-ak-ash4/384346_10150936833620716_537230715_21844300_367012712_n.jpg < 1321314305 489750 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: but ehh, the shiro 1 design was, fungespace was a big single hashmap, and IPs just modified that round-robin style < 1321314334 432732 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: the zipper thing is useful because I can divide up space into smaller regions to make IP-local access etc. fast... it feels really weird that I'd make funge concurrency /slower/ by doing that < 1321314450 758437 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: and ofc making it mutable will /not/ be good for one of my main goals for shiro 2, which is to move as much possible /out/ of my awful StateT HugeStateRecord IO monad < 1321314454 910886 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric ::( < 1321314468 321931 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :mhm < 1321314516 585298 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :feels like I'm making a trade-off between the code getting uglier and having no chance beating CCBI2 :P < 1321314534 766360 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well, to imagine how a cursor with n holes would work < 1321314568 886652 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :first, you needed some kind of map to tell which holes go to the same thing on the next higher level < 1321314569 226069 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Does there exist a combinator N such that Nx is true when x is a church numeral and false otherwise? < 1321314578 838901 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Ngevd: I think Oleg did that < 1321314588 492395 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1321314591 242733 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Ngevd: doubtful that it could always be false otherwise < 1321314596 744876 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Ngevd: well, there's http://okmij.org/ftp/Computation/lambda-calc.html#bluff < 1321314598 268038 :aloril!~aloril@84.249.126.153 JOIN :#esoteric < 1321314631 367880 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :"The gist of the problem is discriminating a Church numeral from some other term." < 1321314659 195899 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but it doesn't distinguish it from /every/ other term < 1321314672 807361 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: hmm < 1321314680 421569 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: it feels like you shouldn't have to have duplication + a map < 1321314686 875798 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I know that's not helpful though :P < 1321314756 569339 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :what duplication < 1321314771 217346 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : first, you needed some kind of map to tell which holes go to the same thing on the next higher level < 1321314775 889282 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :the duplication of holes, in some sense < 1321314776 919080 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :dunno < 1321314819 391888 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i'm thinking of the case where you have some holes that are neighbors, so they are in the same level-1 quadtree < 1321314842 375374 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so they must share their cursor for going up to level 2 < 1321314866 496515 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :right < 1321314872 799692 :Aune!~Arne@h-152-28.a163.priv.bahnhof.se PART #esoteric :"Lmnar" < 1321314901 308537 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: are you sure bitrees aren't simpler >:) < 1321314904 551493 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :bitrees are the new psox < 1321314906 588942 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :we may assume that no holes are in the exact same spot except at the very first level < 1321314923 946895 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...i have no idea how to apply bitrees to a 2d space < 1321314951 66145 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :but with what i imagine, they have the exact same issues < 1321314973 388639 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hm < 1321315004 713171 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: who needs a 2d space :P < 1321315019 317687 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :Did anyone here watch El Nombre? < 1321315020 927515 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...i thought this was something 2d you were implementing < 1321315021 474290 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i'm not really planning to use quadtrees much /anyway/, i'm just trying to get a really simple n-cursor zipper to think about < 1321315023 776334 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: it is < 1321315037 564115 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok then. < 1321315038 169572 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: i'm just thinking that it might be easier to formulate an n-cursor zipper on a simpler structure first... < 1321315050 285157 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :feel free to continue with quadtrees if you disagree :P < 1321315072 137845 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Ngevd: how the fuck do i remember that < 1321315074 695292 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it doesn't matter much for my idea whether you look at quadtrees or bitrees. < 1321315107 524561 :Ngevd!~Taneb@host-84-13-79-190.opaltelecom.net PRIVMSG #esoteric :elliott, because El Nombre is awesome < 1321315109 79925 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: ok < 1321315146 950732 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it's about how to think of a multi-cursor at level n in terms of a multi-cursor at level n+1