< 1350777886 925834 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i haven't had strawberries with balsamic though < 1350777888 941068 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :but i hear it's good < 1350777921 422468 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Well, now you have a mission in life! < 1350778243 594831 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :when i was little i tried balsamic vinegar with balsamic vinegar < 1350778251 218273 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Delicious. < 1350778251 797126 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :it began a lifelong love of balsamic vinegar < 1350778260 386006 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :also extremely painful lips < 1350778318 610179 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION is watching The Myth of the Genius Programmer < 1350778343 819190 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :you need an entire video to tell you that genius is bullshit? < 1350778467 907550 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1350778657 274493 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Remote host closed the connection < 1350778707 413420 :Frooxius!~Frooxius@cust-101.ktknet.cz QUIT :Ping timeout: 276 seconds < 1350781296 247650 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: help ^ < 1350781323 501400 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: with what ☝ < 1350781347 821378 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : test :: ((forall a. (Show a) => a -> String) ~ (Int -> String)) => () < 1350781347 902118 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : why is this not ok < 1350781347 902284 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : is there a ~ that means < 1350781347 902393 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : "can unify with" < 1350781347 902495 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : so i can do < 1350781348 920656 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (a ~ String -> String, a ~ Int -> String) < 1350781350 519858 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : and a = forall a. (Show a) => a -> String < 1350781352 328600 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : works < 1350781366 634847 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh. < 1350781377 693853 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know if there's such a thing. It seems kind of weird. < 1350781636 988206 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It'd be useful for me. < 1350781688 352013 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: Ask in #haskell! < 1350781698 822066 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Good one. < 1350781997 641649 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: Oh no, race condition! < 1350782010 120458 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What if someone sent you a good message right before the @clear-messages? < 1350782127 356619 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :@clear-messages? < 1350782127 477802 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Messages cleared. < 1350782132 303723 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :thank you < 1350782142 58769 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@clear-messages! < 1350782142 720543 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Messages cleared. < 1350782149 777467 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@ask monqy hi monqy :') < 1350782150 388069 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1350782157 377976 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :@clear-messages. < 1350782157 544939 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Messages cleared. < 1350782166 565462 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@tell monqy what have you done?! < 1350782167 108196 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1350782191 510420 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :@clear-messages‽ < 1350782191 633528 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Unknown command, try @list < 1350782201 696546 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :help < 1350782201 874415 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :monqy: You have 1 new message. '/msg lambdabot @messages' to read it. < 1350782204 940395 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :heeelp < 1350782227 147083 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :uh, oh, can you put comments in urls? < 1350782240 886477 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@clear-messages⸘ < 1350782241 10217 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :like, using '.' inside of the url and everything after it is ignored < 1350782241 503935 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Unknown command, try @list < 1350782244 254489 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@clear-messagesá < 1350782244 747623 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Messages cleared. < 1350782248 370158 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zomg < 1350782257 540130 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I bet lambdabot is doing edit distance in UTF-8 bytes. :-( < 1350782922 492182 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Quit: Arc_Koen < 1350783830 633089 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I also think "can unify with" might sometimes be useful and the automatic classes I suggested could be used to make it, I think. < 1350784052 998469 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Automatic classes if used in Ibtlfmm (instead of only Haskell) could do other things too, including, check if it is not a specific type, trex records, whatever, but in any case they could only be used with the class is specified in the constraint that your function is using it < 1350785472 635231 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: I was reading a book that denoted the empty set by □. < 1350786202 426391 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: It's because you forgot to quantify the "a". < 1350786212 720033 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: I know. < 1350786254 624493 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: For some reason I thought it would be "scoped" from the "data" but that's a bit silly. < 1350786271 703638 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah, GADT headers are weird < 1350786275 73313 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can just put a kind signature there instead < 1350786280 697083 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Coq actually "scopes" it like that < 1350786286 519577 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Agda does too, right? < 1350786320 708422 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I remembered that there was a difference between "data Foo (n:Nat) : * -> *" and "data Foo : Nat -> * -> *" or "data Foo (n:Nat) a : *" or something. < 1350786325 429954 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But i guess that was in Agda. < 1350786525 916108 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: So did you know 18:49 Either x y = exists b. if b then x else y; (x,y) = forall b. if b then x else y < 1350786567 823212 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Sure, that makes perfect sense. < 1350786584 761141 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I didn't say it doesn't make sense. < 1350786621 249512 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, I mean... what is there to know? < 1350786645 283735 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Nothing. < 1350786699 423078 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: < 1350786704 183736 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data To' p f = To' (forall a. (p a) => a -> f a) < 1350786704 264357 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :mapH :: (All p ts) => To' p f -> HList ts -> HList (Map f ts) < 1350786714 879671 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: What can I do here if I want to set p = Show, and map show over the list? < 1350786719 676896 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I need to specify an "f". < 1350786725 791544 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But what I want is (Const String), but you can't do that. < 1350786733 770524 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Since type Const a b = a can't be partially applied. < 1350786742 331039 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Can you think of a decent way to generalise the type of mapH so this works? < 1350786754 125212 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I've considered < 1350786758 9433 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data To'' p = To'' (forall a r. (p a r) => a -> r) < 1350786765 117503 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :mapH' :: ??? => To'' p -> HList ts -> HList ??? < 1350786767 656695 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :using < 1350786774 846427 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :class (Show a, r ~ String) => Shoe a r < 1350786783 750454 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :class Shoe a r < 1350786783 918372 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :instance (Show a, r ~ String) => Shoe a r < 1350786784 842316 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or something < 1350786791 201373 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but I don't see how that would work. < 1350786795 860657 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Yes, I'd say that it's certainly the most thoughtful and intelligent traffic signal I've ever met. < 1350786797 296475 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :As in I don't know what the ???s would be. < 1350786800 473293 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And anyway it feels wrong. < 1350786803 412692 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :So do you have any ideas? < 1350786863 895683 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Not off-hand. < 1350786876 434669 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :OK. < 1350786883 98823 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, if you think of any, let me know. < 1350786900 14074 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(I know I can just do newtype Const a b = Const { getConst :: a } and do To' (Const . show) instead, but that leads to problems later.) < 1350786908 532069 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Since then I want to use toListH :: (All ((~) a) ts) => HList ts -> [a].) < 1350786912 985985 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(But Const a b and Const a c don't unify.) < 1350786981 48062 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :HLists are the devil. < 1350786995 271725 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :19:36 I just don't see the point < 1350786999 902019 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(Referring to HLists, I'm sure.) < 1350787076 27299 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: This isn't about HLists, though. < 1350787094 585093 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's about figuring out how this kind of stuff can be used at the type-level. < 1350787228 240735 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : nooodl: 1, 1, …? Everyone knows the Fibonacci sequence begins with 89, -55. < 1350787230 6163 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ion: What's this about? < 1350787260 374322 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Hmm. < 1350787276 968127 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: If I could somehow specify that I want p to have the fundep a b | a -> b, then I think < 1350787277 342106 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : data To'' p = To'' (forall a r. (p a r) => a -> r) < 1350787277 422977 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : mapH' :: ??? => To'' p -> HList ts -> HList ??? < 1350787278 367602 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :would work. < 1350787288 238485 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: But you can't do that. But that's what type families are. < 1350787288 903192 :ion!ion@heh.fi PRIVMSG #esoteric :> fix ((89:) . (-55:) . zipWith (+) <*> tail) < 1350787289 903994 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `a1 -> a' against inferred type `[t]' < 1350787294 334430 :ion!ion@heh.fi PRIVMSG #esoteric :err < 1350787302 569547 :ion!ion@heh.fi PRIVMSG #esoteric :> fix ((89:) . (-55:) . (zipWith (+) <*> tail)) < 1350787304 521532 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [89,-55,34,-21,13,-8,5,-3,2,-1,1,0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,6... < 1350787304 739356 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: But an associated type family doesn't work, because then you have to pass the associated type family as a type argument to To''. < 1350787313 12087 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: And then you're trying to partially-apply it. < 1350787319 755905 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :So you run into the same problem. < 1350787343 925825 :ion!ion@heh.fi PRIVMSG #esoteric :elliott: Just a joke inspired by the debate about whether the sequence begins with 1 1 or 0 1. < 1350787357 300145 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Ah. < 1350787419 598084 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fix ((-1:) . (-1:) . (zipWith (+) <*> tail)) < 1350787430 463535 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> fix ((-1:) . (-1:) . (zipWith (+) <*> tail)) < 1350787432 692244 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [-1,-1,-2,-3,-5,-8,-13,-21,-34,-55,-89,-144,-233,-377,-610,-987,-1597,-2584... < 1350787435 237446 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> fix ((0:) . (0:) . (zipWith (+) <*> tail)) -- maximally correct < 1350787437 536861 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,... < 1350787477 523002 :ion!ion@heh.fi PRIVMSG #esoteric :> fix ((1:) . (0:) . (zipWith (+) <*> tail)) < 1350787479 521471 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,109... < 1350787527 472128 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> fix ((1:) . (((sqrt 5 + 1)/2):) . (zipWith (+) <*> tail)) -- this is actually the right one < 1350787529 798276 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1.0,1.618033988749895,2.618033988749895,4.23606797749979,6.854101966249685... < 1350787543 666720 :ion!ion@heh.fi PRIVMSG #esoteric :yes < 1350787565 185900 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@let phi = (sqrt 5 + 1)/2 < 1350787567 20873 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Defined. < 1350787594 730753 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> (phi + 1 :: CReal) / phi == phi / 1 < 1350787597 167388 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : True < 1350787625 333888 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> (phi + phi + 1 :: CReal) / (phi + 1) == (phi + 1) / phi < 1350787627 710496 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : True < 1350787629 890409 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :See? < 1350787702 812955 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :"It was a dotfile virus (communicated via infecting workstations) to advertise a fraternity party" < 1350787749 888343 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: You gonna stand up and take that from Nereid??? < 1350787803 634243 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: I sure showed that Nereid, eh? < 1350787812 826380 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yes < 1350787828 35967 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :shachaf is fibbing. < 1350788006 541225 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Ooh, I know. < 1350788011 125814 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I can make a type family indexed by constraints. < 1350788024 483130 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Correspond is one of my useful spells it can be used for various things including to determine your longitude. < 1350788034 774380 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Let's see if you understand how I might beat the assassin with the Correspond spell and the phase of the moon. < 1350788053 573361 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :elliott: What is that useful for, though? < 1350788226 568700 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*Main> toListH (mapH' showTo'' (HCons 1 (HCons 2 HNil))) < 1350788226 649658 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :["1","2"] < 1350788230 769148 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :zzo38: Well, uh... < 1350788237 829047 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*Main> toListH (mapH' showTo'' (HCons 1 (HCons "abc" HNil))) < 1350788237 909967 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :["1","\"abc\""] < 1350788239 902201 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's pretty cool! < 1350788290 323579 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> [show 1, show "abc"] < 1350788291 737661 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ["1","\"abc\""] < 1350788302 350870 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :> ["1","\"abc\""] < 1350788303 421190 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ["1","\"abc\""] < 1350788308 31872 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Do I win the "oversimplify the example" game? < 1350788309 624861 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> "hi monqy" < 1350788311 115129 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : "hi monqy" < 1350788357 249637 :ion!ion@heh.fi PRIVMSG #esoteric :> let fibs = (go (-) 1 (-1), 0, go (+) 1 1) where { go f a b = fix ((a:).(b:).(zipWith f<*>tail)) }; right (ls,x,r:rs) = (x:ls,r,rs); left (l:ls,x,rs) = (ls,l,x:rs); iterateN n = appEndo . Data.Foldable.foldMap Endo . replicate n in ((\(_,_,rs) -> rs) . iterateN 10 right . iterateN 20 left) fibs < 1350788358 231953 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : can't find file: L.hs < 1350788360 118657 :ion!ion@heh.fi PRIVMSG #esoteric :> let fibs = (go (-) 1 (-1), 0, go (+) 1 1) where { go f a b = fix ((a:).(b:).(zipWith f<*>tail)) }; right (ls,x,r:rs) = (x:ls,r,rs); left (l:ls,x,rs) = (ls,l,x:rs); iterateN n = appEndo . Data.Foldable.foldMap Endo . replicate n in ((\(_,_,rs) -> rs) . iterateN 10 right . iterateN 20 left) fibs < 1350788362 303881 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [34,-21,13,-8,5,-3,2,-1,1,0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,... < 1350788370 612081 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*Main> :t \to -> toListH . mapH' to < 1350788370 817319 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :\to -> toListH . mapH' to < 1350788370 898070 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : :: (Foldr < 1350788370 898258 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Constraint < 1350788370 898363 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Constraint < 1350788371 640511 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Pair < 1350788373 695309 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : () < 1350788375 668703 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (Map Constraint * (* ~ a) (MapResult p ts)), < 1350788377 689539 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Foldr Constraint Constraint Pair () (Map Constraint * p ts)) => < 1350788379 682934 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : To'' p -> HList ts -> [a] < 1350788381 603009 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: im wizard < 1350788397 649181 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :type Constrain't = Constraint -> Void < 1350788426 831698 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :OK now for foldrH. < 1350788437 330965 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think this type is going to make something like no sense at all. < 1350788444 145838 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what are you doing................. < 1350788449 895310 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: magic < 1350788456 560052 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: toListH :: (All ((~) a) ts) => HList ts -> [a] < 1350788460 263537 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :monqy: something "pretty cool" < 1350788469 265733 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: HList '[String, String, String] is an ok input to toListH. < 1350788473 890759 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: but HList '[String, Int] isnt'. < 1350788475 573678 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*isn't < 1350788484 345809 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: whoa, dude < 1350788489 177135 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :class (a, b) => Pair a b < 1350788489 383577 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :instance (a, b) => Pair a b < 1350788489 464525 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :type family Unit :: Constraint < 1350788489 464705 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :type instance Unit = () < 1350788489 464815 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :type All p xs = Foldr Pair Unit (Map p xs) < 1350788492 419867 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: "that's the definition of All" < 1350788496 976858 :ion!ion@heh.fi PRIVMSG #esoteric :Longcat is long. https://sphotos-a.xx.fbcdn.net/hphotos-ash3/557771_483841354969839_129064845_n.jpg < 1350788502 383909 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hion < 1350788504 688910 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Pair is just (,) on constraints and Unit is just () on constraints but < 1350788510 565843 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it doesn't work if you do that < 1350788513 657372 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so I have to redefine them < 1350788527 356213 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: It doesn't? < 1350788538 436523 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: nope < 1350788544 106575 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: (() :: Constraint) works but just () doesn't < 1350788545 924900 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :What if you use type instead to define it? < 1350788546 521015 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It thinks it's the wrong kind? < 1350788552 905560 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and ((,) :: Constraint -> Constraint -> Constraint) doesn't work at all < 1350788557 894814 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :apparently only (a, b) is overloaded, not (,) itslef < 1350788560 2294 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*itself < 1350788566 499301 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : type family Unit :: Constraint < 1350788566 580153 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : type instance Unit = () < 1350788568 761384 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :this is because you can't do < 1350788572 526017 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :type Unit :: Constraint = () < 1350788578 970599 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's the only way to give a type synonym a kind signature < 1350788579 201630 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :type Unit = (() :: Constraint) < 1350788582 133170 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :doesn't work < 1350788582 728919 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :try it < 1350788586 813837 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Works for me. < 1350788592 726700 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You need the parentheses on the right side, though. < 1350788597 132860 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh wtf < 1350788598 949370 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you need the parens < 1350788600 485837 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's dumb as hell < 1350788607 93530 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"i kno dude" < 1350788609 537308 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Why did they make like that? It ought to work. < 1350788615 781736 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::t foldr < 1350788616 871699 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. (a -> b -> b) -> b -> [a] -> b < 1350788645 660138 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :foldrH :: (All p ts) => (forall a. (p a) => a -> b -> b) -> b -> HList ts -> b < 1350788648 893199 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ok so this works but it's obviously not ideal < 1350788653 404839 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :we want a fold on the type-level ts < 1350788673 918509 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so foldrH :: ??? -> HList ts -> Foldr f z ts < 1350788675 137466 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :for some f, z < 1350788721 847957 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess (forall a. (p a) => a -> b -> f a b) < 1350788732 275473 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :er < 1350788734 865716 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess (forall a b. (p a) => a -> b -> f a b) < 1350788737 916172 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :though that fails to express that the "b" comes from the fold :/; < 1350788739 488883 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*:/ < 1350788963 888949 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Hey, isn't this just induction? < 1350788969 321942 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: You use Coq a lot, right? < 1350788971 506412 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: What is? < 1350788976 147487 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION wasn't paying many attentions. < 1350788979 80118 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: What type does Coq infer for induction on the standard cons list type? < 1350788988 488180 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Or the general recursion scheme, I guess; practically the same for my purposes.) < 1350788990 141480 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :I have an All typeclass < 1350788998 605727 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :mine is way bettar < 1350789006 7338 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: How's yours definde? < 1350789007 26968 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*defined < 1350789010 577448 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :can't remember < 1350789012 470699 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :I tried a few ways < 1350789013 615574 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: Mine doesn't involve any typeclasses! < 1350789022 981160 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: Just type families with results that are used as constraints. < 1350789024 307027 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :I did one of those at some point < 1350789029 366757 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's worked out just great so far. < 1350789031 308637 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :but it didn't work very well < 1350789041 422354 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :but I was using 7.4.1 at the time < 1350789045 350115 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :maybe shit has improved < 1350789049 856519 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://sprunge.us/HVji < 1350789054 84985 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(7.6-only code.) < 1350789063 499610 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :elliott: list_rect < 1350789063 873455 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric : : forall (A : Type) (P : list A -> Type), < 1350789063 954155 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric : P nil -> < 1350789063 954325 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric : (forall (a : A) (l : list A), P l -> P (a :: l)) -> < 1350789064 356018 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric : forall l : list A, P l < 1350789088 174946 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is that what you wanted? < 1350789091 70992 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: yep, thanks < 1350789098 803095 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: time to write that in haskell.......... < 1350789106 40000 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :lol < 1350789125 873605 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: if i close my eyes and pretend hard enough it will be agda < 1350789128 514499 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but faster < 1350789131 439733 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :totally < 1350789230 98218 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: foldrH :: (All p ts) => (forall a us. (p a) => a -> f us -> f (a ': us)) -> f '[] -> HList ts -> f ts < 1350789241 833465 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: : ) < 1350789243 880767 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: : ) < 1350789248 309699 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :: / < 1350789291 823849 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it would be nice to represent the ordering somehow rather than having it be as vague as (All p ts) < 1350789292 723720 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but oh well < 1350789305 472006 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :would need more indexy types for that I guess < 1350789454 305915 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i wish i were cool enough to use ZFS < 1350789486 673106 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :are you cool enough to use btrfs < 1350789495 958748 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :is btrfs fully baked yet? < 1350789502 362490 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I know someone who lost three filesystems to btrfs. < 1350789529 515884 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Problems ranging from data corruption to kernel deadlock, or something like that. < 1350789533 20945 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: I use JFS. Is that cool? < 1350789535 234538 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i'm trying to figure out the best way to stack encryption, LVM, and RAID on my new server < 1350789535 440823 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I mean, OS/2 is cool. < 1350789554 429984 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :and my understanding is that ZFS handles this all together in an integrated sexy way < 1350789575 212442 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: I think by "integrated" that means "in its own separate universe to everything else, with its own version of everything". < 1350789585 280511 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(I don't think it does LVM; I think it has its own implementation of what LVM does. No?) < 1350789589 738994 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :that's what i mean < 1350789621 894397 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :like, i wouldn't need LVM because i could just have a single RAID-Z partition which spans multiple drives of different sizes < 1350789648 291030 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Are you using FreeBSD? < 1350789649 932595 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :no < 1350789678 825254 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Uh oh. < 1350789682 681229 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think I need unsafeCoerce to do this one. < 1350789700 653388 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :are you a bad enough dude to use unsafeCoerce < 1350789709 98661 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :unsafeCoerce enables quite a lot of type hackery < 1350789722 900899 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Has anyone told Oleg about it? < 1350789744 142552 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: You can't spell unsafeCoerce without fun and saeCoerce. < 1350789769 517859 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :20:21:22 I think I need unsafeCoerce to do this one. < 1350789772 394907 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :........................................ < 1350789790 142258 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: hey, usually I bring out unsafeCoerce much before this!!! < 1350789800 489324 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :........................................ < 1350789817 826527 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> ((==) `on` (sort . map toLower . filter isAlpha)) "unsafeCoerce" "cancerous fee" < 1350789820 264645 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : True < 1350789826 205144 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I know there are some things that can be done with unsafeCoerce I think my extensible product types library use unsafe < 1350789838 731632 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: i < 1350789840 760239 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: how < 1350789849 221150 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: < 1350789849 566659 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data Foldy p = Foldy (forall a us. (p a) => a -> FoldR p us -> FoldR p (a ': us)) < 1350789849 774651 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :type family FoldR (p :: * -> Constraint) (xs :: [*]) :: * < 1350789849 855601 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :foldrH :: (All p ts) => Foldy p -> FoldR p '[] -> HList ts -> FoldR p ts < 1350789849 855800 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :foldrH _ z HNil = z < 1350789849 855911 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :foldrH foldy@(Foldy f) z (HCons x xs) = unsafeCoerce (f x (unsafeCoerce (foldrH foldy z xs))) < 1350789858 895842 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :O, it is a anagram? < 1350789865 297692 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: foldy named in honour of 4.1 loopy < 1350789921 284882 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :im very upset about this unsafecoerce < 1350789941 335299 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :monqy: which one < 1350789958 730777 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: feel free to write a patch removing it < 1350789968 382345 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: Remember that time I got unsafeCoerce into an edwardk library? < 1350789971 449367 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :good times < 1350789987 34674 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :im upset about that too < 1350789993 908191 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :im upset about both unsafecoerces < 1350789996 461316 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: Did you know 1.8% of Hackage is edwardk libraries? < 1350789999 812647 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :basically i don't want to have to think about stacking all these different kinds of virtual block device < 1350790011 701950 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i just wanna say "here are some drives, make sure my shit is redundant and also encrypted, thx" < 1350790012 983622 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: one day you'll grow up to be as old as me and then you'll appreciate unsafeCorece < 1350790013 516924 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: That's why you buy a sysadmin! < 1350790022 416882 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: well I think LVM is bad and people shouldn't use it < 1350790036 592286 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :why specifically < 1350790038 313099 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess that also means I think people shouldn't encrypt their drives < 1350790040 870498 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or align their blocks on SSDs < 1350790044 55808 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: well have you seen it < 1350790048 160018 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :you don't need LVM to do either of those things < 1350790048 326377 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's the messiest piece of crap I've ever seen < 1350790053 630995 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :numbers blocks and stuff differently from the kernel < 1350790068 413251 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :if I wanted to avoid LVM i suppose I could do a RAID0 of my two RAID5 devices < 1350790077 559443 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :except no i can't < 1350790079 226068 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> (0 + 5) / 2 < 1350790080 717655 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 2.5 < 1350790084 377802 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :because they will be different sizes < 1350790086 101185 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: btw how do you do the alignment thing without lvm on linux < 1350790094 193750 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :iirc it was required ages ago < 1350790122 232340 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Alignment? < 1350790125 893535 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :elliott: it seems like LVM would *hurt* there < 1350790131 547638 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :it's another layer of metadata to mess up the alignment < 1350790156 98020 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :you would just make sure your partition is aligned < 1350790161 643277 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :and then tell your mkfs to align shit < 1350790169 851203 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :(they support this originally for RAID performance) < 1350790170 751292 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: ~eaxample use~ < 1350790171 34547 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :type instance FoldR ((~) a) xs = [a] < 1350790171 285247 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :toListH' :: (All ((~) a) ts) => HList ts -> [a] < 1350790171 365955 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :toListH' = foldrH toot [] < 1350790171 366144 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :toot :: Foldy ((~) a) < 1350790171 563170 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :toot = Foldy (:) < 1350790188 797241 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i can't believe this shit works < 1350790201 643262 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :shachaf: SSDs erase data in big blocks; for performance you want these to be aligned with filesystem blocks < 1350790214 533679 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :by "erase" I mean "write" < 1350790215 39039 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Right, but what does that have to do with LVM? < 1350790226 529236 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :yeah that's what i'm wondering too ;) < 1350790232 652529 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think RethinkDB had a post on their weblog about doing this once. < 1350790234 805077 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :if you want to use LVM, it's another layer on which you have to get the alignment right < 1350790242 879405 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But it looks like they replaced their site with a "launching soon" page. < 1350790245 560155 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :heh < 1350790247 178632 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :sucks < 1350790265 656343 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(On the other hand maybe they'll be launching soon!) < 1350790280 436710 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: paul graham joke < 1350790281 389287 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :they weren't already launched < 1350790287 518887 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sort of. < 1350790289 194868 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :elliott: i can't believe that shit works either < 1350790298 256026 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: did rethinkdb "pivot" < 1350790298 829141 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you can pull of launching a second time, why not? < 1350790305 178720 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :pie-vot < 1350790309 727512 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :they make pies now < 1350790311 33647 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pivot, n. making a new business except it has the same name and people < 1350790315 742777 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :artisinal local gluten-free pies < 1350790319 521439 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because you didn't have a business model for the previous one < 1350790323 598884 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(business model for the new one not required either) < 1350790325 806260 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :pies that celebrate craftsmanship < 1350790380 124610 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: They added a word! https://addons.heroku.com/ < 1350790388 749428 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Now it's "Fast, elegant full-text search that celebrates your craftsmanship." < 1350790419 584643 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :but is it awesome?!?!?!?!? < 1350790435 640848 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i must know if this software is awesome, minimalist, suckless, and "done right" < 1350790445 684649 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Does $KMCCOMPANY have fulltext search? < 1350790451 400048 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Your customers expect fast and accurate keyword search, autocompletion menus and inputs, faceted browsing, spatial search and so much more. < 1350790453 609593 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :that's classified < 1350790471 964876 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :class Company a < 1350790478 124121 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :data Kmc = Kmc; instance Company Kmc < 1350790504 459181 :augur!~augur@208.58.5.87 QUIT :Read error: Connection reset by peer < 1350790524 202849 :augur!~augur@208.58.5.87 JOIN :#esoteric < 1350790559 3660 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Is there a Void :: Constraint? < 1350790568 48407 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: What would that be? < 1350790577 965482 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: A constraint that is never satisfied. < 1350790582 116826 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Int ~ String) works but ew. < 1350790612 926199 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know. < 1350790638 631603 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :At least do (False ~ True) or something. < 1350790656 705219 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or data Blah = A | B; (A ~ B) < 1350790739 787938 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I have a Foldr and FoldR that are two different things. < 1350790747 799698 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's good, right? < 1350791143 802182 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: do you have a foldR < 1350791221 491371 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :http://okmij.org/ftp/cpp-digest/toy_OS.txt < 1350791400 376147 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: http://hpaste.org/76553 < 1350791638 263637 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :something tells me haskell wasn't made to do this!!!!! < 1350791678 980643 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: they should have thought of that before they invented GHC extensions!! < 1350793654 143693 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :how do i get a specific element out of a tuple in haskell? lets say x out of (x,y,z) < 1350793696 910975 :ion!ion@heh.fi PRIVMSG #esoteric :0) Tuples may be the wrong thing to use if you need that; 1) f (x,y,z) = x < 1350793722 303366 :ion!ion@heh.fi PRIVMSG #esoteric :or: f (x,_,_) = x < 1350793791 118622 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(But probably you want to pattern-match directly in your function, rather than defining f and using it.) < 1350793794 459473 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(But see #0.) < 1350793814 279292 :ion!ion@heh.fi PRIVMSG #esoteric :yourFunction (x,_,_) = doSomethingWith x < 1350793870 744887 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :just want to know how to address a value of a tuple.. lets have an example (and please i'm not out to reinvent the whell, just try to get an idea of it) < 1350793873 75529 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :let v2len va vb = sqrt(((vb!!0) - (va!!0))^2 + ((vb!!1)-(va!!1))^2) < 1350793900 171224 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :how to make it happen with tuples < 1350793914 921807 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :!! works only for lists < 1350793962 541019 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :know what i mean? < 1350793962 621771 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you probably shouldn't use (!!) either btw < 1350793967 406108 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :yep < 1350793976 681658 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :thats exactly what im asking < 1350793992 354510 :ion!ion@heh.fi PRIVMSG #esoteric :v2len (ax,ay,az) (bx,by,bz) = sqrt ((bx-ax)^2 + (by-ay)^2 + (bz-az)^2) < 1350794004 764571 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-- was typing what ion was writing, yeah. < 1350794008 520473 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :ah < 1350794008 872852 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ion: Wait, why do you have three values there? < 1350794009 855039 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :okay < 1350794014 625845 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The lists are two elements long in hagb4rd's example. < 1350794025 898704 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :i see < 1350794026 422777 :ion!ion@heh.fi PRIVMSG #esoteric :He was talking about a 3-tuple at first. < 1350794034 277321 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :yep, thank you < 1350794037 208973 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :it's clear now < 1350794147 610465 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :@let matrix = ((1, 0, 0), (2, 4, 4), (0, 0, 0)) < 1350794148 923303 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Defined. < 1350794154 606142 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric ::t matrix < 1350794155 698569 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall t t1 t2 t3 t4 t5 t6 t7 t8. (Num t, Num t1, Num t2, Num t3, Num t4, Num t5, Num t6, Num t7, Num t8) => ((t, t1, t2), (t3, t4, t5), (t6, t7, t8)) < 1350794176 43390 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nice inferred type < 1350794192 866917 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: FWIW if you have a tuple of more than two elements you usually want to define your own data type. < 1350794213 533774 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data Row a = Row a a a; data Matrix a = Matrix (Row a) (Row a) (Row a) and then use Matrix Integer, or whatever. < 1350794225 110404 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :kool < 1350794318 369906 :ion!ion@heh.fi PRIVMSG #esoteric :Don’t do this, you don’t want to use lists as geometrical vectors, but here’s a toy example of computing the length between two lists of arbitrary length (assuming both have the same length). I just thought it might be educational wrt. avoiding (!!). f as bs = (sqrt . sum . map (^2)) ds where ds = zipWith (-) as bs < 1350794423 584830 :ion!ion@heh.fi PRIVMSG #esoteric :Another thing that is wrong with it is the unchecked assumption that the lists have the same length. < 1350794466 883383 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ion: I don't understand why you use where where there instead of just inlining it, possibly using ($). < 1350794516 829642 :ion!ion@heh.fi PRIVMSG #esoteric :I thought giving a (somewhat descriptive) name to the intermediate list would make it clearer for a newbie. < 1350794523 321199 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :okay, i guess there are already some functions for playing arond r2, r3..how would you implement transformation matrices (lets say sth like a rotation in R2 :) < 1350794530 470283 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ion: Fair enough. < 1350794668 715008 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :i would like implement a R3->R2 transformation (display 3D on 2D screen) for some very basic geomatrical figures (vertices, lines).. that would be nice :) < 1350794754 19190 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :i guess the z-values need to be moved towards the vanishing point in some way < 1350794875 82707 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :(so the further away you get, the more they get moved towards viewcenter) < 1350794891 881001 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :gd < 1350794894 566998 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :whoops < 1350794897 445194 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :wrong window < 1350794909 268145 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :is this #haskell now < 1350794925 517346 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: yes < 1350794937 320627 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: join #haskell and talk about esolangs < 1350794949 688632 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :420 join #haskell every day < 1350794977 440225 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :sleep, 'night < 1350794981 174091 :ion!ion@heh.fi PRIVMSG #esoteric :Let’s think of a simple case where you only implement the multiplication of a 3×3 matrix with a 3-vector. Using elliott’s Row and Matrix types and also defining < 1350794990 394129 :ion!ion@heh.fi PRIVMSG #esoteric :data Vector a = Vector a a a < 1350795001 887098 :ion!ion@heh.fi PRIVMSG #esoteric :how would you multiply a single Row with a Vector? < 1350795003 332796 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :i guess haskell would be a very efficient way to implement such calculations in a few lines of code :) < 1350795074 502414 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :http://www.youtube.com/watch?v=vSTJL1ikxXY < 1350795265 826495 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :i wonder if that was rethinkdb's thinking < 1350795300 69113 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :To prevent people from downloading the newest games, Black and White, a "no experience" security patch was added. This *encourages* downloading the newest games, if you want to use this, isn't it????? < 1350795531 62523 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I don't know. < 1350795693 516649 :ion!ion@heh.fi PRIVMSG #esoteric :hagb4rd: Feel free to ask if you’re not sure. < 1350795781 59988 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :yea, i will readmy self on through some docs first.. but cool thank you < 1350795790 550179 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :consider it noted < 1350795808 638877 :ion!ion@heh.fi PRIVMSG #esoteric :I mean, we can go through the implementation right now. < 1350795830 409449 :ion!ion@heh.fi PRIVMSG #esoteric :if you want < 1350796243 501584 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :guess i better try to catch up some of the basic ideas of haskell-typing first.. < 1350796263 361439 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :don't want to waste your time with this < 1350796293 701240 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :but we can speak lateron if you like. i would be glad too :) < 1350796324 501405 :ion!ion@heh.fi PRIVMSG #esoteric :ok < 1350796791 295865 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :but we could discuss the algorithm on how to solve the (z-transformation/that thing with the vanishing point).. pseudo code/math/whatever < 1350797103 653425 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :is z-transformation an esolang < 1350797119 813452 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :an implementation of it might be < 1350797125 802557 :ion!ion@heh.fi PRIVMSG #esoteric :hagb4rd: You might find this useful. http://www.scratchapixel.com/lessons/3d-advanced-lessons/perspective-and-orthographic-projection-matrix/perspective-projection-matrix/ < 1350797149 360133 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :perfect < 1350797152 808796 :nys!~nysnamovo@blk-142-60-139.eastlink.ca QUIT :Quit: quit < 1350797164 153326 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :thank you < 1350797423 459570 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: exciting ipwn update: it's just "on hiatus". < 1350797468 533904 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :barts: also i admit trying to creep some scope from you handsome people ;) < 1350797585 638106 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"TWO-THIRDS of Scots would back independence if they believed it would make them £500 better off, according to a poll." < 1350797597 305949 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :in other news, a third of Scotland would knowingly vote against their own interests < 1350797624 646317 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :loaded questions, the finest art < 1350797669 508231 :ogrom!~del@143.122.191.90.dyn.estpak.ee JOIN :#esoteric < 1350798429 547086 :coppro!raedford@taurine.csclub.uwaterloo.ca PRIVMSG #esoteric :elliott: haha < 1350798709 499331 :TodPunk!~Tod@166-70-93-209.ip.xmission.com QUIT :Read error: No route to host < 1350798764 986965 :TodPunk!~Tod@166-70-93-209.ip.xmission.com JOIN :#esoteric < 1350799333 510433 :ogrom!~del@143.122.191.90.dyn.estpak.ee QUIT :Quit: Left < 1350799803 359480 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Did you know if you d othis < 1350799806 193713 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :*do this < 1350799807 403969 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data Foldy p = Foldy {friend::forall a us. (p a) => a -> FoldR p us -> FoldR p (a ': us)} < 1350799810 247268 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you get a type error? < 1350799814 627159 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The accessor doesn't type. < 1350799825 151968 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :WRONG < 1350799832 368691 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I get a "FoldR not in scope" error < 1350799844 575732 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Has anyone win at Iter Vehems ad Necem with zero contrast? Has anyone win with maximum contrast? < 1350799888 5956 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I've never won :( < 1350799898 472184 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :don't worry monqy < 1350799899 171816 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :but I've gotten "pretty dang far" and then died and then gotten bored < 1350799905 62454 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :you win at life < 1350799911 938560 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"it's true" < 1350799935 55267 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :: o < 1350800276 43809 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Expected type: a -> FoldR p us -> FoldR p ((':) * a us) < 1350800276 124548 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Actual type: a -> FoldR p us0 -> FoldR p ((':) * a us0) < 1350800279 188324 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ghc < 1350800342 628189 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :i heard ghc was the worst compiler ever < 1350800357 243620 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :me too < 1350800385 626997 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :this must be penance for your unsafecoerce shenans < 1350800405 782772 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :barts: i heard barts smells < 1350800414 166091 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :who knows the real trutrths in the world........................... < 1350800418 977778 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :eat my shorts < 1350800425 70953 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :good one < 1350800438 219012 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: ps this is me trying to undo said `shenans' < 1350800512 982828 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :it's still upset < 1350800719 847022 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :sacrifice a virgin compiler < 1350800829 100962 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :barts: btw who are you < 1350800850 860288 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`pastelog barts < 1350800870 107975 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :hlep < 1350800875 652920 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`pastelogs barts < 1350800879 55370 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :h t h < 1350800890 974000 :HackEgo!codu@codu.org PRIVMSG #esoteric :No output. < 1350800896 691491 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`pastelog pastelog < 1350800900 893126 :HackEgo!codu@codu.org PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18045 < 1350800906 360413 :HackEgo!codu@codu.org PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6290 < 1350800945 599013 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why did that work? < 1350800963 840143 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`run ls -lh $(which pastelog) < 1350800967 177711 :HackEgo!codu@codu.org PRIVMSG #esoteric :​-rwxr-xr-x 1 5000 0 602 Oct 21 06:29 /hackenv/bin/pastelog < 1350801088 868893 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data Foldy p = Foldy (forall a us. (p a) => a -> FoldR p us -> FoldR p (a ': us)) < 1350801088 989686 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data Foldy' p = Foldy' (forall a us. (p a) => HList us -> a -> FoldR p us -> FoldR p (a ': us)) < 1350801098 624012 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Can you write a function to convert between these two types without using unsafeCoerce at all? < 1350801105 946002 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Declare type family FoldR (p :: * -> Constraint) (xs :: [*]) :: * < 1350801111 811533 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and data HList :: [*] -> * < 1350801131 974771 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Foldy p -> Foldy' p is what's desired. < 1350801185 74845 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: @paste or something, I can't read IRC lines like this. < 1350801188 371968 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION is barely awake. < 1350801282 102424 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: http://sprunge.us/iPBU < 1350801292 117359 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: The only change between the two types is the inclusion of a dummy parameter at the front. < 1350801295 186929 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Your conversion can ignore it entirely. < 1350801304 264744 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's only there to unify the type argument of the HList with the us elsewhere. < 1350801315 423957 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i.e., in spirit, you want convert (Foldy p) = Foldy' (\_ -> p). < 1350801318 837011 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(But you'll find that won't work.) < 1350801367 745306 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That doesn't even compile. < 1350801373 817975 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Your paste. < 1350801390 623715 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess you need to import GHC.Prim or something. < 1350801395 38929 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, right. < 1350801399 311391 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yes, you need to import that for Constraint. < 1350801406 28317 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :GHC.Exts, rather. < 1350801511 730151 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: whoa, dude, convert (Foldy p) = Foldy' (\_ -> p) doesn't work. < 1350801540 307396 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yep. < 1350801545 665114 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's because type family. < 1350801551 579231 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think. < 1350801554 560559 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Can you think of a way to fix it? < 1350801577 60408 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Note that Foldy' (\_ -> unsafeCoerce p) does work, I think. It just refuses to unify for some reason. < 1350801632 624833 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Can you simplify this a bit? < 1350801641 307515 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I bet the whole HList thing isn't necessary. < 1350801644 446769 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Sure. < 1350801646 424027 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(It isn't.) < 1350801682 899388 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And even foo (Foldy p) = Foldy p doesn't type-check. < 1350801716 409345 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Right. < 1350801718 409672 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: http://sprunge.us/EFQX < 1350801724 600683 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Plus the relevant extensions.) < 1350801727 536802 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Then write Foo a -> Foo' a. < 1350801734 895998 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Note: I haven't tested that this has the same problem, but I'm virtually certain it does.) < 1350801751 997719 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Er. < 1350801758 435426 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: data Foo a = ... should just be data Foo = ... < 1350801761 611698 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Same for Foo' a = ... < 1350801763 865649 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You want Foo -> Foo'. < 1350801798 610888 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :can you recommend a haskell gui? < 1350801802 223645 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :ide < 1350801815 255341 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i use vim and emacs < 1350801819 965950 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :there's leksah if you really want an ide < 1350801824 749131 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but i don't, personally < 1350801931 268564 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :yea i installed leksha but i already _hate_ it < 1350801947 288292 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :okay < 1350801952 898619 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :notepad will do < 1350801959 988287 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: type family Hi a; data Foo = Foo (forall a. Hi a); conv (Foo x) = Foo x < 1350802074 16080 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: I take it that doesn't work? < 1350802077 237960 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: That doesn't really bother me though. < 1350802081 522588 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I know you can't just write it as identity. < 1350802086 106009 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: (And BTW I think that is intentional behaviour.) < 1350802105 226854 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: If that doesn't work, why do you expect your more complicated case to? < 1350802114 6822 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Because you have to do it differently. < 1350802115 353702 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't know how. < 1350802119 240168 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But I bet you can use the forall somehow. < 1350802470 739251 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :foo :: (forall a. Hi a) -> (forall b. Hi b) < 1350802475 79050 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Can you write that? < 1350802489 30457 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Can you? < 1350802501 550824 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe. < 1350802917 485528 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: "NB: `Hi' is a type function, and may not be injective" < 1350802921 717339 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What if you just use a data family instead? < 1350802950 699009 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: That would defeat the whole point. < 1350802958 670886 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The only reason I have a type family is so that it can be a type synonym family. < 1350803040 718933 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :hate the synonym not the syn < 1350803303 982234 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :GNU is my IDE < 1350803463 601607 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1350803473 555657 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :hi monqy :') < 1350803493 555884 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what s'up!! < 1350803550 786040 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :monqy: EVERYTHING < 1350804313 988677 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: What if you just write some instances? < 1350804510 164801 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Like what? < 1350804526 608348 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Any. < 1350804595 537278 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: What kind of instance? < 1350804608 800323 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :type instance FoldR blah < 1350804613 396044 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Presumably this family has instances? < 1350804659 984374 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Sure. < 1350804663 635566 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Adding an instance doesn't change anything. < 1350804668 780707 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Since I have them. < 1350805029 244389 :epicmonkey!~epicmonke@188.134.41.171 JOIN :#esoteric < 1350805990 943385 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :how would i just have these few lines of code executed everytime i start ghci?: < 1350805991 585543 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :data Vector4 a = Vector4 a a a a; let p1 = 0.0 0.0 0.0 0.0; < 1350806000 57249 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :sry < 1350806144 62874 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :fuck this can't be so complicated.. modules imports omg.. do i need all this shit? just want to exec this 2 lines.. nothing more. please help < 1350806191 741392 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :data Vector4 a = Vector4 a a a a; let p1 = Ve0.0 0.0 0.0 0.0; < 1350806201 636927 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :data Vector4 a = Vector4 a a a a; let p1 = Vector4 0.0 0.0 0.0 0.0; < 1350806224 798466 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :damnit sry.. the last version works. < 1350806268 797377 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :but howto run as a scipt/batch? < 1350806445 344684 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :@data Vector4 a = Vector4 a a a a; < 1350806445 464934 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Unknown command, try @list < 1350806456 454008 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :>data Vector4 a = Vector4 a a a a; < 1350807398 313786 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :#!/usr/bin/env runhaskell < 1350807782 739226 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :thx barts < 1350808955 794943 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1350809365 796893 :Nisstyre-laptop!~yours@oftn/member/Nisstyre QUIT :Ping timeout: 246 seconds < 1350809394 764495 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :yw < 1350809853 142671 :MoALTz!~no@212.183.128.225 JOIN :#esoteric < 1350810839 106878 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1350811014 598355 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Confucius say too much. -- Recent Chinese Proverb < 1350811035 755102 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :i like that zzo38 < 1350811043 30456 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote Confucius say too much. -- Recent Chinese Proverb < 1350811053 88999 :HackEgo!codu@codu.org PRIVMSG #esoteric :871) Confucius say too much. -- Recent Chinese Proverb < 1350811732 940391 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: Does Rust support dynamic loading? < 1350811943 589234 :zzo38!~zzo38@24-207-49-17.eastlink.ca QUIT :Remote host closed the connection < 1350811957 939965 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :why does #esoteric only talk about mainstream computer languages today < 1350811976 755141 :barts!~barts@p57AEAC99.dip.t-dialin.net PRIVMSG #esoteric :next up: agda < 1350812074 715798 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Ping timeout: 246 seconds < 1350812672 852878 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1350812826 656447 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :barts: you are welcome to supply discussion of esolangs < 1350812839 793921 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :failing that the channel is more people who like esolangs talking about random crap than actually a channel about esolangs < 1350812877 920359 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :sometimes the people don't even really like esolangs < 1350812893 423688 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Except in clear help channels usually there are just people having the same interestst < 1350812910 4074 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :but that does not mean they talk about what the name of the channel would suggest :) < 1350813077 463760 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :but to change the topic into a random direction < 1350813094 239156 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :what about an esolang only accepting a bunch of differential equations as programs? < 1350813175 419509 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :what about an esolang only accepting equations which are wrong . < 1350813216 674994 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what about an esolang < 1350813227 416916 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :what about an esolang where you are only allowed to work on monids < 1350813231 171849 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :*monoids < 1350813251 387689 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :essentially that means you only have one 'instruction' < 1350813259 248086 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you ruined the pattern mroman < 1350813261 596060 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :now you must die < 1350813271 369383 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :what about an esolang where you must die? < 1350813286 691584 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :hellang :) < 1350813600 806035 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :what about an esolang which is so esoteric it can't possibly exist. < 1350813846 117304 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what about < 1350814291 356979 :barts_!~barts@p4FD0F2B9.dip.t-dialin.net JOIN :#esoteric < 1350814344 144612 :nooga!~nooga@77-45-54-224.sta.asta-net.com.pl JOIN :#esoteric < 1350814348 565956 :nooga!~nooga@77-45-54-224.sta.asta-net.com.pl PRIVMSG #esoteric :https://github.com/smtlaissezfaire/bcompiler whaaa < 1350814509 319592 :barts!~barts@p57AEAC99.dip.t-dialin.net QUIT :Ping timeout: 276 seconds < 1350816173 827378 :carado!~user4539@78.250.231.234 JOIN :#esoteric < 1350816583 207156 :Jafet!~Jafet@unaffiliated/jafet QUIT :Quit: Leaving. < 1350816715 146321 :epicmonkey!~epicmonke@188.134.41.171 QUIT :Remote host closed the connection < 1350816737 725763 :epicmonkey!~epicmonke@188.134.41.171 JOIN :#esoteric < 1350816749 834942 :Jafet!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1350817339 838617 :Jafet!~Jafet@unaffiliated/jafet QUIT :Quit: Leaving. < 1350818086 675316 :ogrom!~del@143.122.191.90.dyn.estpak.ee JOIN :#esoteric < 1350818101 459174 :ogrom!~del@143.122.191.90.dyn.estpak.ee QUIT :Client Quit < 1350818275 168348 :nooga!~nooga@77-45-54-224.sta.asta-net.com.pl QUIT :Ping timeout: 260 seconds < 1350819160 975093 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Remote host closed the connection < 1350820235 156879 :nooga!~nooga@public-gprs412572.centertel.pl JOIN :#esoteric < 1350822027 141490 :nooga!~nooga@public-gprs412572.centertel.pl QUIT :Ping timeout: 260 seconds < 1350824274 657239 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net PRIVMSG #esoteric :@tell ion [hagb4rd.geometry.transformation.haskell] i've got some (very basic) work done now.. guess this would be a good point to start from: http://pastie.org/5093143 < 1350824275 14880 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1350824375 476373 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :> p = "np" < 1350824377 71250 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : : parse error on input `=' < 1350824382 963202 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :> let p = "np" in p < 1350824384 506304 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : "np" < 1350824401 782510 :carado!~user4539@78.250.231.234 QUIT :Ping timeout: 246 seconds < 1350824422 923037 :Jafet!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1350825139 989774 :nooga!~nooga@public-gprs410564.centertel.pl JOIN :#esoteric < 1350825152 781817 :carado!~user4539@78.250.231.234 JOIN :#esoteric < 1350825525 897831 :nooga_!~nooga@public-gprs413591.centertel.pl JOIN :#esoteric < 1350825695 13150 :nooga!~nooga@public-gprs410564.centertel.pl QUIT :Ping timeout: 246 seconds < 1350826150 832429 :nooga!~nooga@public-gprs408789.centertel.pl JOIN :#esoteric < 1350826314 872120 :nooga_!~nooga@public-gprs413591.centertel.pl QUIT :Ping timeout: 240 seconds < 1350826697 555142 :Frooxius!~Frooxius@cust-101.ktknet.cz JOIN :#esoteric < 1350826958 960128 :nooga_!~nooga@public-gprs412609.centertel.pl JOIN :#esoteric < 1350827147 681542 :nooga!~nooga@public-gprs408789.centertel.pl QUIT :Ping timeout: 252 seconds < 1350827907 978715 :hagb4rd!~perdito@koln-5d81ea1f.pool.mediaWays.net QUIT :Read error: Connection reset by peer < 1350828800 952137 :Vorpal!~Vorpal@unaffiliated/vorpal JOIN :#esoteric < 1350829580 389734 :hagb4rd!~perdito@koln-5d81f0e0.pool.mediaWays.net JOIN :#esoteric < 1350830550 430865 :nooga!~nooga@public-gprs673664.centertel.pl JOIN :#esoteric < 1350830714 881764 :nooga_!~nooga@public-gprs412609.centertel.pl QUIT :Ping timeout: 240 seconds < 1350830856 115055 :ogrom!~del@143.122.191.90.dyn.estpak.ee JOIN :#esoteric < 1350831004 684113 :nooga!~nooga@public-gprs673664.centertel.pl QUIT :Ping timeout: 246 seconds < 1350831036 812607 :nooga!~nooga@public-gprs673664.centertel.pl JOIN :#esoteric < 1350831728 445295 :nooga!~nooga@public-gprs673664.centertel.pl QUIT :Ping timeout: 255 seconds < 1350832548 19939 :ogrom!~del@143.122.191.90.dyn.estpak.ee QUIT :Quit: Left < 1350832635 559669 :AnotherTest!~tim@94-224-26-89.access.telenet.be JOIN :#esoteric < 1350832644 541938 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :hello < 1350832710 345136 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :hello < 1350832724 738711 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1350832737 54103 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :hello < 1350832747 995370 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :hello < 1350833012 234006 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :hello < 1350833063 201166 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hello < 1350833091 336712 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :hello < 1350833109 470371 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :I feel so welcome < 1350833115 615565 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :that's overwarming < 1350833146 357917 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :hey < 1350833147 527065 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :sorry we actually hate you < 1350833155 274792 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :just having a chorus of hellos and you happened to drop by < 1350833162 59075 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :now we will kill you < 1350833316 827024 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :oh, now I understand why that tinkerbell guy felt rejected < 1350833334 468986 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :he must have dropped by in the middle of a go out chorus, or something < 1350833383 890488 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :no that's just because we're all completer asses < 1350833454 465731 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :Well maybe the go out chorus was a consequence of that < 1350833900 693835 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :mroman: #include is working < 1350834315 757294 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :#include < 1350834536 841456 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :You don't need < > or " " though :p < 1350834706 576265 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :you're not using the normal C preprocessor? < 1350834846 227645 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :no, he's using a parallel version < 1350835045 777955 :atriq!~nathan@host-2-99-92-32.as13285.net JOIN :#esoteric < 1350835113 432992 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :kmc: This is for HELP < 1350835138 659517 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :that's an esolang? < 1350835141 756371 :atriq!~nathan@host-2-99-92-32.as13285.net PRIVMSG #esoteric :I think I might stop using Ubuntu < 1350835150 24504 :atriq!~nathan@host-2-99-92-32.as13285.net PRIVMSG #esoteric :BUT I DON'T KNOW WHAT TO SWITCH TO < 1350835154 451817 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :it's pretty easy to invoke the regular C preprocessor < 1350835164 101530 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :though it will make some assumptions, like removing C comments < 1350835170 303500 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :that might be unsuitable for some languages < 1350835188 512924 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :GHC Haskell uses CPP in some circumstances and it's kinda gross < 1350835285 17999 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Ping timeout: 248 seconds < 1350835319 794696 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1350835333 353476 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :kmc: No just a preprocessor for esolangs < 1350835358 232579 :atriq!~nathan@host-2-99-92-32.as13285.net QUIT :Quit: Leaving < 1350835374 909457 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :atriq: I switched to Debian some time ago. I find it better than ubuntu was when I stopped using it < 1350835380 340572 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :oh < 1350835390 121470 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :@tell atriq I switched to Debian some time ago. I find it better than ubuntu was when I stopped using it < 1350835390 224030 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1350835485 66650 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i've been happy with Debian since forever < 1350835578 38554 :atriq!~Taneb@host-2-99-92-32.as13285.net JOIN :#esoteric < 1350835726 33768 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric ::t () < 1350835726 203081 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :atriq: You have 1 new message. '/msg lambdabot @messages' to read it. < 1350835727 92919 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :() < 1350835748 213575 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :AnotherTest, okay, I'll keep Debian in mind < 1350835871 416710 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :Debian is maintained by competent, careful people < 1350835924 815231 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Does WINE work on Debian? (I'm guessing yes) < 1350835933 117687 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :they don't change everything every six months in order to chase some half-baked imitation of Apple products < 1350835936 82097 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :yes < 1350835945 519934 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :there's very little open-source Linux software that is distro-specific < 1350835952 12089 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :and yes Debian has packages for WINE < 1350835956 891882 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :In the Future will Steam work on Debian (I'm still guessing yes) < 1350835963 178361 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :beats me < 1350835981 164735 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i mean, someone will almost certainly figure out a way < 1350835984 571035 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :debian and ubuntu are pretty close < 1350835990 487252 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :they use the same package manager < 1350835996 983943 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :sometimes you can install ubuntu packages on debian as-is < 1350836027 157056 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Yes < 1350836064 213830 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :I'd rather say debian packes on ubuntu as-is < 1350836077 298089 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :Not sure if ubuntu has their own package managing system < 1350836096 321206 :AnotherTest!~tim@94-224-26-89.access.telenet.be PRIVMSG #esoteric :I think they still use debian packages < 1350836104 501049 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :that's not relevant to the question of whether steam will work on debian < 1350836111 842291 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Valve said that Steam on Linux is being released as a closed external beta some point in October, which is Valve time for around about Christmas < 1350836125 866830 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :yes, ubuntu uses .deb packages, installed with dpkg and apt and such < 1350836134 288357 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :ubuntu releases are distributed as apt repositories < 1350836145 411592 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :it is much the same infrastructure as debian < 1350836160 763426 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :but e.g. an ubuntu package might depend on a version of libc which doesn't exist in debian's repositories < 1350836170 302909 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :which is why it doesn't always work < 1350836201 466365 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :commercial linux software is often statically linked or bundled with its own libraries in order to avoid such problems < 1350836226 674686 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :even if not, you could set up an ubuntu chroot to run steam, it's not too hard < 1350836288 741725 :pikhq!~pikhq@75-163-203-72.clsp.qwest.net PRIVMSG #esoteric :Or manually unpack the .deb < 1350836305 899343 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :that won't get you the libc version you need < 1350836313 967711 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :or do you mean, unpack the ubuntu libc .deb < 1350836316 938099 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :and all the other dependencies < 1350836326 489375 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :and then wire them all up in a subdirectory < 1350836356 312153 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :you could do that, but setting up a proper ubuntu chroot is probably easier < 1350836364 170890 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :debian/ubuntu have good tools for creating and managing chroots < 1350836413 659701 :pikhq!~pikhq@75-163-203-72.clsp.qwest.net PRIVMSG #esoteric :kmc: In theory, the libc version should be ABI compatible, apt just doesn't know that. < 1350836472 490240 :pikhq!~pikhq@75-163-203-72.clsp.qwest.net PRIVMSG #esoteric :That is, if you just *unpack* Ubuntu packages on Debian, and manually make sure the dependencies are installed, it'll mostly work. < 1350836480 312218 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :yeah, perhaps < 1350836493 725821 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :glibc does break ABI compatibility from time to time though < 1350836499 117127 :pikhq!~pikhq@75-163-203-72.clsp.qwest.net PRIVMSG #esoteric :Some of the other libraries might have ABI issues though. < 1350836503 705816 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :but still, this probably works for current debian vs. current ubuntu < 1350836504 766473 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :yeah < 1350836826 218044 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :How easy is it to install Debian over Ubuntu? < 1350836836 854713 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :by "over" you mean "instead of"? < 1350836847 808271 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Yes-ish < 1350836850 697457 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Yes < 1350836862 430807 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :not much harder < 1350836894 351148 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :I mean, "over" as in "I've got Ubuntu now, and I want to go to Debian" < 1350836911 383871 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :can you back up the files you care about and do a clean reinstall? < 1350836938 233074 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :That is feasible < 1350837150 517776 :augur!~augur@208.58.5.87 QUIT :Remote host closed the connection < 1350837845 70582 :barts_!~barts@p4FD0F2B9.dip.t-dialin.net PRIVMSG #esoteric :hello < 1350837851 560192 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Hey < 1350837861 523492 :barts_!~barts@p4FD0F2B9.dip.t-dialin.net PRIVMSG #esoteric :morning < 1350837871 48931 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :@time barts_ < 1350837872 264074 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Local time for barts_ is Sun Oct 21 18:44:18 2012 < 1350837884 2794 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :It's not morning for either of us < 1350837996 239008 :barts_!~barts@p4FD0F2B9.dip.t-dialin.net PRIVMSG #esoteric :there is a script which you can run as root on any linux and it makes it into a debian < 1350838015 822583 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :@time atriq < 1350838016 755630 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Local time for atriq is Sun Oct 21 17:46:56 < 1350838030 293585 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :you're british! < 1350838035 638867 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Yes < 1350838037 32018 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Yes I am < 1350838044 128340 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :I thought this was already established < 1350838049 750054 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :`? hexham < 1350838054 477690 :HackEgo!codu@codu.org PRIVMSG #esoteric :Hexham is a European town. There are nine people in Hexham, and at least two of them are in this channel. Taneb looks after the ham. < 1350838057 367908 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :hmm, maybe < 1350838075 37513 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :But yes, I'm one of the thousands of people living in Hexham < 1350838111 487394 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :I'll come to your kingdom for new year's eve < 1350838140 589831 :barts_!~barts@p4FD0F2B9.dip.t-dialin.net PRIVMSG #esoteric :why would you do that < 1350838166 84182 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :To see the queen's speech? < 1350838167 623508 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :I dunno < 1350838182 519794 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :I think you can watch the queen's speech from outside the UK < 1350838194 987335 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :And I think it's on at Christmas, not New Years < 1350838258 999232 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :barts_ weeeeeeell < 1350838268 545335 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :because my last few new year's eves in france sucked < 1350838280 378758 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :because last yeat in london was greate < 1350838287 208468 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :http://www.reddit.com/r/ProgrammerHumor/comments/11u0rx/you_all_have_probably_already_seen_these_but/ < 1350838291 163874 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :oh and also because of a girl < 1350838293 72122 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I might be slightly easily amused < 1350838307 984023 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Arc_Koen, is this the girl mentioned on your user page? < 1350838321 792223 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :a candidate < 1350838324 785407 :carado!~user4539@78.250.231.234 QUIT :Ping timeout: 246 seconds < 1350838341 757392 :atriq!~Taneb@host-2-99-92-32.as13285.net PRIVMSG #esoteric :Don't you think restricting by gender is close-minded? < 1350838386 39658 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :well I'm guessing if that restriction turns out to be wrong my mind will blow out open < 1350838435 606591 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I just deleted a gigabyte's worth of recording of the Queen's Diamond Jubilee Concert of 2012. < 1350838454 557824 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :They sent it out in Finnish tellyvision. < 1350838463 631717 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't know about any yearly speeches, though. < 1350838565 654753 :MoALTz!~no@212.183.128.225 QUIT :Quit: Leaving < 1350839017 800103 :augur!~augur@129-2-129-33.wireless.umd.edu JOIN :#esoteric < 1350839082 772500 :carado!~user4539@78.250.231.234 JOIN :#esoteric < 1350840364 95577 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Wait. There's a patent on John Titor's time travel machine? < 1350840379 965720 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Hmm, just the theory < 1350840449 339384 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :That's still... erm < 1350840506 439802 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Can I patent a process for making a turing machine that solves the halting problem? < 1350840515 100877 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Maybe I could get a patent on a way to make 1+1=3 < 1350840563 93791 :atriq!~Taneb@host-2-99-92-32.as13285.net QUIT :Ping timeout: 246 seconds < 1350840754 982745 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :there are many patents on impossible things < 1350840761 919555 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :there are patents on algorithms to compress any file by at least one byte < 1350840856 557575 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :o.O < 1350840913 892201 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I have to know what those claim about compressing the 0-byte file < 1350840922 41525 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Actually, I'm curious to see one in general < 1350840946 848250 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :(And yes, I know compressing the 0-byte file isn't the biggest problem. Although I don't know if it might be connected) < 1350840967 646742 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Removing a byte from a 0-byte file *is* not exactly easy. < 1350840968 165598 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pigeonhole principle < 1350840985 138404 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :But it's not like patents need to make sense. < 1350841033 16934 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :yeah, i'm not sure it's actually a problem that people can patent impossible things < 1350841039 367995 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :http://gailly.net/05533051.html < 1350841071 965535 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, it's just one bit. < 1350841077 110085 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(If that's the same.) < 1350841100 903182 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There was a Finnish nonsense compression thing around few years back. < 1350841106 86081 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Something to do with repeated compression. < 1350841118 331666 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There were lots of arguments on the tubes, as usual. < 1350841134 271209 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :"Of course, this does not take into account any overhead registers or other "house-keeping" type information which must be tracked. However such overhead tends to be negligible when processing the large quantities of data typically encountered in data compression applications." < 1350841134 776605 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think they also claimed something about compressing every file. < 1350841135 548636 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric ::D < 1350841153 338375 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Presumably it's a special case of something that is a problem, though. < 1350841173 146620 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :also i like the old DOS "compression" utilities where "compress" is actually just delete, and "decompress" recovers your file from the free blocks on the hard drive < 1350841197 388704 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :shachaf: the patent system? < 1350841214 783522 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, that people can patent things that patent examiners don't know whether are possible or not. < 1350841229 787790 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :is that actually their job, though? < 1350841285 20426 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i might prefer a system where the government's role in the patent system is minimized and instead you incentivize private companies to take down bad patents < 1350841333 274625 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Bleh, I can't recall the name of the company involved. As I recall, they were doing something completely different, and then their resident genius programmer just figured out the ultimate compression algorithm. < 1350841338 203099 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Well, it's easy to make a compression algorithm that in the worse case expands the data by 1 bit. < 1350841378 925124 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sgeo: That's nothing. I can make a compression algorithm that in the *best* case expands the data by 1 bit. < 1350841401 725496 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :ACTION invests in shachaf's company < 1350841420 655119 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :What do you call an algorithm that takes an algorithm as input? < 1350841432 825220 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :an algorithm < 1350841451 184231 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :unless you are guido van rossum then you call it "oh god what is that get it away from me" < 1350841455 655669 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, stop being so racist, Sgeo. < 1350841468 189144 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Maybe it was a setup for a joke, though? < 1350841473 366791 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :nope < 1350841540 350381 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Aw, the company's website has disappeared. < 1350841609 207242 :elliott!~elliott@unaffiliated/elliott QUIT :Ping timeout: 272 seconds < 1350841696 110848 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Anyway, the idea was that you can just rerun it over and over again to compress everything to the "theoretical limits". < 1350841738 268161 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :And the company was an ad agency "for reals", they just happened across the ultimate secret. < 1350842561 233482 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :http://uncyclopedia.wikia.com/wiki/Haskell <- the f*? < 1350842699 383801 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :kmc: Compress is delete? Now that's lossy compression < 1350842944 797254 :carado!~user4539@78.250.231.234 QUIT :Ping timeout: 246 seconds < 1350843088 997317 :AnotherTest!~tim@94-224-26-89.access.telenet.be QUIT :Quit: Leaving. < 1350844389 984349 :hagb4rd!~perdito@koln-5d81f0e0.pool.mediaWays.net NICK :hagb4rd|afk < 1350844391 700461 :hagb4rd|afk!~perdito@koln-5d81f0e0.pool.mediaWays.net PRIVMSG #esoteric :>retro music tip .. beautiful deep black female voice.. https://docs.google.com/file/d/0BzorK_eWYM0-bXJ1b3hWcmJxOTA/edit < 1350844577 350352 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :"Scala has a lot of upside because it is extensible and Clojure has a lot of upside because it is an easy language to learn." < 1350844578 782493 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :what. < 1350844604 175952 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Well, I mean, I imagine Clojure being easier to learn than Scala, but um, how is Scala more extensible? < 1350845384 853004 :MoALTz!~no@212.183.140.48 JOIN :#esoteric < 1350845696 905402 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :Sgeo: the smaller it is, the more you can extend it! < 1350845836 772782 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :What does extensible even mean for a language? < 1350845840 868794 :mroman!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :defmacro stuff? < 1350845924 417375 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :it means whatever you need it to mean in order to prove the point you're making < 1350845931 394438 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :like every other adjective applied to programming languages < 1350845990 752633 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :can "programming" be considered an adjective? < 1350846056 109092 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Well, there are programming books, so I suppose so < 1350846083 575466 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Also programming languages < 1350846090 512056 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :The programming language known as English < 1350846141 157870 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I'm sure it was linked recently, http://www.osmosian.com/ < 1350846283 739807 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net QUIT :Ping timeout: 246 seconds < 1350846330 885321 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Sgeo: The problem is that there is no compiler for English < 1350846357 373597 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Isn't there an implementation? Not sure what it is though < 1350846403 186829 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :But it's not a proper one. Won't work for all imputs < 1350846462 209415 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :natural language would be a *terrible* programming language < 1350846476 281626 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :English is terrible for specifying precise instructions < 1350846478 650049 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Agreed < 1350846481 609477 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION meant of Osmosian Order's language < 1350846492 794093 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Maybe you could use Lojban < 1350846496 87887 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :But not English < 1350846742 856872 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1350846915 209618 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :honestly did any of you learn lojban? < 1350846975 590361 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :it sounded very interesting, but at the same time learning a language that no one actually speaks seems kind of a waste when there are so many useful languages < 1350847057 740908 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I've looked at it before < 1350847075 229386 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :There are lojban IRC channels < 1350848315 313522 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :so I've made this emmental program < 1350848317 890971 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :almost < 1350848393 773276 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :it's very "destructive" as it redefines all of char 3-255 to mean "subtract 3 and try again" and char 0 to mean "output '0'", char 1 to mean "outout '1'", char 2 to mean "output '2'" < 1350848417 16174 :augur_!~augur@129-2-129-33.wireless.umd.edu JOIN :#esoteric < 1350848422 975917 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :problem is, once you've defined everything like that, you cannot actually begin the last "loop" of -3 decrements < 1350848442 148232 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :because you have no char left to be the triggering instruction! < 1350848497 880371 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :so I only redefined chars 3-254, and before doing so, I defined char 255 to mean "redefine yourself to mean the same as the others, then take a char from input, then execute the char taken from input" < 1350848516 798160 :augur!~augur@129-2-129-33.wireless.umd.edu QUIT :Ping timeout: 252 seconds < 1350848536 699698 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :so once I've redefined everything else, I can still use char 255 to begin < 1350848542 302479 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :except < 1350848550 882875 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :I DON'T HAVE A CHAR 255 ON MY KEYBOARD < 1350848591 398708 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION thinks its neat that Clojure will yell at you for at least one sort of attempted unhygienic macro < 1350848595 7438 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :http://ideone.com/PgiIQd < 1350848656 625758 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :hmm, the compilers I use most often have the habit of halting when there are too many inconsistencies < 1350848708 286501 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :but this is ridiculous: I have to substitute a printable char for char 255 < 1350848749 119938 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :and printable char are in the middle of all that, so I can't make a pseudo-for loop "push chars 4 to 254 on the stack" < 1350848995 384016 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :`chr 70 < 1350848995 521963 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :oh wait that's EgoBot < 1350848998 450877 :HackEgo!codu@codu.org PRIVMSG #esoteric :​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: chr: not found < 1350849109 954663 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Arc_Koen: I've studied Lojban some, but I stopped... over a year ago, I think. < 1350849111 829813 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :oh wait I could be clever < 1350849173 227447 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :tswett: Lojban does sound very attractive but seriously didn't you think learning a language that might connect you with your neighbours would be better? < 1350849195 967991 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Yes. < 1350849207 270781 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Above all, Lojban is an experiment. < 1350849224 220018 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :(though I realize that's a pretty odd consideration to have in the channel for esoteric programming languages) < 1350849756 432148 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :it would be interesting to see what lojban becomes if it had some actual native speakers from birth < 1350849764 766357 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :i bet a lot of the logical purity goes right out the window < 1350850181 724988 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :this is one of the reason I'd like to be immortal < 1350850294 609616 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :maybe after so many hundreds of years, and raising many many children, it eventually becomes enough of a routine thing that you start spicing it up with experiments of this kind < 1350850353 416508 :zzo38!~zzo38@24-207-49-17.eastlink.ca JOIN :#esoteric < 1350850438 486518 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :ok, so, the program works properly when input is congruent with either 0 ro 2 modulo 3 < 1350850457 36125 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :but when it's congruent with 1 it complains the stack is empty < 1350850640 59800 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :a logical conclusion would be that there's a difference between the definition of 1 and the definitions of 0 and 2 < 1350850660 718801 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :; #35#52#56#46 #! < 1350850660 904127 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :; #35#52#57#46 #1! < 1350850661 238989 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :; #35#53#48#46 #2! < 1350850677 24769 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :they seem close enough to me < 1350850700 768412 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :ohhhhhh or there is a problem with the definition of 4 < 1350850705 128279 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net PRIVMSG #esoteric :of course < 1350851616 547886 :hagb4rd|afk!~perdito@koln-5d81f0e0.pool.mediaWays.net QUIT :Quit: hagb4rd|afk < 1350851803 20742 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net JOIN :#esoteric < 1350853217 160935 :ion!ion@heh.fi PRIVMSG #esoteric :@tell hagb4rd Some suggestions wrt. the code: 0) The semicolons are redundant, i’d remove them. 1) Run hlint against the code, it will give some good suggestions. 2) After seeing how that implementation will be nicer to read with hlint’s suggestions, switch from record accessors to pattern matching. That will make it even nicer. < 1350853217 348323 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1350853442 402084 :ion!ion@heh.fi PRIVMSG #esoteric :@tell hagb4rd You can use “data Vector4 … = … deriving (Eq, Read, Show)” to get default Show etc. instances. < 1350853442 570373 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1350853591 924411 :augur_!~augur@129-2-129-33.wireless.umd.edu QUIT :Remote host closed the connection < 1350854011 796365 :ion!ion@heh.fi PRIVMSG #esoteric :@tell hagb4rd Also, when you feel you’ve learned everything you can from writing your own vector and matrix math implementation, i’d suggest switching to HMatrix or REPA. They are mature, optimized libraries. < 1350854012 136373 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1350854302 351051 :Nisstyre-laptop!~yours@oftn/member/Nisstyre JOIN :#esoteric < 1350854831 879095 :augur!~augur@208.58.5.87 JOIN :#esoteric < 1350855138 667053 :nortti!nortti@dsl-hkibrasgw3-ff25c000-52.dhcp.inet.fi QUIT :Ping timeout: 252 seconds < 1350855179 210565 :aloril_!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi QUIT :Ping timeout: 260 seconds < 1350855250 897988 :nortti!~juhani@dsl-hkibrasgw3-ff25c000-52.dhcp.inet.fi JOIN :#esoteric < 1350855710 265084 :aloril_!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi JOIN :#esoteric < 1350856830 73300 :kmc!~keegan@ec2-23-23-43-158.compute-1.amazonaws.com PRIVMSG #esoteric :it's kind of terrifying when your javascript code grows from 10 lines in a