< 1319414406 593349 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :anyway if you're going to use TH at least make it only use one quasiquoter for the entire list < 1319414409 381652 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and put dividers < 1319414418 370570 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :" |], [proposal|" is hideous :p < 1319414481 995331 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :true < 1319414515 669250 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ADDITIONALLY you forgot type sigs on signature, proposalPool, allProposals, ok I think I'm out of criticism < 1319414530 767013 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :elliott: They don't need type sigs < 1319414600 995017 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :coppro: all top-level bindings should have type sigs < 1319414601 897547 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :must, even < 1319414627 165686 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think hlint even errors out if you don't < 1319414770 986158 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :nope < 1319414853 312292 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it should < 1319414872 904456 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :go into #haskell and ask if it's ok to leave a typesig off a top level declaration :-) < 1319415526 562328 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I don't like quasiquotation much, because of if you need |] inside of the text; it should define your own escapes and stuff by macros, instead! So that you have have text, nest, non nesting, et < 1319415582 241195 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :coppro: it's a good idea, anyhow. it keeps type errors local and thus more understandable. < 1319415597 388919 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah < 1319415635 539676 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But TH is good for some purposes, in general. But there are some restrictions preventing it being more useful. < 1319415676 176556 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Now I implemented classical logic in Haskell, is it possible to make something like TNT (Typographical Number Theory) as well? < 1319415893 805911 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :zzo38: yes, it's called church numerals < 1319415970 376484 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I know what church numerals are; how will that help? < 1319415996 218701 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :elliott: fine, type signatures implemented < 1319416004 178355 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :zzo38: yes, the lack of escaping for |] is annoying < 1319416042 709964 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :coppro: Yes. If it could have macros that you can run your own codes inside of the lexer, then you could fix that. < 1319416076 99626 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :zzo38: apparently there is an escape actually < 1319416085 25976 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :both | and ] are escapable < 1319416091 101393 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :how? < 1319416097 632731 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :no wait < 1319416101 205535 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :only \ and |] < 1319416103 216583 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :that got changed < 1319416119 524601 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :\|] gives literal |] < 1319416123 788725 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :\\ gives literal \ < 1319416128 196119 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :everything else is unchanged < 1319416133 303038 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Heredocs would be another way to make it, I suppose. < 1319416238 7248 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Another idea I have to make in Haskell, is polymorphic polymorphic functions; because, for example, join either :: (a -> c) -> Either a a -> c which mean they must be the same "a" type, but if you want to make a function (not necessarily this one) that can take a polymorphic input and use it in two ways < 1319416262 418922 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :hmm, the \\ doesn't seem to work quite right < 1319416268 40917 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :One way could be macros < 1319416278 207740 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :|] does though < 1319416338 55408 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :so the only thing you can't really do is trailing \ < 1319416341 951209 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It should have quasiquotation heredocs, for example, it could have that if it starts with [abc:xyz| then you must end with |xyz] and so on. < 1319416358 379242 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :but good quasiquoters ignore leading and trailing whitespace anyway < 1319416361 316048 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :zzo38: yeah, that's an option < 1319416618 319240 :tiffany!~kawaii@fl-76-3-17-113.dhcp.embarqhsd.net QUIT :Quit: Leaving < 1319416661 213277 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :There is a way to make an abuse of notation like $(5) by having instance Num (Q Type) or instance Num (Q Exp) or whatever else < 1319416689 256894 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :that's awesome < 1319416917 690081 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hmph < 1319416922 706579 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think I might need to use a mutable vector < 1319417943 312588 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :an evolving mosquito < 1319418103 103998 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :oh, that's funny < 1319418569 71422 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: is it possible to typeclass overload values that result from a quasi-quotation? I'd think so. < 1319418658 174365 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is there a way to make a function with polymorphic inputs that remain polymorphic inside of the definition? For example, if I have a function either2 f x = either f f x and then I have either2 fromEnum x if x :: Either Int Integer then to make a function that can have polymorphic inputs to handle it. < 1319418886 747079 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: Rank2Types or RankNTypes extension (the latter for more complicated types). any function with such arguments must have a type signature using the forall syntax. < 1319418892 214595 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t runST < 1319418893 128527 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (forall s. ST s a) -> a < 1319418900 674878 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :like that one < 1319418958 833558 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :What would it be for the "either2" example, if I do not want to specify the class in the type signature for either2 because it can use any class? < 1319418994 701942 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ユ I wonder how this got into the keys for my length histogram. < 1319419091 562138 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: oh. i don't think you can avoid specifying the class, although _maybe_ the new ConstraintKinds extension in the ghc head (iirc) could help, i doubt it though although i'm not exactly sure how it works < 1319419188 213083 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :but _with_ the class it would be either2 :: forall a b. (Enum a, Enum b) => (forall c. Enum c => c -> d) -> Either a b -> d , i think < 1319419375 948017 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :with constrain kinds i think it would be either2 :: forall a b c. (c a, c b) => (forall d. c d => d -> e) -> Either a b -> e < 1319419396 400353 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :but i'm not sure (and i doubt) that it can _infer_ that constraint < 1319419399 436943 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*constraint < 1319419480 286797 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :which means i guess you might be able to use it if lucky, but might need to use a type signature even at the use site < 1319419523 809564 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(mind you, all this is based on my intuition of how the ConstrainKinds extension would work, since i've never tried it or even a ghc which has it) < 1319419533 786778 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*ConstraintKinds < 1319419536 216362 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :`run perl -e 'print $0' < 1319419554 738988 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :`run perl -e 'print @ARGV' < 1319419556 791229 :HackEgo!foobar@codu.org PRIVMSG #esoteric :No output. < 1319419737 430032 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net JOIN :#esoteric < 1319419781 661929 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :One idea I have for extension, is proof-notation extension that can make anonymous classes and special constraint and everything like that, and then specifying as follows: either2 = proof { a <- id; b, c = _; a -> either b c; } < 1319419810 423289 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Someone implement it into GHC already < 1319419910 421676 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :`run perl -e 'use GetOpt::Long; @ARGV == ("--test", "a=b", "b=c"); GetOptions("test=s%" => \$h); print %$h;' < 1319419912 290117 :HackEgo!foobar@codu.org PRIVMSG #esoteric :Can't locate GetOpt/Long.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at -e line 1. \ BEGIN failed--compilation aborted at -e line 1. < 1319419960 938401 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is what I wrote sense to you? Or, did I make some kind of mistake? < 1319420066 392007 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Another idea I have, is make each type implicitly belong to a class for only that type. < 1319420222 33549 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :hey friends..i love this track :') need to share it ;) < 1319420223 730552 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :http://www.youtube.com/watch?v=m25cP-cX0MA&fmt=18 < 1319420255 83276 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :do you like minimal music? this one is special < 1319420265 745655 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :warm..flashing < 1319420269 391722 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric ::D < 1319420279 224154 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :fuck im gettin old < 1319420717 142011 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :me too < 1319420741 350123 :ive!~nn@189.179.245.35 JOIN :#esoteric < 1319420781 103809 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :i like maximal music < 1319420810 326253 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :"death makes angels of us all, and gives us wings where we had shoulders, smooth as ravens claws" < 1319420821 609187 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :-american prayer, j.d.morrison < 1319420822 367495 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :deep. < 1319420832 461705 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :elliott! < 1319420835 473563 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh < 1319420837 292961 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :hi < 1319420900 732211 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :im glad you like it < 1319421022 633390 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :"" < 1319421026 434623 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :-me < 1319421063 249679 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"" < 1319421064 515417 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-oklopol < 1319421099 436229 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :q("") . qq(\n-me) < 1319421101 729953 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :-oklopol < 1319421124 973858 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :need some sophisticated esoteric lambda expressions to tune out again :> < 1319421136 758758 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :oh i need no tuning < 1319421142 675278 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :what i need is to go to work < 1319421142 747580 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :i had some < 1319421147 118733 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :oh < 1319421161 429539 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :you mean like vocal chord surgery? < 1319421174 297523 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :q("") . qq(\n-oklopol\n-elliot) < 1319421178 705781 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :-me < 1319421191 971469 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/t/tt/ < 1319421279 110153 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :interestingly enough, qq in WoW slang is a verb that means "to annoying bitch about something trivial" < 1319421305 934939 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it is also, apparently, an emoticon for a crying face. a very horrible one. this is where its verb usage originates. < 1319421309 761504 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :"to annoying bitch" is a pretty cool verb < 1319421318 472952 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :+ly :P < 1319421321 305631 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :stupid adverbs < 1319421337 517423 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :"so this one day i was cool guying at a bar" < 1319421338 43828 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :adjective < 1319421341 755974 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :i'm starting to like this < 1319421369 408184 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :hagb4rd: a stupid adverb is one that forgets to take its ly with it when it leaves for work in the morning < 1319421410 995312 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :poor oklopol < 1319421422 477861 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :i'm not poor < 1319421428 567889 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :k..so hf < 1319421433 840123 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :whatever < 1319421455 947592 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :not my time < 1319421462 536201 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :were you referring to the fact i'm leaving for work? are you implying i'm an adverb or was that just a very late reply? < 1319421493 28900 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :yep..the work thing < 1319421522 463521 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :i would make a decent adverb < 1319421531 996029 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :well oklopol decent. < 1319421536 919620 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :and that's pretty fucking decent < 1319421542 765843 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :bye < 1319421564 645040 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net PRIVMSG #esoteric :cu < 1319422168 280945 :TeruFSX2!~quassel@71-210-153-125.mpls.qwest.net JOIN :#esoteric < 1319422583 222584 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION IS THE BEST < 1319422591 22063 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION IS THE BEST CONJUNCTION < 1319422644 900555 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1319422649 247446 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :huh, CakeProphet is not a conjunction < 1319422682 377645 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think you are silly, CakeProphet it totally is a conjunction. < 1319423100 345678 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :hmm, it's way too late now < 1319423154 911989 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I should be up in about 3h, I think < 1319423966 494935 :TeruFSX2!~quassel@71-210-153-125.mpls.qwest.net QUIT :Ping timeout: 244 seconds < 1319424001 343647 :TeruFSX2!~quassel@71-210-153-125.mpls.qwest.net JOIN :#esoteric < 1319425391 645445 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Read error: Connection reset by peer < 1319425432 469966 :sebbu!~sebbu@ADijon-152-1-65-69.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1319425432 542387 :sebbu!~sebbu@ADijon-152-1-65-69.w83-194.abo.wanadoo.fr QUIT :Changing host < 1319425432 542523 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1319426637 466597 :Nisstyre!~yours@infocalypse-net.info QUIT :Ping timeout: 240 seconds < 1319426704 586579 :Nisstyre!~yours@infocalypse-net.info JOIN :#esoteric < 1319429063 545209 :DH____!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1319429461 786493 :iamcal!u1110@gateway/web/irccloud.com/x-gzvdxxixzbbachht QUIT :Read error: Operation timed out < 1319430058 635672 :iamcal!u1110@gateway/web/irccloud.com/x-kzcubxefhaiqmbdn JOIN :#esoteric < 1319430098 750433 :TeruFSX2!~quassel@71-210-153-125.mpls.qwest.net QUIT :Remote host closed the connection < 1319430734 86198 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Good night < 1319433651 923646 :MDude!~fyrc@c-174-55-44-190.hsd1.pa.comcast.net NICK :MSleep < 1319433689 460535 :Jafet!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1319434486 710962 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: What the heck is this genfd stuff in mudem < 1319434499 354842 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Just fd support? < 1319434827 490331 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Also, -n is still in the readme :) < 1319436215 579528 :Jafet!~Jafet@unaffiliated/jafet QUIT :Ping timeout: 265 seconds < 1319436428 6811 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 JOIN :#esoteric < 1319436533 527598 :Jafet!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1319436860 638922 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1319437319 205611 :pikhq_!~pikhq@71-219-233-157.clsp.qwest.net JOIN :#esoteric < 1319437328 608002 :pikhq!~pikhq@71-219-216-147.clsp.qwest.net QUIT :Ping timeout: 258 seconds < 1319437928 322981 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Does anyone know a standard mechanism to run a command as if the time were different? < 1319438035 53770 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://www.code-wizards.com/projects/libfaketime/ ;; oh god, how retro. < 1319438035 327137 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :familyradio has no explanation < 1319438038 598815 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :That's broing < 1319438041 120081 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :boring < 1319438080 455887 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Thankfully it's in debian. < 1319438121 32736 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, faketime timestamp ... < 1319438122 733019 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :I don't mean libfaketime is boring < 1319438129 59554 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :s/oh/ok/ < 1319438141 260435 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :Harold Camping's lack of anything recently is boring < 1319438604 113405 :ive!~nn@189.179.245.35 QUIT :Quit: leaving < 1319439138 237528 :Ngevd!~Taneb@2.99.90.255 JOIN :#esoteric < 1319440007 646396 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :Hello! < 1319440645 545582 :derrik!~xix@143.122.191.90.dyn.estpak.ee JOIN :#esoteric < 1319442144 802664 :Jafet!~Jafet@unaffiliated/jafet QUIT :Quit: Leaving. < 1319442363 15808 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 256 seconds < 1319442416 842476 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote clearly darth needs something gray and big and proving the uncountability of the reals < 1319442423 32789 :HackEgo!foobar@codu.org PRIVMSG #esoteric :691) clearly darth needs something gray and big and proving the uncountability of the reals < 1319442478 421674 :CakeProphet!~eris@h178.53.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1319442478 607303 :CakeProphet!~eris@h178.53.18.98.dynamic.ip.windstream.net QUIT :Changing host < 1319442478 607568 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1319442837 228948 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1319442939 648257 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :Today's XKCD is a bit weird < 1319442941 734442 :augur_!~augur@208.58.5.87 JOIN :#esoteric < 1319442946 451293 :augur!~augur@208.58.5.87 QUIT :Ping timeout: 240 seconds < 1319443277 820641 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 252 seconds < 1319443302 685040 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1319443315 585333 :augur_!~augur@208.58.5.87 NICK :augur < 1319443327 809197 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :coppro: You think you're evil? I just came up with this: newtype SupplyT s m a = SupplyT (StateT (SupplyT s m s) m a) < 1319444015 36041 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :elliott: What is that? < 1319444092 125388 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :zzo38: It's a generalised form of the supply monad, which usually looks like StateT [s] m a < 1319444099 562655 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :where supply = do { (x:xs) <- get; put xs; return x } < 1319444102 718092 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but mine is more general :p < 1319444111 642258 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :e.g. you can supply a computation with the standard IO random number generator < 1319444113 942392 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or prompting the user < 1319444115 530662 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or reading from state < 1319444116 208645 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or ... < 1319444116 949863 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :OK < 1319444165 986761 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :http://www.haskell.org/haskellwiki/New_monads/MonadSupply < 1319444189 147697 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo|web: Yes, that's what started this off. < 1319444205 517895 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :byorgey went to put it on Hackage, then I totally improved on it. :p < 1319444597 854472 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :Is it ok to put packages that require an opaque .dll or .so from somewhere on Hackage? < 1319444600 993196 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I prefer the variant of put (and modify) returning old value, such as like this: supply = head <$> modify tail; < 1319444650 253238 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :In addition, defining put in that way in my own codes I found it very easily to implement and reasonable to me. < 1319444682 61286 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If it was like that, would that work? I think so. < 1319444788 822924 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :people who talk about other people compensating for something are obviously compensating for something. < 1319444795 972295 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...oh my, I just included myself, didn't I? < 1319444869 792194 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :CakeProphet: I suppose so, isn't it? Or maybe it means you talk about talking about... < 1319444896 85537 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :He does both < 1319444905 82096 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :OK. < 1319444948 916313 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :fortunately < 1319444959 946569 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in CakeProphet logic, all logical propositions begin with an implicit "if false, " < 1319444969 375903 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so everything is okay. < 1319444978 385525 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I can go compensate for other things. like overcompensating. < 1319444993 60122 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Why doesn't the standard "get" for state monads return the old value, anyways? < 1319445017 916112 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t get < 1319445020 144186 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) s. (MonadState s m) => m s < 1319445022 586420 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which old value? < 1319445029 188806 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Sorry, I mean "put" < 1319445032 476555 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Not "get" < 1319445033 497284 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah < 1319445055 24613 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that would be nice I suppose < 1319445056 175347 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t put < 1319445057 653928 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall s (m :: * -> *). (MonadState s m) => s -> m () < 1319445063 255462 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It is simple to implement: flip (,) < 1319445089 642313 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :getAndPut new = do { old <- get; put new; return old } < 1319445097 996295 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :^^probably beginner style cod < 1319445099 448834 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :coe < 1319445100 260004 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :code < 1319445140 625733 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@undo getAndPut new = do { old <- get; put new; return old } < 1319445141 516286 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :getAndPut new = get >>= \ old -> put new >> return old < 1319445153 408778 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@@ @pl @undo getAndPut new = do { old <- get; put new; return old } < 1319445154 165226 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : getAndPut = (get >>=) . (. return) . (>>) . put < 1319445159 899920 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :The standard way is slightly more complicated to implement, I think. < 1319445177 913587 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :What's @@? < 1319445184 528130 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :getAndPut new = get <* put new < 1319445193 203912 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :like command compositions and interpolation kind of. < 1319445198 914856 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :I still have no idea wht <* is < 1319445219 150119 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It is used for Applicative (all monads can (and should) be made applicative too) < 1319445247 301906 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Whereas *> is like >> and <* is the same but using the first result instead of the second one < 1319445275 510043 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Just 2 <* Just 3 < 1319445277 359492 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 2 < 1319445280 289230 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Just 2 <* Nothing < 1319445281 740235 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Nothing < 1319445282 479509 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yep. < 1319445291 971229 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric ::t (<*) < 1319445293 146734 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f a < 1319445294 713723 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :The <* operation is very useful with Parsec, in my experience. < 1319445309 67026 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :> Nothing <* Just 2 < 1319445310 447168 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Nothing < 1319445341 819445 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :With the Maybe monad there is probably no reason to use <* though < 1319445378 521134 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Sgeo|web: you can think of <* for monads being a generalization of exactly what you wrote. < 1319445439 545748 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] <* [4,5,6] < 1319445440 921664 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,1,1,2,2,2,3,3,3] < 1319445448 547589 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] <* [4,5,6,7] < 1319445449 964918 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,1,1,1,2,2,2,2,3,3,3,3] < 1319446067 140165 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Unwrapped and without transformers, my versions would be: get = join (,); put = flip (,); modify = ap (,); But of course you have to wrap them and allow transformers, so it would not be exactly like that. < 1319446130 292332 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :O, now I just noticed, all three are similar! Only one function name, is different but all are (,) < 1319446517 182175 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric ::t join < 1319446518 228709 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a. (Monad m) => m (m a) -> m a < 1319446664 698558 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It is the (e ->) monad that is being used with join and ap < 1319446677 607889 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :So the ap here is the same as the S combinator < 1319446818 93062 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :For the (e ->) monad the definitions are (actually, as I figured out on paper): return = const; fmap = (.); join f x = f x x; < 1319447367 447318 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :ap also appears in zip`ap`tail, the aztec god of list manipulation or whatever they call it in #haskell < 1319447379 697224 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: (zip <*> tail) is nicer obvs < 1319447395 409034 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :yes, but it lacks the glottal stops < 1319448064 260970 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://a1.sphotos.ak.fbcdn.net/hphotos-ak-snc6/168486_186959134658608_100000335695588_503135_7385896_n.jpg < 1319448115 369785 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uploader description: It's the truth because it is not a lie. < 1319448933 909470 :DH____!~DH____@unaffiliated/dh----/x-6288474 QUIT :Ping timeout: 240 seconds < 1319449010 251213 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you guys < 1319449012 697089 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what if < 1319449019 249952 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :greater than is greater than lesser than. < 1319449032 72516 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :(>) > (<) < 1319449034 516223 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : x86 and perhaps some other machine languages are the only completely formalized languages that I know of. < 1319449038 918792 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I like the part where this guy is totally delusional. < 1319449047 398656 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also (<) < (>) < 1319449050 706329 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: lol what. < 1319449063 308913 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes that is a good part. < 1319449111 14534 :Ngevd!~Taneb@2.99.90.255 QUIT :Quit: Goodbye < 1319449157 676662 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :gwlp pRIWl OESWE ON DUNXIONA? < 1319449192 213568 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you get mad cred if you can decode what that was supposed to say. < 1319449239 896750 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :is it "gwlp pRIWl OESWE ON DUNXIONA?" < 1319449260 331785 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it is, but that implies that if a implies b, then a implies b < 1319449263 268347 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which would also mean that < 1319449275 172890 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a implies b is always true, or a implies b is always false. < 1319449277 852324 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :we can't have any of that. < 1319449386 733818 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I guess the world will never know < 1319449411 476507 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what I actually meant to say, but was too sleep and almost asleep while typing and not sleep to find it out. < 1319449422 964752 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so now I'll llsleep < 1319449428 145460 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :goodnihiy < 1319449443 350228 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :I don't want to be that tired when EoA5 comes out :( < 1319450151 98349 :derdon!~derdon@pD9E1C2F0.dip.t-dialin.net JOIN :#esoteric < 1319450908 271886 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319450933 113295 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I'm really tired, because a wasp woke me up at 3am < 1319450946 874274 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not quite sure how it got into my room; but those things buzz awfully loudly while you're trying to sleep < 1319450982 563607 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :about an hour later, I'd eventually managed to get it outside when it crawled into a student copy of Maple; I managed to hold it out of the window so that it was outside when it crawled back out again < 1319450992 891812 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :thakn god for maple < 1319451020 334251 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :http://www.reddit.com/r/funny/comments/lms8q/sir_you_are_doing_it_right/c2tyxnf < 1319451233 838595 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I've never actually installed it < 1319451245 995238 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I wonder if the license activation server for Maple 6 is still around? < 1319451250 980258 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or if it even runs on modern OSes? < 1319451265 933113 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ACTION mentally ponders whether it'd be more likely to run on Windows 7 or WINE < 1319451445 829046 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Connection reset by peer < 1319451518 188880 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319451868 584062 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Here, you get to be the latest victim of my wonderful monad: newtype Supply s a = Supply (State (Supply s a) a) < 1319451891 216001 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wait what? < 1319451908 69596 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that doesn't even seem to kind correctly < 1319451910 836785 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::D < 1319451914 305389 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: umm, how come? < 1319451924 323887 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Supply takes two arguments on the left, and one on the right < 1319451934 179001 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :...I don't think you know how data types work... < 1319451948 12900 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't < 1319451954 719875 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :ais523: the first Supply on the right is the constructor... oh < 1319451957 806536 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data Tuple a b = Tuple (a,b) -- omg only one argument on the right kind error!!!! < 1319451986 105194 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, you can have a constructor and a type with the same name? < 1319451993 386210 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :elliott: does ais523 know Haskell? If someone hasn't learned Haskell, I'd think it's unreasonable to expect them to know that. Oh. Yes < 1319451997 828832 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that strikes me as more confusing than useful < 1319452001 539074 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Sgeo|web: I sort-of know Haskell < 1319452006 12396 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well enough to write it, but not well enough to read it < 1319452008 106807 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: That... is overwhelmingly the most common case. < 1319452010 993808 :GreaseMonkey!~gm@unaffiliated/greasemonkey QUIT :Quit: The Other Game < 1319452020 217488 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :For instance: Every record. Every wrapper type, including every newtype. < 1319452033 422822 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :elliott: it's not a requirement for newtype, is it? < 1319452035 446097 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm used to ADTs, where doing that doesn't make much sense < 1319452040 978816 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :I mean, probably incredibly common, but < 1319452121 622944 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :Hmm, idea: < 1319452145 874217 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :Some program poly...whatever to both with and without existential thingies, yet do different things < 1319452151 361747 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :Is that even possible? < 1319452151 571342 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :What < 1319452166 594042 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :That is, it does different things depending on whether or not foreach is a keyword < 1319452184 944493 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a polyglot on Haskell and foreachless Haskell? < 1319452198 88051 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo|web: I have absolutely no idea what you are talking about, and foreach is not a keyword in Haskell. < 1319452208 809599 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :"Haskell type signatures are implicitly quantified. When the language option -XExplicitForAll is used, the keyword forall allows us to say exactly what this means. For example:" < 1319452209 647899 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :That < 1319452222 240510 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You're going to have to work on your spelling. < 1319452238 413170 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Anyway, no. < 1319452246 700453 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"forall x." is always invalid with forall off. < 1319452256 515506 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"forall x ->" or similar is always invalid with it on. < 1319452273 938835 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :....I now know for a fact that I am tired < 1319452278 354959 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :"foreach" wtf < 1319452344 877037 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Sgeo|web: did you have a wasp keeping you awake? < 1319452378 95618 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :No < 1319452386 173978 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, annoying reddit bug: if someone replies to you then deletes the reply < 1319452397 691672 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you get an orangered envelope, but no new messages when you click on it < 1319452508 256797 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I'll make sure not to do that, then. < 1319452621 718858 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :meanwhile, reading internal Microsoft emails that came out as court case exhibits reminds me of just how much I hate top-posting < 1319452645 286112 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1319452657 565500 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: did you know that someone reimplemented cron in java? feature-for-feature? < 1319452671 783716 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: no, but I'm not surprised < 1319452672 514717 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: relatedly: I'm using a feature-for-feature reimplementation of cron in Java, woe is me < 1319452680 186192 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, SE or EE? < 1319452686 22558 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I can see plausible arguments for either < 1319452688 555942 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"cron4j can run on any Java 2 (or later) platform." < 1319452707 564920 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Java programmers definitely like reimplementing things. < 1319452716 66115 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :They have their own full printf, their own SQLite... < 1319452732 346459 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :having their own printf makes sense < 1319452762 398471 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :most languages have their own printf < 1319452767 211308 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: no, I mean, there's literally a package that tries to duplicate every single feature of glibc printf or whatever < 1319452769 426195 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :to the letter < 1319452786 241392 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :just in case you REALLY NEED some HARDCORE FORMATTED PRINTINF < 1319452788 306791 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was vaguely surprised at Java having more or less an exact copy of recent Perl 5 regexen < 1319452799 990430 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the only features missing were the ones that let you embed arbitrary Perl < 1319452807 553833 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :Why would they have their own SQLite? < 1319452815 427864 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :Is it binary compatible with normal SQLite files? < 1319452819 98708 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's a Perl module that actually embeds SQLite < 1319452829 719589 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as in, you install the module, and it has the entire source code to SQLite in the module source < 1319452856 616239 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo|web: no, it's just "an embedded file-based SQL database" < 1319452871 977419 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :That's "wonderful" < 1319452991 291572 :Vorpal!~AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1319453155 539416 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: ooh, I just thought of an awful esolang idea < 1319453163 66440 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :go for it < 1319453175 584812 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was wondering about making a thematic esolang designed to resemble mail archives < 1319453201 492704 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it's a language with all the speed advantages of a stop-the-world mark-and-sweep GC, and all the convenience and safety of manual memory management < 1319453210 8147 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :where flow control, etc, would be done by sending more messages, appending them to the end of the archive < 1319453214 115185 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: hasn't that been done already? < 1319453219 892772 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :eightebed is a bit different < 1319453229 509315 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, I was trying to remember the name < 1319453241 324006 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: anyway: memory is managed manually with malloc() and free(), /but/ a mark-and-sweep cycle is periodically run, and unless there are no objects to sweep, the program dies < 1319453250 668664 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so you have to keep free()ing garbage as early as possible :-P < 1319453278 209439 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's not completely useless < 1319453290 944649 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's more of a check that you aren't leaking memory, than anything else < 1319453298 131896 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :similar to valgrind, except failing faster < 1319453321 274043 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in fact, it's going to do the one thing which would be useful in valgrind but it can't feasibly do: let you know where you should have freed something but didn't < 1319453338 103678 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so stupid as a language, very useful as a debugging tool < 1319453345 929655 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes, but it isn't even at a reasonable point < 1319453354 326733 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :in fact, it's impossible in general < 1319453358 289918 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :if a and b become garbage simultaneously < 1319453360 390259 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it should happen every command, obviously < 1319453367 948902 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then both free(a);free(b) and free(b);free(a) can lead to death < 1319453369 633431 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so you need to like < 1319453371 506664 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :stagger garbage < 1319453382 548644 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think this makes freeing a cyclic structure safely totally impossible < 1319453390 216199 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, you should free things just before they become garbage, not afterwards < 1319453394 968690 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe if you had an atomic compare-and-swap < 1319453397 683565 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and freeing a cyclic structure is easy, you just break the cycle first < 1319453418 315466 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fair enough < 1319453418 943256 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's what the ->delete(); in blognomic-parser is for < 1319453426 450758 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as Perl's GC can't free cyclic structures, which those are < 1319453431 21861 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I didn't read it because it was ugly < 1319453432 387063 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so they have an explicit cycle-breaking method < 1319453434 432703 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the script, I mean < 1319453445 459909 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what did you find ugly about it? < 1319453457 22741 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :dunno, it probably just looked like perl < 1319453462 473348 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :heh < 1319453462 546031 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nothing personal :p < 1319453466 441999 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(print "Only [0-9a-zA-Z_-] are accepted in proposal names.\n"), exit < 1319453466 585000 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : unless $proposal =~ /^[0-9a-zA-Z_-]+$/; < 1319453469 837787 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well that's perverse < 1319453473 363582 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the parens, that is < 1319453501 369288 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they make it clearer < 1319453505 333583 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :otherwise exit would be an argument to print < 1319453507 714221 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ugh < 1319453514 901337 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I can't remember whether it gets evaluated after or before it starts printing < 1319453522 421981 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: btw, what did blognomicbot actually do? ... I vaguely remember it, but not much exact < 1319453530 27118 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think it announced new posts and votes? < 1319453535 305377 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION curious < 1319453538 412254 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it ran blognomic-parser on request, and updated the channel membership in the sidebar < 1319453547 161970 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :huh < 1319453550 556145 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :my memory is totally wrong then :p < 1319453552 155981 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, did ChanServ's duty for when ChanServ was broken < 1319453564 59044 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which was the original reason it was created, more or less < 1319453568 273654 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wat < 1319453575 754912 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I'd just tell it to op me if ChanServ was missing) < 1319453579 1808 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :heh < 1319453587 82187 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I still can't figure out that op policy < 1319453599 162976 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's traditional, at least < 1319453608 842357 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, originally it was to op admins and voice players < 1319453632 154525 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but once I took over the channel (by reregistering it after it was dropped because nobody else had been there for a month), I just decided to op everyone, because I wasn't an admin < 1319453643 79628 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you should op me now, I registered :p < 1319453651 792690 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :indeed < 1319453652 916202 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :THEN I CAN TAKE OVER THE WORLD MWAHAHAHAHAHA < 1319453667 341387 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :done < 1319453698 512490 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh man, there's a Cobol on the JVM??? < 1319453703 238941 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I know what I'm writing MY Bukkit plugins in. < 1319453717 367053 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :NucleoNB is identified, but I haven't opped them because I have no idea who they are < 1319453730 865941 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I've no idea, either < 1319453734 775454 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :they just came in and said hi and never said anything more < 1319453739 410504 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe they're a fish. < 1319454000 743239 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi QUIT :Ping timeout: 252 seconds < 1319454469 289993 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Ping timeout: 248 seconds < 1319454510 43212 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1319454751 54618 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi JOIN :#esoteric < 1319454832 738161 :sllide!~jari@ip565eb113.direct-adsl.nl JOIN :#esoteric < 1319456184 985851 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Connection reset by peer < 1319456378 661003 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319456906 41454 :Ngevd!~Taneb@2.99.90.255 JOIN :#esoteric < 1319457910 693215 :ais523!~ais523@unaffiliated/ais523 QUIT : < 1319457922 956696 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319458607 681391 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :haha, one of the spambots was advertising SEO < 1319458678 652834 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ooh, can they get me promoted on esolangs.org? < 1319458733 846877 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :heh < 1319459369 303592 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 JOIN :#esoteric < 1319459616 625834 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :anyone here know how to get grep -R to not follow symlinks? < 1319459621 602878 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :other than using find and xargs? < 1319459715 268443 :TeruFSX2!~quassel@71-210-153-125.mpls.qwest.net JOIN :#esoteric < 1319459733 243401 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : -R, -r, --recursive < 1319459733 315880 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Read all files under each directory, recursively; this is < 1319459733 316050 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : equivalent to the -d recurse option. < 1319459742 897718 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-d does not seem to be documented < 1319459747 827236 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh < 1319459760 547119 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : -D ACTION, --devices=ACTION < 1319459760 719299 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : If an input file is a device, FIFO or socket, use ACTION to < 1319459760 791511 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : process it. By default, ACTION is read, which means that < 1319459760 903802 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : devices are read just as if they were ordinary files. If ACTION < 1319459760 976197 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : is skip, devices are silently skipped. < 1319459760 976429 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : -d ACTION, --directories=ACTION < 1319459763 114419 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : If an input file is a directory, use ACTION to process it. By < 1319459765 60685 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : default, ACTION is read, which means that directories are read < 1319459767 64144 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : just as if they were ordinary files. If ACTION is skip, < 1319459769 235393 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : directories are silently skipped. If ACTION is recurse, grep < 1319459771 108755 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : reads all files under each directory, recursively; this is < 1319459773 14583 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : equivalent to the -r option. < 1319459775 67102 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523_: looks like you can control absolutely everything except that : < 1319459777 120054 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::p < 1319459793 721445 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :heh < 1319459850 58475 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :ah, found it < 1319459856 876420 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :I was looking for a plagiarism-checking script I wrote < 1319459878 315696 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :after a while, I realised it'd be easier to look for the filename extension than the contents of the file, and a quick find -P found it for me < 1319459885 913282 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :in a really bizarrely stupid place, why did I put it there? < 1319460208 738615 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom_Hoover: Can you go to http://blognomic.com/update/index.php?C=publish and make a post requesting to become Idle? < 1319460354 313961 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 PRIVMSG #esoteric :He did it < 1319461174 74804 :Ngevd!~Taneb@2.99.90.255 QUIT :Ping timeout: 240 seconds < 1319461941 721916 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::t mfix < 1319461942 669061 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (m :: * -> *). (MonadFix m) => (a -> m a) -> m a < 1319462758 98428 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Ping timeout: 240 seconds < 1319463020 40005 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1319463453 298615 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1319463958 505069 :derrik!~xix@143.122.191.90.dyn.estpak.ee QUIT :Quit: quitter < 1319463974 288722 :MSleep!~fyrc@c-174-55-44-190.hsd1.pa.comcast.net NICK :MDude < 1319464220 229330 :Ngevd!~Taneb@2.99.90.255 JOIN :#esoteric < 1319464361 622588 :Zuu!~vdsvsd@unaffiliated/zuu QUIT :Read error: Connection reset by peer < 1319464621 12367 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :plagiarism is the right thing to do, bits need to flow free < 1319464673 991630 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :also, I vaguely wonder why I bothered making it do things like detect changes in whitespace and variable name substitutions, where the plagiarised submissions it found differed by one byte (the capitalisation of one letter in an identifier) < 1319464695 198916 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :wow. < 1319464720 204167 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :they actually consistently changed all the occurrences? < 1319464734 952180 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :that identifier only occurs once per file, but in three different files < 1319464739 588041 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :and was changed consistently, indeed < 1319464747 488036 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :actually, that's only a difference of one bit < 1319464766 550872 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :yeah < 1319464812 813534 :Zuu!~vdsvsd@77.215.149.86 JOIN :#esoteric < 1319465377 895439 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Quit: Computer has gone to sleep. < 1319465969 459906 :boily!~boily@mtl.savoirfairelinux.net QUIT :Read error: Operation timed out < 1319466772 917631 :Jafet!~Jafet@unaffiliated/jafet JOIN :#esoteric < 1319466983 283070 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1319467028 988158 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1319467055 876871 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :I am sitting at a table in a busy hallway on my computer < 1319467063 385791 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :the dean just walked by and said hi to me < 1319467065 249503 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :O_o < 1319467232 451359 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 PRIVMSG #esoteric :did you say hi back again? < 1319467894 342479 :ais523_!93bcc019@gateway/web/freenode/ip.147.188.192.25 QUIT :Quit: Page closed < 1319468848 859721 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh right, annoying line of code a student wrote: double iValue; < 1319468856 463981 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's like Hungarian notation, except the prefix doesn't mean anything at all < 1319468862 312077 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think it's just there to look pretty < 1319468879 262644 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Maybe it means something and you just don't know what. < 1319468888 37358 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, they didn't know either < 1319468892 355198 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Darn < 1319468895 224582 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I mark the work in front of the students, and can ask them questions) < 1319468902 408939 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or at least, they didn't admit to knowing < 1319468919 909340 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : oh right, annoying line of code a student wrote: double iValue; < 1319468925 54442 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :instance variable, perhaps? < 1319468928 468743 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :as opposed to local variable < 1319468932 893469 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nope, it was local < 1319468937 860837 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :heh < 1319469751 657191 :shachaf_!a6d94ee6@gateway/web/freenode/ip.166.217.78.230 JOIN :#esoteric < 1319469945 180425 :nooga!~nooga@maverick.aircity.pl QUIT :Ping timeout: 245 seconds < 1319470072 532441 :nooga!~nooga@95.108.116.52 JOIN :#esoteric < 1319470123 495930 :shachaf_!a6d94ee6@gateway/web/freenode/ip.166.217.78.230 QUIT :Ping timeout: 265 seconds < 1319470127 892993 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: it's the value i, obviously. < 1319470147 710552 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION appends Value to all of his variable names in Java. < 1319470228 223148 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what about reference types? < 1319470276 145354 :augur!~augur@208.58.5.87 QUIT :Remote host closed the connection < 1319470398 606438 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Foo fooReferenceValue; < 1319470467 477732 :nooga!~nooga@95.108.116.52 QUIT :Ping timeout: 260 seconds < 1319470532 857608 :derrik!~xix@143.122.191.90.dyn.estpak.ee JOIN :#esoteric < 1319470592 968153 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :all variables are values on their fleshy pink insides. < 1319470601 709741 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or is it on their fleshy pink shells? < 1319470617 464741 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't know. values are delicious. this is a good analogy. < 1319470711 372339 :atehwa!atehwa@aulis.sange.fi PRIVMSG #esoteric :Object sometypeValueThatHasFirstClassStatus; < 1319470787 86848 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 240 seconds < 1319470787 198465 :ais523_!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319470816 626548 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1319470923 536036 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Runnable aYoungIdealisticLoverDazedByNotionsOfRomanticFancy; < 1319470923 805794 :atehwa!atehwa@aulis.sange.fi PRIVMSG #esoteric :char **charppThatCanBeThoughtOfAsStringArrayOrCharacterMatrixOrUpdatableStringPointerOrArrayOfUpdatableStrings; < 1319470939 335610 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I like to give my variables characters. < 1319471005 384538 :atehwa!atehwa@aulis.sange.fi PRIVMSG #esoteric :http://c2.com/cgi/wiki?AreLongAndDescriptiveRelated < 1319471117 117288 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :tokens work if you're trying to analyze the syntactic complexity < 1319471165 726979 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :non-whitespace keystrokes/bytes works too, as a rough gadge of time/effort invested into the code (not counting the countless deletions) < 1319471446 290111 :Nisstyre!~yours@infocalypse-net.info QUIT :Ping timeout: 240 seconds < 1319471484 408555 :ais523_!~ais523@unaffiliated/ais523 NICK :ais523 < 1319471800 278165 :Nisstyre!~yours@infocalypse-net.info JOIN :#esoteric < 1319472129 608577 :Auzi!~az_ummo@115.186.65.252 JOIN :#esoteric < 1319472150 772669 :Auzi!~az_ummo@115.186.65.252 PRIVMSG #esoteric :=S < 1319472153 277229 :Auzi!~az_ummo@115.186.65.252 PRIVMSG #esoteric :HEYY < 1319472165 120655 :ovizunstore!~rajim@180.234.52.28 JOIN :#esoteric < 1319472220 535176 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi < 1319472225 995403 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`? welcome < 1319472228 717100 :HackEgo!foobar@codu.org PRIVMSG #esoteric :Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page < 1319472251 77296 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1319472257 495034 :ovizunstore!~rajim@180.234.52.28 QUIT : < 1319472454 32924 :Auzi!~az_ummo@115.186.65.252 PRIVMSG #esoteric :SUP < 1319472467 770894 :Auzi!~az_ummo@115.186.65.252 PART :#esoteric < 1319472741 593890 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 248 seconds < 1319472897 996063 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 258 seconds < 1319473079 24733 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :?unmtl StateT s m a < 1319473079 462449 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :s -> m (a, s) < 1319473663 624605 :derrik!~xix@143.122.191.90.dyn.estpak.ee PRIVMSG #esoteric :looks cool < 1319473803 770742 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :? < 1319473845 380360 :derrik!~xix@143.122.191.90.dyn.estpak.ee PRIVMSG #esoteric :makes sense to me, no question about it < 1319474341 572422 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what? < 1319474810 107247 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::t state < 1319474810 861926 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall s a. (s -> (a, s)) -> State s a < 1319474818 579562 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :?hoogle (a,s) -> State s a < 1319474818 987200 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Graph.Inductive.Graph insNode :: DynGraph gr => LNode a -> gr a b -> gr a b < 1319474819 264581 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Graph.Inductive.Graph insNodes :: DynGraph gr => [LNode a] -> gr a b -> gr a b < 1319474819 336933 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Graph.Inductive.Graph mkGraph :: Graph gr => [LNode a] -> [LEdge b] -> gr a b < 1319474825 717661 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::t stateT < 1319474826 455173 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Not in scope: `stateT' < 1319474828 862264 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh wait, StateT < 1319475070 969846 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319475295 392261 :Ngevd!~Taneb@2.99.90.255 QUIT :Ping timeout: 245 seconds < 1319475298 3334 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :https://github.com/JodaOrg/joda-time/blob/master/src/main/java/org/joda/time/chrono/BasicGJChronology.java#L79 < 1319475303 435165 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: you should click that link < 1319475307 937521 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :trust me < 1319475339 810053 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think that sort of link works correctly on my system < 1319475343 633929 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although it looks interesting < 1319475369 540296 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: what sort of link? < 1319475376 124760 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :https? < 1319475393 711975 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :links to github that specify anchors < 1319475404 128653 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :often I just get a page with no content < 1319475410 917320 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think it's the anchor's /fault/ < 1319475422 693744 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: just tested it without JS < 1319475424 669164 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :works fine < 1319475429 563057 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just that the sort of page that github generates that sort of anchor on doesn't work properly < 1319475434 4796 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: well, it didn't work for me even with JS < 1319475435 745526 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'll try it anyway < 1319475451 236770 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :https://raw.github.com/JodaOrg/joda-time/master/src/main/java/org/joda/time/chrono/BasicGJChronology.java, grep /getMonthOfYear/ < 1319475454 160910 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :OK, it almost works < 1319475459 869207 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the anchor doesn't, but the page content is at least readable < 1319475459 941738 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's a text/plain, so there's nothing to complain about < 1319475509 462499 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm, umm, not convinced that that isn't premature optimization < 1319475520 347324 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in fact, I'm not even completely convinced that that's faster than the obvious way of writing it < 1319475528 716589 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although it probably is or they wouldn't have gone to all that trouble < 1319475546 513618 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think joda-time is used in all sorts of Big Iron < 1319475549 371921 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but it's still ridiculous < 1319475587 101420 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what's up with measuring time in years and milliseconds, anyway? < 1319475622 908534 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :who knows < 1319475629 851524 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe it's all converted to that < 1319475720 545816 :Sgeo|web!ad034d00@gateway/web/freenode/ip.173.3.77.0 QUIT :Ping timeout: 265 seconds < 1319475750 941069 :boily!~boily@mtl.savoirfairelinux.net QUIT :Ping timeout: 256 seconds < 1319475840 489436 :ais523_!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319475862 151453 :ais523!~ais523@unaffiliated/ais523 QUIT :Disconnected by services < 1319475863 984841 :ais523_!~ais523@unaffiliated/ais523 NICK :ais523 < 1319476307 247262 :Ngevd!~Taneb@2.99.90.255 JOIN :#esoteric < 1319476366 366355 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Ping timeout: 240 seconds < 1319476618 383490 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :I have just came up with a way of using a biased coin as a fair coin! < 1319476633 498906 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :Somebody probably beat me to it < 1319476656 191260 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what about a coin that always shows up heads? < 1319476674 424244 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :...Damn < 1319476706 341689 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1319476836 762179 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :No, wait, it ends with a 2x^2-2x probability of getting heads < 1319476841 907370 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :Not a 1/2 < 1319476898 416115 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :Wait... < 1319476912 481627 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Ngevd: http://en.wikipedia.org/wiki/Fair_coin#Fair_results_from_a_biased_coin < 1319476922 448257 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :I was looking at that < 1319478122 802575 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Mauke: STOP USING while(true);! < 1319478122 904329 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Mauke: it's for(;;); < 1319478123 376546 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Mauke: when you use while(true), you rely on optimizations < 1319478127 833639 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: one of your C students escaped into the wild < 1319478138 668792 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::p < 1319478143 425975 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :haha < 1319478160 620637 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: tell Ololo that if you write for(;;), you're relying on the compiler not actually inserting the NOPs in the loop < 1319478166 568603 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and that's an optimization too < 1319478167 732044 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :haha < 1319478190 253662 :Ngevd!~Taneb@2.99.90.255 PRIVMSG #esoteric :All programming languages should have an explicit forever loop < 1319478195 753909 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: done :p < 1319478198 680971 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1319478402 212753 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : I personally use while ("Cogito, ergo sum") { ... } because since that is a priori true, it is true in all possible universes, and therefore ensures maximum portability. < 1319478572 341602 :boily!~boily@mtl.savoirfairelinux.net QUIT :Quit: WeeChat 0.3.6 < 1319478702 208794 :Ngevd!~Taneb@2.99.90.255 QUIT :Quit: Leaving < 1319479638 807812 :nooga!~nooga@maverick.aircity.pl QUIT :Ping timeout: 276 seconds < 1319479972 253879 :Ngevd!~Taneb@2.99.90.255 JOIN :#esoteric < 1319480093 288909 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1319481596 17608 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1319482295 434109 :nooga!~nooga@87-205-66-8.adsl.inetia.pl JOIN :#esoteric < 1319482339 528224 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319482631 831448 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :?hoogle (a->Bool)->[a]->Maybe a < 1319482632 262428 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.List find :: (a -> Bool) -> [a] -> Maybe a < 1319482632 475733 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Foldable find :: Foldable t => (a -> Bool) -> t a -> Maybe a < 1319482632 611338 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.List findIndex :: (a -> Bool) -> [a] -> Maybe Int < 1319482766 413748 :nooga!~nooga@87-205-66-8.adsl.inetia.pl PRIVMSG #esoteric :meh < 1319482813 15466 :nooga!~nooga@87-205-66-8.adsl.inetia.pl PRIVMSG #esoteric :< Ngevd> All programming languages should have an explicit forever loop <- Haskell? < 1319482816 110036 :nooga!~nooga@87-205-66-8.adsl.inetia.pl PRIVMSG #esoteric ::D < 1319482846 358063 :Ngevd!~Taneb@2.99.90.255 QUIT :Ping timeout: 255 seconds < 1319482861 450072 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you could easily write a monad forever loop < 1319482879 790703 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :> repeat x < 1319482883 848062 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1319482891 56764 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm < 1319482892 612303 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t repeat < 1319482896 192423 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. a -> [a] < 1319482898 610112 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I thought so < 1319482901 424955 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :> repeat 1 < 1319482902 528987 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,... < 1319482907 143093 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so why did it fail on x? < 1319482929 458605 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t foldM < 1319482930 471149 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b (m :: * -> *). (Monad m) => (a -> b -> m a) -> a -> [b] -> m a < 1319482949 861007 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t foldl < 1319482950 630135 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. (a -> b -> a) -> a -> [b] -> a < 1319483008 194185 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :?hoogle (a -> Maybe b) -> [a] -> Maybe b < 1319483008 586935 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Prelude mapM_ :: Monad m => (a -> m b) -> [a] -> m () < 1319483008 868427 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Monad mapM_ :: Monad m => (a -> m b) -> [a] -> m () < 1319483008 940656 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Monad forM_ :: Monad m => [a] -> (a -> m b) -> m () < 1319483049 159163 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t \x. (foldl (>>=) $ return () $ repeat x) < 1319483050 169321 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :parse error on input `.' < 1319483057 44741 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t \x -> (foldl (>>=) $ return () $ repeat x) < 1319483057 908606 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `m b' against inferred type `()' < 1319483058 207446 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : In the second argument of `($)', namely `return () $ repeat x' < 1319483058 280606 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : In the expression: (foldl (>>=) $ return () $ repeat x) < 1319483075 276567 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t \x -> (foldl (>>=) $ (return ()) $ repeat x) < 1319483076 64360 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `m b' against inferred type `()' < 1319483076 136936 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : In the second argument of `($)', namely `(return ()) $ repeat x' < 1319483076 137112 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : In the expression: (foldl (>>=) $ (return ()) $ repeat x) < 1319483098 789810 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t return () < 1319483099 604871 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *). (Monad m) => m () < 1319483114 562099 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t foldl (>>=) < 1319483115 257914 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) b. (Monad m) => m b -> [b -> m b] -> m b < 1319483133 696407 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t \x -> (foldl (>>=) (return ()) (repeat x)) < 1319483134 346726 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *). (Monad m) => (() -> m ()) -> m () < 1319483142 116548 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi ais523 < 1319483143 402971 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there we go < 1319483145 176253 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hi elliott, btw < 1319483160 322505 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :this is one of haskell's few glaring weaknesses I'm running into here :( < 1319483164 483447 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t \x -> (foldl (>>) (return ()) (repeat x)) < 1319483165 313567 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *). (Monad m) => m () -> m () < 1319483168 316710 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :got it < 1319483175 859967 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there you go: the Haskell forever loop < 1319483204 818339 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :> (foldl (>>) (return ()) (repeat x)) (putStr "test") < 1319483207 95622 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `m ()' < 1319483207 259112 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type `SimpleRe... < 1319483214 282688 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t putStr "test" < 1319483215 68768 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :IO () < 1319483238 475580 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :aha, does lambdabot not allow IOs? < 1319483273 496123 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's not "doesn't allow them" < 1319483277 999776 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's an expression evaluator < 1319483285 527488 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :> (\x -> (foldl (>>) (return ()) (repeat x))) (putStr "test") < 1319483290 387627 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1319483294 367192 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :> (\x -> (foldl (>>) (return ()) (repeat x))) (putStrLn "test") < 1319483296 761818 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : < 1319483311 294599 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I am amused by the difference between those two results < 1319483324 602056 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I am using the correct fold, right? (foldl is the one that works on lazy lists?) < 1319483367 547418 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :> foldl f z (repeat x) < 1319483372 302397 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1319483382 258189 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :> foldr f z (repeat x) < 1319483382 782162 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :> foldr f z (repeat x) < 1319483382 889159 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: foldr works on infinite lists < 1319483385 390037 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (... < 1319483386 33263 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: aha < 1319483387 332884 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (f x (... < 1319483393 783012 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :> (\x -> (foldr (>>) (return ()) (repeat x))) (putStr "test") < 1319483395 687803 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : < 1319483398 504081 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there we go < 1319483418 606960 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yay, and in ghci it fills my screen with "test" < 1319483428 492808 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@pl (\x -> (foldr (>>) (return ()) (repeat x))) < 1319483429 653209 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :foldr (>>) (return ()) . repeat < 1319483438 842630 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hate to burst your bubble < 1319483439 670591 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but < 1319483440 833585 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the Haskell forever loop, behold it! < 1319483440 996793 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::t forever < 1319483449 23976 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a b. (Monad m) => m a -> m b < 1319483458 275035 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: hey, it has to be implemented at some point < 1319483464 241712 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@src forever < 1319483464 539246 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. :( < 1319483479 370873 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote That was me being *nice*. I could have made the request by word of mouth to my My Little Pony toys and it would count. < 1319483481 175919 :HackEgo!foobar@codu.org PRIVMSG #esoteric :692) That was me being *nice*. I could have made the request by word of mouth to my My Little Pony toys and it would count. < 1319483481 810698 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :presumably, that forever has extra stuff in to handle ignoring the argument? < 1319483489 331437 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: forever m = m >> forever m < 1319483514 173640 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@unpl a x = x >> a x < 1319483514 347056 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :a x = x >> (a x) < 1319483516 944680 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@pl a x = x >> a x < 1319483517 101741 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :a = fix (ap (>>)) < 1319483518 453641 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :forever = fix <*> (>>) < 1319483526 290180 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Darn, it wasn't < 1319483555 75323 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gah, Haskell's HTML scraping stuff is so terrible < 1319483801 431161 :ive!~nn@189.179.245.35 JOIN :#esoteric < 1319484165 778350 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Ping timeout: 248 seconds < 1319484224 404042 :tiffany!~kawaii@fl-76-3-17-113.dhcp.embarqhsd.net JOIN :#esoteric < 1319484228 337873 :tiffnya!~kawaii@fl-76-3-17-113.dhcp.embarqhsd.net JOIN :#esoteric < 1319484233 950962 :tiffany!~kawaii@fl-76-3-17-113.dhcp.embarqhsd.net QUIT :Remote host closed the connection < 1319484316 417918 :tiffnya!~kawaii@fl-76-3-17-113.dhcp.embarqhsd.net NICK :tiffany < 1319484707 575594 :augur!~augur@129.2.129.32 QUIT :Remote host closed the connection < 1319485073 68323 :brisingr!~brisingr@79.117.70.66 JOIN :#esoteric < 1319485172 993970 :brisingr!~brisingr@79.117.70.66 PART :#esoteric < 1319485220 570658 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: You're the resident NetSurf expert; is Hubbub completely undocumented < 1319485254 894545 :Ngevd!~Taneb@2.99.90.255 JOIN :#esoteric < 1319485591 435976 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net JOIN :#esoteric < 1319487002 661618 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric : < 1319487010 276637 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :monqy: < 1319487031 587568 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : < 1319487032 394573 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :quintopia: < 1319487053 695427 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :elliott: :/ < 1319487059 792983 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1319487059 865557 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :give me more motivation < 1319487070 431632 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :oerjan:be awesome < 1319487075 257742 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION motivates quintopia with the saucepan ===\__/ < 1319487081 388876 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1319487086 291563 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hello < 1319487144 142232 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :oh dear. not the saucepan of awesome < 1319487178 103422 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :THE VERY SAME < 1319487227 960120 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :sourcepan of awesome < 1319487260 335061 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it's an open saucepan < 1319487279 717608 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :for making open sauce? < 1319487313 670865 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :conceivably. < 1319487438 708284 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :open sausome < 1319487470 974776 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :can i borrow it for a bit? < 1319487548 781937 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :sorry < 1319487585 121586 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :no? < 1319487587 206650 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :last someone got hand of it they started producing fakes and claiming they were the real thing < 1319487591 216965 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :i'll give it back :/ < 1319487639 246511 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION gives quintopia a hands-on saucepan lecture ===\__/ < 1319487654 393356 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :thanks < 1319487660 605526 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :beats a head-on lecture < 1319487671 310011 :ais523_!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1319487675 626262 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh i'm sorry, it was _my_ hands, your head < 1319487764 594832 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :too late. you have to make the joke when you draw the pan or it doesnt count. < 1319487785 298581 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :very well. sorry about your hands. < 1319487790 494539 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 240 seconds < 1319487871 362172 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1319487924 164759 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :sokay. i was wearing the +5 Gauntlets of Throwing Down < 1319487929 136465 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : coppro: You think you're evil? I just came up with this: newtype SupplyT s m a = SupplyT (StateT (SupplyT s m s) m a) < 1319487940 540201 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...is that a _bottomless_ transformer stack... < 1319487947 876969 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :no, that's the state par < 1319487948 196705 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :t < 1319487950 375176 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :not the transformed monad < 1319487950 447863 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh < 1319487974 914432 :tiffany!~kawaii@fl-76-3-17-113.dhcp.embarqhsd.net QUIT :Quit: brb installing pclinuxos < 1319487976 671213 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: however upon reflection I think it should actually be < 1319487977 634456 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :newtype SupplyT s m a = SupplyT { unwrapSupplyT :: StateT (ProviderT m s) m a } < 1319487977 707589 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :type Supply s = SupplyT s Identity < 1319487977 707767 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :newtype ProviderT m s = ProviderT { runProviderT :: m (s, ProviderT m s) } < 1319487977 707874 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :type Provider = ProviderT Identity < 1319487984 760991 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :tiffany: hahahahahgkljhsfh pclinuxos < 1319487993 893868 :ais523_!~ais523@unaffiliated/ais523 NICK :ais523 < 1319488060 18366 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm iiuc you _can_ have a bottomless transformer stack if you use ContT in it < 1319488089 93320 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...actually _running_ it might be tricky < 1319488128 351974 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :whats pclinuxos < 1319488138 645916 :GreaseMonkey!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1319488159 403323 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :newtype RecCont r x = RecCont { runRecCont :: ContT r (RecCont r) x } < 1319488176 512319 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@src return ContT < 1319488176 723844 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. You type like i drive. < 1319488183 112192 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@src ContT return < 1319488183 432973 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :return a = ContT ($ a) < 1319488205 52195 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@src ContT (>>=) < 1319488205 227101 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :m >>= k = ContT $ \c -> runContT m (\a -> runContT (k a) c) < 1319488230 748028 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@src ContT < 1319488231 119961 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :newtype ContT r m a = ContT { runContT :: (a -> m r) -> m r } < 1319488602 990174 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :OK < 1319488605 20432 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I think < 1319488608 173997 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :but am not sure < 1319488611 44286 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :that someone < 1319488613 322499 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t state < 1319488614 36200 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall s a. (s -> (a, s)) -> State s a < 1319488616 874838 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :on The Young Apprentice < 1319488621 364823 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :did not know what profit was. < 1319488638 60665 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :08:31:03: It is simple to implement: flip (,) < 1319488638 132956 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :08:31:29: getAndPut new = do { old <- get; put new; return old } < 1319488638 133119 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :08:31:37: ^^probably beginner style cod < 1319488652 495107 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I remember not understanding what profit was. I wondered why people just didn't sell things for like a penny; then so many people would buy them that they'd make more money than everyone else. < 1319488661 359895 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: don't you mean just (,) < 1319488686 540149 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :when they do the proposed change of state into a method, it will be just state (,) for all MonadState < 1319488714 119491 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t state (,) < 1319488714 795457 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `(a, s)' < 1319488714 933174 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type `b -> (s, b)' < 1319488715 5897 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : In the first argument of `state', namely `(,)' < 1319488715 500367 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :elliott, these guys are a) 16 or so and b) supposedly the cream of the junior economic crop (read: most of them need to be punched in the face many, many times). < 1319488717 944266 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oops < 1319488721 279680 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: No. return = (,) < 1319488739 223199 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@src State < 1319488739 295696 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. Listen, broccoli brains, I don't have time to listen to this trash. < 1319488754 152024 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: oh right < 1319488788 732236 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't really like lambdabot's insults on source not found < 1319488797 281114 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm why didn't that type < 1319488802 697646 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they don't fit a serious language like Haskell, and it isn't even the user's fault < 1319488805 392743 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t (,) < 1319488806 95545 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. a -> b -> (a, b) < 1319488810 584787 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :duh < 1319488814 203292 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t state . (,) < 1319488815 69961 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall s a. a -> State s a < 1319488818 812314 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in retrospect, that was pretty obvious < 1319488819 953706 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t state . flip (,) < 1319488820 634361 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. a -> State a a < 1319488824 751292 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(the :t (,) thing) < 1319488828 798105 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'd just forgotten what (,) did < 1319488832 769112 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :So they would be: return = state . (,); modify = state . ap (,); put = state . flip (,); get = state $ join (,); < 1319488864 427297 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : they don't fit a serious language like Haskell, and it isn't even the user's fault < 1319488876 600679 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: any bot that can run code in a serious language must be itself serious? < 1319488891 196965 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :after all, EgoBot can run C... < 1319488893 857703 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no, but any bot that's effectively the IRC representative for a serious language probably should be < 1319488919 586613 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :lambdabot would be a lot worse a representative were it boring. < 1319488985 35520 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : I don't really like lambdabot's insults on source not found <-- well it's hilariously ironic given how often lambdabot @src is missing things < 1319489056 131888 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it seems to be missing more or less everything < 1319489063 317935 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :do you know anything that lambdabot /does/ have the source for? < 1319489067 787652 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@src flip < 1319489067 927213 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :flip f x y = f y x < 1319489069 243420 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :@src (++) < 1319489069 435571 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :[] ++ ys = ys < 1319489069 718668 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yay! < 1319489069 799371 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(x:xs) ++ ys = x : (xs ++ ys) < 1319489069 872004 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :-- OR < 1319489069 872165 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :xs ++ ys = foldr (:) ys xs < 1319489074 189433 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :@src [] (>>=) < 1319489074 401365 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :xs >>= f = concatMap f xs < 1319489078 521769 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :@src State return < 1319489078 594204 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. BOB says: You seem to have forgotten your passwd, enter another! < 1319489080 759489 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :darn < 1319489083 247350 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :doesn't have mtl I bet < 1319489091 371630 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@src ContT return < 1319489091 482744 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :return a = ContT ($ a) < 1319489092 443954 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :probably just prelude/data.list < 1319489094 344019 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh huh < 1319489096 593730 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :@src StateT return < 1319489096 785939 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. And you call yourself a Rocket Scientist! < 1319489099 119246 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :erird < 1319489099 922698 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :weird < 1319489110 93521 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@src Cont (>>=) < 1319489110 166275 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :m >>= k = Cont $ \c -> runCont m $ \a -> runCont (k a) c < 1319489117 889558 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wow that's messy < 1319489120 723831 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@src runCont < 1319489121 22694 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. :( < 1319489125 137441 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it's still the old version for Cont < 1319489135 825749 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@src Cont < 1319489135 921797 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :newtype Cont r a = Cont { runCont :: (a -> r) -> r } < 1319489140 398523 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: that's not messy < 1319489145 548874 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(>>=) is what's messy, really < 1319489152 502712 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@src Cont (>>) < 1319489152 665228 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. My brain just exploded < 1319489168 897255 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@src (>>) < 1319489169 73037 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :m >> k = m >>= \_ -> k < 1319489181 825344 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ACTION looks at lambdabot with disapproval < 1319489200 187654 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: most monads don't specialise (>>). < 1319489266 776943 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then why doesn't it give the default (>>)? < 1319489322 2839 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Really, join should be made a class method of Monad < 1319489482 993849 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: because you asked for Cont's < 1319489491 737690 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: which is the default's? < 1319489504 103716 :Ngevd!~Taneb@2.99.90.255 QUIT :Quit: Leaving < 1319489506 676961 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : @src (>>) < 1319489506 749413 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : m >> k = m >>= \_ -> k < 1319489571 479739 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: indeed < 1319489578 645969 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so why can't it see that Cont uses the default (>>) impl and use that? < 1319489615 802712 :pumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1319489642 17050 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: because lambdabot is the crustiest piece of haskell code ever < 1319489646 114711 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and not maintained < 1319489648 40670 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :send a patch < 1319489719 110037 :pumpkin!~pumpkin@unaffiliated/pumpkingod NICK :copumpkin_ < 1319489731 274126 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Disconnected by services < 1319489735 165023 :copumpkin_!~pumpkin@unaffiliated/pumpkingod NICK :copumpkin < 1319489790 943690 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : "forall x." is always invalid with forall off. < 1319489804 469718 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i'm not so sure of that. < 1319489824 2825 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :feel free to prove me wrong < 1319489826 625533 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :where can . appear in a type < 1319489840 270251 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :if you have type operators it can be a type variable < 1319489848 476705 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm wait < 1319490068 185486 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hm < 1319490124 925290 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :value :: SomeThing1 (forall x . Something2) < 1319490142 405767 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i _think_ that would parse with type operators without forall < 1319490192 911687 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!haskell echo hi < 1319490204 672821 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!help < 1319490205 95734 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . < 1319490208 958842 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::( < 1319490215 589962 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :wait er < 1319490217 730442 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!echo hi < 1319490222 715647 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well didn't help < 1319490235 569119 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!sh echo hi < 1319490307 606857 :nooga!~nooga@87-205-66-8.adsl.inetia.pl QUIT :Ping timeout: 244 seconds < 1319490314 587875 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: and assuming it does, and value = undefined; then you can use value to choose a class instance, i think < 1319490329 251693 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :or something similar to that < 1319490350 53406 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :heh < 1319490497 512340 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :actually the SomeThing1 might not be needed, hm < 1319491017 369610 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: bah, it appears . is _specifically_ disallowed as a type operator, even without forall enabled < 1319491023 331152 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::) < 1319491073 142254 :TeruFSX!~quassel@71-210-153-125.mpls.qwest.net QUIT :Read error: Connection reset by peer < 1319491105 40645 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 276 seconds < 1319491344 901271 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1319491383 286156 :TeruFSX!~quassel@71-210-153-125.mpls.qwest.net JOIN :#esoteric < 1319491386 988007 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :http://hpaste.org/53093 < 1319491518 639621 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@tell Sgeo|Web http://hpaste.org/53093 _almost_ works. it seems impossible. < 1319491518 825041 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1319491607 251301 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I made a Haskell program that depends on many of the language options, but not all of them. < 1319491616 970687 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It works with all of them on, or all of them off. < 1319491633 156055 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Or any combination. And will output the result telling you which are on/off. < 1319491641 253818 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok. < 1319492014 688225 :Nisstyre!~yours@infocalypse-net.info QUIT :Ping timeout: 240 seconds < 1319492019 627081 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1319492060 697312 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I have made it test: CPP, MagicHash, OverloadedStrings, RebindableSyntax, TemplateHaskell. See if you can make it work more. < 1319492075 766200 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Or even if you can write the code testing these same things. < 1319492138 931938 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ACTION → sleep < 1319492490 66317 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Quit: Leaving < 1319492926 652633 :boily!~boily@mtl.savoirfairelinux.net QUIT :Ping timeout: 240 seconds < 1319493296 796853 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Quit: Computer has gone to sleep. < 1319493585 183583 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fuck < 1319493587 570210 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :rip mccarthy < 1319493698 419568 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Unconfirmed < 1319493744 990176 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :reputable-looking twitter + comment on reddit claiming to be from family member; could be a hoax, but... < 1319493762 917872 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Oh, that comment is new. < 1319493852 792919 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: it's been confirmed by the AAAI < 1319493858 964604 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::( < 1319493859 507973 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :according to emails going round Universities < 1319493863 653170 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :unfortunately, I don't know who the AAAI are < 1319493867 451780 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au JOIN :#esoteric < 1319493869 725518 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so I can't speak as to how trustworthy they are < 1319493885 894189 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1319493905 177515 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Association_for_the_Advancement_of_Artificial_Intelligence < 1319493910 454282 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :mccarthy presided over it seems < 1319493952 883903 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`addquote I personally use while ("Cogito, ergo sum") { ... } because since that is a priori true, it is true in all possible universes, and therefore ensures maximum portability. < 1319493955 34812 :HackEgo!foobar@codu.org PRIVMSG #esoteric :693) I personally use while ("Cogito, ergo sum") { ... } because since that is a priori true, it is true in all possible universes, and therefore ensures maximum portability. < 1319494016 942503 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ais523: ais are never trustworthy < 1319494065 112205 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...wait, are we _sure_ ais523 is human < 1319494074 267462 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :lol < 1319494093 367413 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: even if you aren't, don't I act human enough that it's sensible to treat me as one? < 1319494119 101922 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I've been accused of being lawful good often enough that I assume people generally find me trustworthy < 1319494124 35798 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that's just what an ai would say < 1319494126 705661 :TeruFSX2!~quassel@71-210-153-125.mpls.qwest.net QUIT :Ping timeout: 240 seconds < 1319494157 591675 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: but if an AI with my conversation abilities did say that, I think the best option would probably be to trust it anyway < 1319494174 290261 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and being an ai would explain _why_ you're lawful good < 1319494200 324138 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, if I'm lawful good because I'm an AI, I'm still lawful good, and thus trustworthy despite being an AI < 1319494224 835435 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ah but the question is, lawful according to which laws < 1319494264 785843 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :what if the law is "be nice to humans until you gain their trust sufficiently to enable the final takeover" < 1319494300 736982 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :what if the alignments were renamed co-operative and un-co-operative? < 1319494324 221757 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :then the question would be, co-operate with whom? < 1319494330 81422 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :hmmm < 1319494420 403432 :Jafet!~Jafet@unaffiliated/jafet QUIT :Quit: Leaving. < 1319494444 304309 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : you could easily write a monad forever loop < 1319494448 379209 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t forever < 1319494449 284523 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a b. (Monad m) => m a -> m b < 1319494498 754706 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : so why did it fail on x? < 1319494509 141890 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> repeat x < 1319494509 914346 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Ambiguous occurrence `x' < 1319494510 170672 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : It could refer to either `L.x', defined at 1 < 1319494534 225590 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 1 < 1319494536 885355 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :> repeat x < 1319494537 641597 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,... < 1319494556 717147 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :> iterate x < 1319494557 932523 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `a -> a' < 1319494558 84575 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type `Simple... < 1319494558 616075 :elliott!~elliott@unaffiliated/elliott QUIT :Ping timeout: 240 seconds < 1319494559 772381 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, does all this explain why "repeat x" was timing out earlier? < 1319494560 750924 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :sometimes lambdabot just times out arbitrarily < 1319494580 112140 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :no, the error message was different < 1319494588 175017 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> iterate f x < 1319494588 967984 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [x,f x,f (f x),f (f (f x)),f (f (f (f x))),f (f (f (f (f x)))),f (f (f (f (... < 1319494633 419350 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> x >>= f < 1319494634 154810 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `m a' < 1319494634 226610 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type `SimpleRef... < 1319494651 384457 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :forever Just x < 1319494654 481803 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :> forever Just x < 1319494658 789896 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1319494663 274981 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :haha < 1319494679 687492 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> forever (:[]) x < 1319494683 293730 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1319494688 678959 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oops < 1319494696 896269 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: that does no useful output, obviously < 1319494726 116198 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm indeed < 1319494748 203813 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> forever undefined x < 1319494752 45001 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1319494755 173068 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::P < 1319494762 596700 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :does haskell have an 'alone' function by any chance? < 1319494771 761593 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Patashu: what would that mean? < 1319494777 376021 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :> forever alone x < 1319494778 594091 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Not in scope: `alone' < 1319494791 821520 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION swats Patashu -----### < 1319494797 136563 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :ow! < 1319494813 681296 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(:[]) may be the closest < 1319494928 197516 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : :t \x -> (foldl (>>=) (return ()) (repeat x)) < 1319494936 840261 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you probably want foldr not foldl < 1319494946 274108 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :foldl on an infinite list never halts < 1319494951 902484 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: I fixed it later < 1319494955 825337 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I muddled which fold was which < 1319495052 596428 :Zuu!~vdsvsd@77.215.149.86 QUIT :Read error: Connection reset by peer < 1319495100 125511 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : @unpl a x = x >> a x < 1319495105 226561 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :fix (x >>) < 1319495496 730183 :Zuu!~vdsvsd@77.215.149.86 JOIN :#esoteric < 1319496006 800227 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1319496929 501641 :CakeProphet!~eris@gate-20.spsu.edu JOIN :#esoteric < 1319496929 574451 :CakeProphet!~eris@gate-20.spsu.edu QUIT :Changing host < 1319496929 574607 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1319496939 525200 :derrik!~xix@143.122.191.90.dyn.estpak.ee QUIT :Quit: take cares < 1319497109 821186 :derdon!~derdon@pD9E1C2F0.dip.t-dialin.net QUIT :Remote host closed the connection < 1319497271 207380 :Nisstyre!~yours@infocalypse-net.info JOIN :#esoteric < 1319497341 92654 :JohnGalt!Sheboonda@cyber.sex0r.com JOIN :#esoteric < 1319497435 593829 :JohnGalt!Sheboonda@cyber.sex0r.com QUIT :Max SendQ exceeded < 1319497450 407514 :JamesTaggart!Sheboonda@cyber.sex0r.com JOIN :#esoteric < 1319497451 498930 :JamesTaggart!Sheboonda@cyber.sex0r.com QUIT :Max SendQ exceeded < 1319497480 360910 :JamesTaggart!Sheboonda@cyber.sex0r.com JOIN :#esoteric < 1319497481 533158 :JamesTaggart!Sheboonda@cyber.sex0r.com QUIT :Max SendQ exceeded < 1319497510 359980 :JamesTaggart!Sheboonda@cyber.sex0r.com JOIN :#esoteric < 1319497928 840593 :hagb4rd!~perdito@koln-4d0b78e4.pool.mediaWays.net QUIT :Quit: Nettalk6 - www.ntalk.de < 1319498560 479779 :CakeProphet!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 255 seconds < 1319498781 536452 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :qft: < 1319498792 823172 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :))))))))))))))))))))))))))))))) RIP John McCarthy < 1319499259 639132 :hagb4rd!~perdito@koln-4d0b7c01.pool.mediaWays.net JOIN :#esoteric