< 1314403211 197555 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, random libraries dotted around the Internet (Java scores well on that metric) < 1314403236 552721 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Python probably measures up well in comparison < 1314403245 438653 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think so < 1314403258 176633 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: bear in mind that I think most CPAN hype is due to it basically being the first of its kind < 1314403262 647970 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think it's probably still behind because Perl had quite the head start in terms of people making lots of libraries for it < 1314403264 648868 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: indeed < 1314403276 686789 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :being first of its kind definitely gives a relatively major boost, though < 1314403280 488122 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And I bet that if you investigated all the things you can supposedly get on CPAN, a large number of them will be completely broken < 1314403288 288651 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, interesting < 1314403291 53783 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :truth. < 1314403294 135871 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CPAN has automated testing, etc < 1314403300 393355 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I do find partially broken stuff quite often < 1314403303 894702 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but completely broken is rare < 1314403343 113741 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :71145 Uploads, 23245 Distributions < 1314403343 282364 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :98470 Modules, 9170 Uploaders < 1314403361 594591 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I find it very hard to believe that there are anywhere near 23245 useful packages on CPAN < 1314403370 996031 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :although I suppose with the ridiculous kind of splitting they do it might be possible < 1314403588 860436 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't know much about rubygems but I believe it has a fairly large set of packages as well. < 1314403609 210454 :Gregor!Gregor@codu.org PRIVMSG #esoteric :(Seven!) < 1314403818 348802 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perl -e "use List::Util 'sum'; print sum(split /\D+/, <>)" catlist.txt < 1314403819 452136 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :6331 < 1314403831 712990 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :catlist.txt is a copypasta from the category list on hackage < 1314403886 165639 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hackage's are all good, though. < 1314403893 712343 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :all of them. < 1314403903 12181 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :elliott, POORLY DOCUMENTED RSYNC LOGS < 1314403942 722637 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :mention rsync logs on http://codu.org/logs/_esoteric/ or in topic? best keep it a secret? help < 1314403953 133313 :pikhq!~pikhq@71-219-194-199.clsp.qwest.net PRIVMSG #esoteric :ACTION is friggin' doing this. < 1314403976 389528 :Gregor!Gregor@codu.org PRIVMSG #esoteric :monqy: !logs < 1314403981 175152 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yes I know < 1314403983 300753 :Gregor!Gregor@codu.org PRIVMSG #esoteric :pikhq: THEN FRIGGIN' DO IT < 1314403989 556327 :pikhq!~pikhq@71-219-194-199.clsp.qwest.net PRIVMSG #esoteric :Come on, Firefox on DOS. < 1314404000 934680 :Gregor!Gregor@codu.org PRIVMSG #esoteric :monqy: It's a lot of bandwidth so I'm not trying to make it super-duper-well-known :P < 1314404079 528198 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :just found this little morsel on the web: perl -lne '(1x$_) !~ /^1?$|^(11+?)\1+$/ && print "$_ is prime"' < 1314404103 328406 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :converts the number to unary and then determines if it's prime < 1314404106 726263 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :with a regex. < 1314404107 764316 :pikhq!~pikhq@71-219-194-199.clsp.qwest.net PRIVMSG #esoteric :It's surprisingly easy to do this in qemu, BTW. < 1314404140 13019 :pikhq!~pikhq@71-219-194-199.clsp.qwest.net PRIVMSG #esoteric :I think the only "hard" bit is that I need to tell it to use an ne2k_isa network card instead. < 1314404163 534472 :iamcal!u1110@gateway/web/irccloud.com/x-jiylroonmepyyuga JOIN :#esoteric < 1314404200 34120 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :CakeProphet, eeew. < 1314404223 714466 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Do you have a machine with a terabyte of space just lying around? I hear you're rich, so let me tell you about these DVDs... < 1314404246 889346 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :So the ^1?$ presumably tests if it can be divided into m repetitions of n? < 1314404268 300757 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Phantom_Hoover: actually I'm not sure how it works because to me it looks like it's just determines if it's even or odd... < 1314404279 441272 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :^1?$ just matches epsilon and "1", Phantom_Hoover. < 1314404279 959617 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the ^1?$ just matches the case of 1 < 1314404284 429201 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes. < 1314404302 751389 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also it's !~ which means "does not match" < 1314404323 550254 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Oh, wait, that's a |, not a /. < 1314404378 311168 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but to me (11+?)\1 says "match an even number of 1's" unless I'm misunderstanding the nongreedy semantics < 1314404414 191546 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s'(11+?)\1'(11+?)\1+' < 1314404431 782842 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Are you sure it's not just an odd-or-even tester? :p < 1314404518 614521 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :using 9 as input yielded nothing < 1314404530 253463 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :7 yields "7 is prime" < 1314404559 843664 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it must be something to do with +? < 1314404609 205163 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ooooooh < 1314404611 616414 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wow. < 1314404615 174753 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah okay < 1314404623 886186 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I see how it works. < 1314404654 629454 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :So was my rough outline accurate? < 1314404694 118516 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :i.e. that the regex matches any m repetitions of a sequence of n 1s? < 1314404699 944893 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yes. < 1314404735 376419 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's some clever backreferencing. < 1314404831 418157 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is all kind-of obvious, btw, you people < 1314404847 191322 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think I wrote a regex like that myself as a proof of concept < 1314404895 648126 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ais523, it's regexes; they're write-only. < 1314404910 409209 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no they aren't < 1314404929 803027 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :regexes are pretty easy to read; they're more or less equivalent to subroutines containing many lines, and take similar effort to read < 1314404943 14068 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what you're doing wrong is trying to read them a line at a time rather than character at a time < 1314405005 743272 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :That was a joke, ais. < 1314405118 699844 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ACTION → sleep < 1314405119 751191 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Quit: Leaving < 1314405163 754898 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah I agree that they're easy to read for the most part. What happened was the +? semantics threw me off < 1314405182 995510 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :as you no longer read it character-by-character at that point, but have to refer to the rest of the pattern to figure out what it does. < 1314405244 415917 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :`run echo "234346234346134983746987234987239587239847235" | perl -lne '(1x$_) !~ /^1?$|^(11+?)\1+$/ && print "$_ is prime"' < 1314405246 223110 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :No output. < 1314405259 949610 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :does +? do matching differently than * then? < 1314405269 905068 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :or am i confused < 1314405273 264841 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :+? is like *? < 1314405278 664548 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but with a required first match < 1314405292 68124 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I know the relationship between + and * < 1314405292 677663 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*? is like * in formal regular expressions. < 1314405301 144083 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :* in perl regex is not. < 1314405304 814066 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :but I might not be getting ? < 1314405306 737353 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh < 1314405323 585664 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*? matches the minimum number of repetitions, * matches maximum. < 1314405334 779535 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :regex :( < 1314405352 582308 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :so is ? just a greediness thing then? < 1314405359 25161 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes. < 1314405385 957183 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :though actually I guess formal regular expressions have no notion of greediness. < 1314405411 366408 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I'm used to (whatever)? === (whatever|epsilon) or maybe I only think I'm used to that and really I'm just 100% confused < 1314405430 497097 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's what ? normally means, *? and +? are special forms < 1314405435 784465 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :ewwww < 1314405439 819356 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because you would never put a ? after * and + < 1314405446 917336 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :otherwise. < 1314405448 539192 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :still, ewwwww < 1314405461 547840 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there's also ?? which I'm not quite so clear on. < 1314405507 680941 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's a nongreedy ?, so I guess it'll match epsilon if the preceeding pattern matches in that case. < 1314405526 668255 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :whereas ? would match the non-epsilon case in situation. < 1314405537 258524 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*that situation < 1314405542 679315 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's not commonly used. < 1314405614 22988 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but anyways in ^(11+?)\1+$ the group in parens will continue to match 1s until any number of repetitions of that group matches the entire string of 1's < 1314405633 872537 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in other words, it consumes 1's until the number of 1's divides the total number. < 1314405640 441116 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or fails otherwise. < 1314405989 907943 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> let sieve (p:xs) = p : sieve (filter (\x -> x `mod` p /= 0) xs) in sieve [2..] < 1314405990 676462 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... < 1314406004 137069 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> let sieve (p:xs) = p : sieve (filter (\x -> x `mod` p /= 0) xs) in drop 1000 $ sieve [2..] < 1314406005 376357 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [7927,7933,7937,7949,7951,7963,7993,8009,8011,8017,8039,8053,8059,8069,8081... < 1314406009 398044 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> let sieve (p:xs) = p : sieve (filter (\x -> x `mod` p /= 0) xs) in drop 10000 $ sieve [2..] < 1314406012 990186 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314406017 367278 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> let sieve (p:xs) = p : sieve (filter (\x -> x `mod` p /= 0) xs) in drop 9999 $ sieve [2..] < 1314406020 963065 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314406027 967436 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> let sieve (p:xs) = p : sieve (filter (\x -> x `mod` p /= 0) xs) in drop 3333 $ sieve [2..] < 1314406031 558658 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314406034 630579 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> let sieve (p:xs) = p : sieve (filter (\x -> x `mod` p /= 0) xs) in drop 2222 $ sieve [2..] < 1314406037 580560 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [19597,19603,19609,19661,19681,19687,19697,19699,19709,19717,19727,19739,19... < 1314406065 173914 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :let sieve (p:xs) = p : sieve {filter (\ x -> x 'mod' p /= 0) xs) < 1314406067 436948 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :er... < 1314406096 903620 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :echo "19739" | perl -lne '(1x$_) !~ /^1?$|^(11+?)\1+$/ && print "$_ is prime"' < 1314406101 900718 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :`run echo "19739" | perl -lne '(1x$_) !~ /^1?$|^(11+?)\1+$/ && print "$_ is prime"' < 1314406104 239820 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :19739 is prime < 1314406132 13240 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> nubBy(((>1).).gcd)[2..] < 1314406133 599707 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... < 1314406145 840719 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(obligatory) < 1314406152 299208 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh that one is nice I forgot about that. < 1314406199 959725 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> drop 5555$nubBy(((>1).).gcd)[2..] < 1314406203 558021 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314406207 570342 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> drop 4444$nubBy(((>1).).gcd)[2..] < 1314406211 168159 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314406212 548804 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> drop 3333$nubBy(((>1).).gcd)[2..] < 1314406216 143644 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314406221 168955 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :about the same in efficiency I guess? < 1314406232 451943 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :well gcd is more expensive than mod < 1314406236 199605 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah < 1314406260 120967 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'll just run it on my machine to get insanely large primes. < 1314406289 497799 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :good luck < 1314406346 589852 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what's the big O on that one? < 1314406356 534248 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and it's not a true erathosthenes's sieve if it doesn't skip over non-multiples efficiently rather than dividing, i think < 1314406371 768975 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :nubBy is pretty inefficient as well iirc < 1314406398 174361 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :well yes but i think nubBy is pretty equivalent to what CakeProphet wrote < 1314406414 927272 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :?src nubBy < 1314406414 999920 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :nubBy eq [] = [] < 1314406415 72773 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :nubBy eq (x:xs) = x : nubBy eq (filter (\ y -> not (eq x y)) xs) < 1314406444 635767 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah that's very similar. < 1314406454 260965 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 260 seconds < 1314406471 281672 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1314406530 544395 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so could you use nubBy with mod? < 1314406535 83442 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :sure < 1314406575 614689 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah but you can't access the x < 1314406584 5405 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :from eq < 1314406584 889842 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> nubBy(((<1).).flip mod)[2..] < 1314406586 322176 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... < 1314406589 697530 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oops < 1314406594 219650 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> nubBy(((<1).).mod)[2..] < 1314406595 611811 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... < 1314406616 920286 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ah it's actually the same length when written with <1 < 1314406621 805880 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION is still waiting for the 9999th prime number to appear in ghci.... < 1314406711 837468 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I know the Perl prime number tester is not very memory efficient, but perhaps it's computationally efficient. < 1314406741 507669 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :probably not though.. < 1314406807 868611 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :`run echo "104729" | perl -lne '(1x$_) !~ /^1?$|^(11+?)\1+$/ && print "$_ is prime"' < 1314406814 813692 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :104729 is prime < 1314406847 299537 :Vorpal!~AnMaster@unaffiliated/anmaster QUIT :Ping timeout: 245 seconds < 1314407097 364133 :Nisstyre!~yours@infocalypse-net.info QUIT :Ping timeout: 245 seconds < 1314407100 174031 :pikhq!~pikhq@71-219-194-199.clsp.qwest.net PRIVMSG #esoteric :That's pretty comedic. You can give the installer an invalid serial number. < 1314407126 812672 :pikhq!~pikhq@71-219-194-199.clsp.qwest.net PRIVMSG #esoteric :It politely informs you that you can't get tech support without a valid one, and asks if you'd like to continue the install, or try again. < 1314407211 502624 :Nisstyre!~yours@infocalypse-net.info JOIN :#esoteric < 1314407365 719561 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :cute < 1314407377 987860 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION pipes a Haskell programming that generates primes to the perl one-liner. a wonderful thing is happening. < 1314407385 636674 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :all my CPU usage is pretty close to 100 < 1314407391 397436 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/all/also/ < 1314407433 219079 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's gradually starting to output slower as the numbers increase. < 1314407497 51154 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :that happens < 1314407503 359472 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :.... >_> yes it does. < 1314407519 91272 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm just wondering at what point it will start to slow to a crawl. < 1314407525 689368 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :currently in the 21k range < 1314407529 98029 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :eventually < 1314407590 721092 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :mmmm it's a beautiful thing. < 1314407599 601539 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what is it < 1314407634 760013 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I just told you.... < 1314407646 311491 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Haskell program generating primes, Perl one-liner thing testing that they're primes. < 1314407651 740030 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh < 1314407661 499073 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and how is that beautiful < 1314407700 893145 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because they're happily communicating on my processor, which is computing mad amounts of instructions. < 1314407712 713079 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I dunno, WHAT IS BEAUTY? monqy? help? < 1314407733 537500 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :help < 1314407859 453607 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wat.... < 1314407874 55030 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :sorted by CPU usage, the two two processes on my machine are currently "perl" and "java" < 1314407881 244302 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :IS HASKELL JAVA? < 1314407897 276832 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :rarely, i believe < 1314407937 716580 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh okay, primes is at 0 < 1314407955 856871 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what is java doing < 1314407957 487148 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :probably because it is working much faster than perl. < 1314407974 617888 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uh, I think it's the java applet for my online class. < 1314407979 725493 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I have no idea what it's doing. < 1314408999 592497 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol, I just tried to define a main function in Python < 1314409004 601351 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'M GETTING MY LANGUAGES CONFUSED AAAAH < 1314409018 532251 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :earlier I tried to use "using" instead of "import" in a Haskell program < 1314409678 534672 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 JOIN :#esoteric < 1314410137 627967 :sllide!~jari@ip565eb113.direct-adsl.nl PRIVMSG #esoteric :i got mentioned? < 1314410196 303568 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :technically < 1314410563 815296 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :super(self.__class__, self).__init__(source) < 1314410569 595936 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Python: a beautiful programming language < 1314410611 469070 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I love writing that line. all the time. it's fun. every underscore is like unadultered joy. < 1314410647 249450 :pikhq!~pikhq@71-219-194-199.clsp.qwest.net QUIT :Ping timeout: 240 seconds < 1314410706 447278 :sllide!~jari@ip565eb113.direct-adsl.nl QUIT :Quit: Leaving < 1314410801 416495 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: super is a waste of time < 1314410820 764259 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :also I'm pretty sure you're meant to put the actual class there, not self.__class__ < 1314410829 1256 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's sort of the whole idea what with subclasses, I gather < 1314410843 784330 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah, I finally remembered what combo I'd bound to turn windows black and white < 1314410854 245004 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :now I'm trying to remember /why/ I bound a complicated combination to do that < 1314410860 975605 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(super-shift-mousewheeldown, fwiw) < 1314410865 500228 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: but seriously, just do Foo.__init__(self, ...) and avoid multiple inheritance forever < 1314410872 77028 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: /mousewheeldown/? < 1314410881 592630 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: yep, and mousewheelup to turn them back again < 1314410886 650229 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hey, it's not like I'm going to press it by accident < 1314410894 8494 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's awful :P < 1314410895 868806 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there are various amounts of desaturation in between < 1314410916 388586 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I knew it was modifiers + mousewheel, but forgot which modifiers < 1314411043 824790 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: if I recall correctly, the super(self.__class__, self).__init__ stuff is "more pythonic" < 1314411095 543193 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maybe I should go ask #python even though they suck dicks. < 1314411105 396721 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: It is literally identical to super unless you have multiple inheritance. < 1314411113 53545 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :If you have multiple inheritance, you have two or more problems. < 1314411133 457577 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: But seriously, I'm pretty sure you _have_ to use it like super(ClassName, self) for it to work properly. < 1314411139 846670 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or later inheritance will mess it up. < 1314411141 399503 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :multiple inheritance suxx < 1314411146 184128 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :nope it's the same. < 1314411157 625961 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :super(self.__class__, self) is the same as super(ClassName, self) < 1314411157 851230 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: No, it patently does not have the same semantics. < 1314411168 640882 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :self.__class_ =/= ClassName if self is an instance of a subclass of ClassName. < 1314411170 915957 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :self.__class__ == ClassName < 1314411176 295243 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh < 1314411178 305447 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :right. < 1314411185 652400 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: You may also enjoy this fun fun fun article: http://fuhm.net/super-harmful/ < 1314411197 295190 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :OH HEY I BET THIS EXPLAINS THIS BUG. < 1314411206 729802 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :tl;dr you have no hope of getting super right, multiple inheritance is shit, just say SuperClass.__init__(self, ...) and be happy. < 1314411234 692227 :Gregor!Gregor@codu.org PRIVMSG #esoteric :HELLO KITTY < 1314411236 756500 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :time to rewrite those lines in 6 or so classes. < 1314411259 927177 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :< Dulak> CakeProphet: super() or call it as ParentClass.method() are the two options, I typically avoid super myself < 1314411264 597059 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Dulak of #python has spoken. < 1314411278 844132 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sounds like a Cardassian name. < 1314411292 22078 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Make sure he doesn't hit you with a rock. < 1314411300 528885 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or several rocks. < 1314411321 538681 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :man I hate #python < 1314411340 756731 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :avoid super? this is so unesoteric < 1314411354 339413 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Are we sure hagb4rd isn't actually a bot? < 1314411362 59114 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :HERE AT ESOTERIC WE VALUE CLEAN, ELEGANT CODE. < 1314411381 264263 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :ACTION passes the turing test < 1314411402 939394 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: not from here you don't < 1314411414 114265 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net PRIVMSG #esoteric :Wasn't there some program mentioned on the wiki meant to take the input/output of esolangs that only have ASCII I/O and use some protocol on them to do tihngs like access files and stuff? < 1314411455 884031 :Gregor!Gregor@codu.org PRIVMSG #esoteric :There have been various, IIRC PSOX is the most recent. < 1314411460 852252 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :MDude: Not ASCII, but eight-bit, yes. You might be thinking of PESOIX or EsoAPI or PSOX. < 1314411465 210056 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But you don't want to. < 1314411516 669778 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :weeeee OOP < 1314411573 853659 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hagb4rd: well as a small turing test, you might explain zygohistomorphic prepromorphisms as applied to the INTERCAL threading model. < 1314411574 740863 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: okay so I've got a huge class tree of AST node types < 1314411591 728753 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: I'm not even sure /I/ can do that < 1314411601 185058 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ais523: shhh < 1314411603 52084 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: that might be one of your problems. < 1314411605 527113 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: but go on. < 1314411608 502413 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :would you consider it bad practice to implement the interpreter by calling an evaluate() method on the top level node? < 1314411622 271746 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which then calls subnodes evaluate methods, etc... < 1314411642 645276 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :oerjan: syntax error < 1314411655 167103 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: itt: visitor pattern < 1314411669 96837 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :basically yes it's fine. < 1314411679 572679 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :awesome because that will actually be more pleasant than the alternative. < 1314411681 180016 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: but you may also want to do it visitor style instead. < 1314411685 715227 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Visitor_pattern#Source < 1314411688 665928 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :which is uh < 1314411693 49357 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :basically just syb: the verbose oop edition < 1314411721 982782 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think that is the same thing as what I was talking about < 1314411727 809773 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it isn't < 1314411734 114692 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh I see the difference. < 1314411737 607756 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's more generic < 1314411741 287536 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but you probably don't care < 1314411761 407287 :oerjan!oerjan@tyrell.nvg.ntnu.no QUIT :Quit: Good night < 1314411764 965643 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :oerjan: would you like to explain it to me? i'd be glad to learn < 1314411765 526131 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I only care if my employer cares. I'm not sure he'll notice all the lengths I'm going through to me everything easy to extend later. < 1314411776 345243 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: a method is better imo < 1314411791 575257 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: so basically the difference here is that the visitor object has a method as well? < 1314411796 774799 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or? < 1314411799 224647 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :...no. < 1314411801 556263 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :just do it as a method < 1314411869 56166 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :instead of the "visitor" object I'll just be passing around an environment object. < 1314411878 90623 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah, you don't understand the visitor pattern, but it doesn't matter < 1314411881 65262 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :with symbol table, stack info, etc. < 1314411885 405798 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :if you want extensibility it's easier to have a method < 1314411894 177757 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :oerjan: i really do not know much, but it took me 30 years of my life to find this channel ;) < 1314411902 570700 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :isn't visitor pattern kidna like monads? < 1314411906 637652 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Patashu: no < 1314411913 552397 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: you spent thirty years of your life wanting an irc channel about esolangs? < 1314411938 337356 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: plz explain visitor pattern. < 1314411953 948304 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net PRIVMSG #esoteric :I was tihnking of making a 2D language that requires miltithreading, but it looks like Flip already does that. < 1314411961 111664 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :isn't visitor pattern where you expose an iterator over all your children? < 1314411966 89247 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :elliot: no not really.. to find a channel i really do not understand anything < 1314411996 558082 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: any channel where people spoke nonsense all day would fit that bill, so i recommend you try #vjn < 1314411997 637130 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: oh wait I see < 1314412003 627529 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's like... double what I'm doing. < 1314412007 841253 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Patashu: yes, which is unrelated to monads. < 1314412020 203815 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :monads are where you can apply a function over a container of values regardless of what the container is, right? < 1314412021 772069 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :that's monadish < 1314412024 613245 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Patashu: no. < 1314412029 52235 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :elliot: and not to forget.. find guys as charming as you are < 1314412032 484358 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :;) < 1314412039 608973 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :as charming as elliott? < 1314412039 707790 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Patashu: that's functors, and the description is misleading < 1314412040 965219 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :that'll be tough < 1314412048 814053 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :("computation" is better than "container" but still not quite accurate) < 1314412056 714248 :Gregor!Gregor@codu.org PRIVMSG #esoteric :hagb4rd: If you had said that a week ago, we'd call the cops on you X-D < 1314412067 198079 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :rofl < 1314412075 257364 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Dude, augur used to talk a lot in here. < 1314412078 730466 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :WHERE WERE THE COPS THEN < 1314412082 198918 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: yeah visitor pattern looks really annoying I'm not going to do that. < 1314412089 208233 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: Having sex with augur, where else? < 1314412101 175747 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :gregor: is your game making progress? < 1314412109 556320 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :finished it? < 1314412125 591352 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: IS ZEE DONE YET < 1314412127 632131 :Gregor!Gregor@codu.org PRIVMSG #esoteric :hagb4rd: It's implemented, but my attempts at making bots for it thusfar have had limited success. < 1314412130 869892 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: *sobblecopter* < 1314412151 317222 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :tried genetically making bots yet? < 1314412155 314777 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION suddenly envisions writing tax processing code using Haskell's List monad < 1314412155 659608 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :limited.. i see < 1314412161 532421 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Patashu: NO U < 1314412164 423583 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Genetic programming is really really shitty. < 1314412171 94775 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But it's still my first thought when I think of rezzo :P < 1314412176 489945 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I mean, see how badly it does for BF Joust < 1314412179 682136 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :rezzo is about ten times more complicated < 1314412184 157286 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1314412196 223497 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You can't just generate a program to do any task that involves some kind of tolerated imperfection :P < 1314412199 689263 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :it's not shitty for -everything- < 1314412506 235401 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wow that did not take long enough to debug, obviously something is wrong. < 1314412676 988846 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: also I'm curious as to how you would do an AST in Python < 1314412688 418704 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :single tree class? < 1314412737 286108 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :first i'd use tuples with the first element being a tag, then i'd kill myself and promise myself i'd do haskell in the next life < 1314412782 17230 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :yea the solution is clean, safe, fast and absolutely wrong < 1314412782 951232 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...I think using a class is actually a better approach in Python. < 1314412793 371317 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :YOU CAN'T CODE HASKELL IN OTHER LANGUAGES, ELLIOTT. < 1314412800 930266 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :IT IS MORE ANNOYING. < 1314412816 758365 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the first thing is... not the haskell solution. < 1314412827 308800 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: seriously, you are literally just parroting things from a qdb, right? < 1314412831 389657 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well right, but haskell-esque < 1314412837 880088 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or like a trite geek phrase database < 1314412847 80076 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: more erlang-esque tbh < 1314412853 391318 :GreaseMonkey!~gm@121-74-67-38.telstraclear.net JOIN :#esoteric < 1314412853 502243 :GreaseMonkey!~gm@121-74-67-38.telstraclear.net QUIT :Changing host < 1314412853 502370 :GreaseMonkey!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1314412884 51710 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: but OO is so elegant! I've got like 77 lines of boilerplate AST code. < 1314412989 481080 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :elliott: y should i do such miserable things? nope.. i read this on a sticker or sth < 1314413000 111293 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: ok < 1314413062 744530 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hagb4rd: do you know how to write computer programs? < 1314413063 352928 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :YES YES YES HASKELL LAZINESS HELPS SOLVE MY PROBLEMS < 1314413074 352338 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :At least one of them, anyway < 1314413082 349822 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :cakeprophet.. yes.. < 1314413101 38669 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I still feel like I'd... wait, State monad would break that, wouldn't it? < 1314413101 482827 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :i've come here to change this < 1314413104 998372 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or not < 1314413138 474437 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or yes < 1314413146 602520 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I should actually try it at some point < 1314413152 682411 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Wonder if the ST monad has these problems < 1314413158 364681 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :cakeprophet: but i'm not working at this lowlevel usually < 1314413173 237545 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :but it's fun < 1314413174 645905 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo < 1314413175 523523 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :low level? < 1314413182 347839 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :ACTION ponders low level haskell... iota? < 1314413184 924538 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what did you do to my client why can i see your messages again :( < 1314413202 196700 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, nothing deliberately < 1314413254 343572 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Patashu: http://hpaste.org/50517 < 1314413262 675491 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :or that < 1314413782 657722 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hagb4rd: what languages do you know? < 1314413791 696980 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also what we've been talking about recently hasn't bee "low level" < 1314413800 936269 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*been < 1314413975 292457 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :is hagb4rd a programmer i thought he wasn't < 1314413978 960012 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :he's been here a while < 1314414194 507414 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :okay.. let me put it this way. my humble job is consulting business parnters in it-issues.. very boring indeed..so nevermind < 1314414241 534633 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :the opposite of operation mindfuck, you know < 1314414372 718476 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net JOIN :#esoteric < 1314414463 919184 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi is bad things happening < 1314414470 580642 :Gregor!Gregor@codu.org PRIVMSG #esoteric : I need a new company cell phone. Random lackey, go buy a Motorola. Aye aye! (later) Which model did you buy? ... model? < 1314414588 613511 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: That was just as funny as the first time I heard it, except instead of Larry Page it was Intel and instead of Motorola it was McAfee! < 1314414601 171579 :Gregor!Gregor@codu.org PRIVMSG #esoteric :*badum* < 1314414776 515602 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :the opposite of operation mindfuck, you knowu practice here < 1314414791 872318 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :sorry < 1314414811 225860 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :i killed my poem < 1314414817 314355 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :*sigh < 1314414824 422874 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :Stepdad types router admin password in plaintext, gets pissed that I noticed. Hooray, dealing with stupid! < 1314414857 479203 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Family: Literally the worst thing? (Since stealing elliott's phrases, anyway) < 1314414890 244604 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I am fairly sure I did not invent any of the mannerisms I use. < 1314414897 248576 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But by all means attribute them to me :P < 1314414899 534266 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Ping timeout: 252 seconds < 1314414923 634418 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I probably invented at least a good few of my mannerisms < 1314414977 692655 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :cakeprophet.. what you do here is the sophisticated, erisian, esoteric scientific approach.. in everyday-life the opposite of what i'm used too < 1314415007 94227 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: have we told you that you've got the wrong definition of esoteric yet < 1314415014 302425 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because you might have < 1314415037 347293 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :Anyways. I've got DESQview X working, but I can't get the friggin' network stack to work < 1314415112 583157 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :elliott: u don't miss any chance to do so, yes < 1314415124 403271 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ok < 1314415129 117510 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :what is esoteric than? < 1314415190 902084 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :my english seems infantile but i'm a fucking intelligent bot < 1314415197 782658 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :so explain < 1314415201 910471 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://esolangs.org/wiki/Main_Page, http://en.wikipedia.org/wiki/Esoteric_programming_language might help :) < 1314415243 732767 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :ok... thank you < 1314415381 372221 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hagb4rd: so you can't program? we should fix that < 1314415398 648037 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :CakeProphet: right < 1314415399 647956 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :are you sure this is a good idea.... < 1314415410 822037 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :teaching someone how to program is always a good idea. < 1314415411 899929 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :always. < 1314415414 590640 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :always? < 1314415416 710905 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yep. < 1314415430 483214 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :so uh < 1314415432 567420 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :how are you going to < 1314415433 292824 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :uh < 1314415433 679665 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :do < 1314415434 205564 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :this < 1314415443 961561 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm not. IT WILL SIMPLY HAPPEN. < 1314415446 335503 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh < 1314415446 919890 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :okay < 1314415449 523455 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :well < 1314415450 735423 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :good luck < 1314415451 399989 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :with < 1314415451 795374 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :that < 1314415455 374156 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :let me just listen for a while and ignore my stupid comments < 1314415457 212280 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and I will wait, and continue working on my project. < 1314415463 631972 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well you certainly won't learn that way. < 1314415475 881884 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you'll just listen to us and not know what we're talking about at all. < 1314415489 791124 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: teach him Haskell. go < 1314415498 476452 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :YES < 1314415499 354408 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: you know histomorphism morphisms? < 1314415502 25906 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :CAN HAS NETWORKING < 1314415509 286662 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well what prepromorphisms are to morphisms < 1314415515 242164 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and zygohistomorphisms are to histomorphisms < 1314415522 379215 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :help < 1314415525 300530 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :are to zygohistomorphic prepromorphisms < 1314415533 516036 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what histomorphic morphisms are < 1314415537 771360 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hope this helps < 1314415544 45907 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :no, but i have a hairdresser callled dominique < 1314415563 173864 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: I'm hoping you just made those words up < 1314415566 293455 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and they have no formal meaning. < 1314415577 174308 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :(aside from morphism) < 1314415594 513777 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :morphism! < 1314415602 422262 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: zygohistomorphic prepromorphisms are real. < 1314415608 486016 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :see http://www.haskell.org/haskellwiki/Zygohistomorphic_prepromorphisms, http://stackoverflow.com/questions/5057136/real-world-applications-of-zygohistomorphic-prepromorphisms < 1314415628 524644 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: oh, http://www.reddit.com/r/programming/comments/6ml1y/a_pretty_useful_haskell_snippet/c04ako5 before the stackoverflow link < 1314415628 668948 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no thanks I'm currently working on making 2 grand. < 1314415634 174638 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but maybe later. < 1314415639 527041 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :okay.. that should be enough to confuse me in lesson1..thx < 1314415656 575786 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hagb4rd: no you definitely need to read an introductory text on how to program in some language. < 1314415661 185261 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or have a good teacher. < 1314415676 255436 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if you seriously want to learn. < 1314415683 985506 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and not just read confusing things you don't understand. < 1314415695 479330 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :okay.. i'm used to c, java, pearl and stuff you're really not interested it < 1314415707 618609 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: well, that's what the other kind of esoteric is all about. < 1314415714 590549 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so it must do something for a lot of people < 1314415718 244945 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :i recommend the a gentle introduction to haskell < 1314415726 85582 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :i know elliott < 1314415729 903667 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: its very gentle < 1314415731 570384 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :so far < 1314415747 547099 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :but i will read this articles..i promise < 1314415767 569230 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :these < 1314415793 806172 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :don't, they're jokes. < 1314415794 418610 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :my favorite part about writing a parser by hand has been: the myriad of error messages < 1314415797 847189 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so much fun. < 1314415810 82600 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: you should write it in haskell instead. and then also use trifecta or something < 1314415821 26656 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lolwat < 1314415826 578606 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :trifecta implies 3 of something. < 1314415839 918387 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :NO SENSE IS MADE HELP < 1314415848 586898 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it's a sweet parser library edwardk has been writing < 1314415853 483110 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it's awesome < 1314415853 818711 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1314415856 320542 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: http://hackage.haskell.org/package/trifecta < 1314415859 297190 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/$/[(]C[)]/ < 1314415863 312628 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i haven't used it but apparently it is like parsec but nicer?? < 1314415870 520156 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and i hear it gives fancy syntax-highlighted automatic errors like clang does < 1314415876 819455 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh, no too late for that. and this guy wants it in Python. < 1314415880 174263 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :as opposed to parsec's errors which are.... not good......... < 1314415888 217499 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :neat. < 1314415889 582663 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: that's ok, just write a python bytecode backend for ghc < 1314415893 429553 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :heh < 1314415895 268440 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah okay. < 1314415901 898962 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that is totally possible. < 1314415906 312857 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it also gives you syntax highlighting in html or other outputs if you want < 1314415907 61512 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :of course it is < 1314415910 564442 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and will also support completion < 1314415910 819446 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because python bytecode is so non-language specific. < 1314415911 62662 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :not even that hard, I would guess < 1314415913 684242 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :stg isn't that complicated is it? < 1314415923 811482 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: um python bytecode is actually really easy to target < 1314415924 939035 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :okay..let's start with haskell then < 1314415928 255612 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's just a really simple stack machine < 1314415931 932492 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :with a few object things < 1314415947 910333 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes I know. but would that be easy to translate to from a functional language? < 1314415953 458290 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :Let's see how hella-slow this is. < 1314415963 987698 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :It segfaulted! < 1314415964 60244 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: ghc doesn't go straight from haskell to assembly dude < 1314415969 610012 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I am aware. < 1314415976 925067 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net NICK :MSleep < 1314415985 231964 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so you're saying translate either Core or C to Python bytecode yes? < 1314415989 250263 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or is there another step inbetween? < 1314415991 696810 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: no, either STG or Cmm < 1314416000 850211 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh, those are new to me... < 1314416011 290286 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it goes Haskell → Core → STG → Cmm → backend, I believe < 1314416026 817228 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Cmm is just GHC's internal dialect of C-- (http://www.cminusminus.org/) < 1314416032 889454 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so it's basically C but with fewer assumptions and no high-level features. < 1314416041 611584 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what about STG? < 1314416047 808247 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I dunno how nice stg would be to compile, ask copumpkin :-D < 1314416055 691361 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what kind of language is it though. < 1314416059 337376 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but I'm pretty sure it's more functional-ish than Cmm < 1314416065 373978 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so probably you want to turn Cmm into Python bytecode < 1314416071 810191 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm, now I want to implement this :/ < 1314416075 169993 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it's not really a visible language < 1314416081 232384 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :Okay. < 1314416089 812811 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :what's your opinio on ms' f# < 1314416091 911800 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :This message sent from DOS. < 1314416092 804293 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: tell me writing a Cmm → Python bytecode compiler is a bad idea < 1314416102 980413 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :it wouldn't be impossible, but I wouldn't do it < 1314416106 46891 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hagb4rd: it's like OCaml except proprietary and not nice < 1314416108 560562 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hagb4rd: I don't really have one. Kind of neutralish. < 1314416115 385860 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: btw, "it's not really a visible language" - about STG or Cmm? < 1314416121 352452 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :stg la < 1314416130 619334 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I mean obviously none of it is "visible" but backends have to process something :P < 1314416135 614935 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :STG < 1314416141 65924 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :cmm I write a decent amount of < 1314416146 163611 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm almost convinced there's no clean way to write a parser via imperative style. < 1314416157 763271 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: well, right, a bunch of the rts is cmm isn't it < 1314416165 384102 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :some of it < 1314416167 921246 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :most is in plain C < 1314416169 479829 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: imperative programs compose terrible, q.e.d.? < 1314416177 512236 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin: close enough to a bunch for me < 1314416200 957012 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION takes a look at http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/CmmType < 1314416246 452099 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i like how most of this is "exactly like C-- EXCEPT ..." < 1314416299 105975 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: though at least python has a partition method which makes things somewhat cleaner. < 1314416309 645095 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :still I find myself resorting to character-by-character loops more than I would like. < 1314416316 839949 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: you could just use a parser combinator library < 1314416343 396253 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...I'm already almost done with this though, so.. I'll just use this. < 1314416354 605411 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION has about a week to implement the interpreter and the frontend stuff. < 1314416357 61546 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :why didn't you use a parser combinator library to start with < 1314416363 370281 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: what are you actually coding < 1314416363 585411 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and test, and document everything. < 1314416381 427858 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it sounds like someone is paying you a small amount of money to implement a language but that scares me because why........... < 1314416397 55958 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :cakeprophets language "its totally cool and good okay" < 1314416398 363508 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :please tell me it's at least a dsl < 1314416461 952424 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :My goodness this is amazing. < 1314416475 204296 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :pikhq, hm? < 1314416495 245959 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :This xterm is running in a DOS X server. < 1314416525 569149 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Cool. Why would anyone make a DOS X server though? < 1314416529 560951 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Except for fun < 1314416533 580493 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or if it's old < 1314416542 737557 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :It's fucking ancient. < 1314416559 902962 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :This features the ability to run Win 3.1 alongside X. < 1314416561 639855 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION repeats to self "X is not new. X is not new" < 1314416568 924928 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :x is not new < 1314416649 94486 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :DOS is more ancient than you would like to think. < 1314416686 747384 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :It's not DOS that I'm failing to think of as ancient (although I guess that too), but X. < 1314416736 957731 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :Yeah. Still, it's utterly insane. < 1314416783 603069 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION has got mad language writing skills dawg. < 1314416788 411701 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :don't even try to diss my shit. < 1314416795 495397 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :dissing < 1314416803 913572 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: dude wait till I write my regex-inspired language. < 1314416806 883057 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :bricks will be shat. < 1314416808 972306 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you will be in awe. < 1314416811 683822 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :CakeProphet: perl? < 1314416813 863164 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :of how bad it is < 1314416815 457149 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and awful < 1314416816 316995 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and ugly < 1314416817 306680 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and gross < 1314416817 942648 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Patashu: harr harr har < 1314416862 305869 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah because it makes complete sense for Perl to be inspired by a subset of itself. < 1314416888 414445 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :I could go deeper. < 1314416902 344390 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :I could start qemu. < 1314416951 435183 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :actually regex is a superset of Perl due to (?{...}) and friends < 1314416969 465086 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and Perl is a superset of Perl regex. < 1314416981 973580 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :oh shi- < 1314416983 195192 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :PARADOX < 1314416995 15460 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Wall's Paradox. < 1314417060 89351 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: essentially it's like regex except patterns have return values and there's basically a large set of "patterns" that are zero-width < 1314417076 848288 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so it's actually not like regex at all. < 1314417105 608822 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and more like a programming language with regular expression operations as first-class citizens. < 1314417161 180737 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also there's multiple contexts that an expression can be evaluated in, like Perl. < 1314417176 998500 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :IT'S THE BEST THING EVER YOU WILL SEE. < 1314417186 418603 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :ew contexts (puke) < 1314417192 989131 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :multiple contexts is basically implicit casting right? < 1314417219 796617 :variable!~thing@unaffiliated/variable QUIT :Remote host closed the connection < 1314417267 99332 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Patashu: sort of. < 1314417287 691401 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's a runtime occurence. < 1314417312 902413 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also in Perl subroutines can routine two completely different things based on their context. < 1314417329 102779 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the builtin operators do this often, and user-defined subroutines can do it with the wantarray operator < 1314417345 429836 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/routine/return/ < 1314417350 646228 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :ah, that's interesting < 1314417354 683897 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :that's something overloaded functions don't do < 1314417361 482405 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :indeed. < 1314417386 810021 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :(puke)(puke)(puke) < 1314417405 684900 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :puk < 1314417415 867716 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :*ponders object contexts plus polymorphism* < 1314417428 805526 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl $_='test'; print /test/ < 1314417429 263388 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1314417452 234147 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl $_='test'; print /(.)(.)(.)(.)/ < 1314417452 667600 :EgoBot!foobar@codu.org PRIVMSG #esoteric :test < 1314417469 804655 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl $_='test'; print scalar /(.)(.)(.)(.)/ < 1314417470 260513 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Warning: Use of "scalar" without parentheses is ambiguous at /tmp/input.29688 line 1. < 1314417478 183374 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl $_='test'; print (scalar /(.)(.)(.)(.)/) < 1314417478 584376 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Warning: Use of "scalar" without parentheses is ambiguous at /tmp/input.29772 line 1. < 1314417484 333352 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl $_='test'; print scalar (/(.)(.)(.)(.)/) < 1314417484 760462 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1314417486 293767 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lolwat < 1314417492 874507 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't really see how it was ambiguous but OKAY. < 1314417505 896486 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so yeah in list context regex match returns a list of its captures < 1314417515 23330 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet ~ "maybe not as well-versed in perls grammar as perl" < 1314417517 815612 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the eulogy < 1314417523 664609 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in scalar context it returns 1 or undef < 1314417613 677451 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Patashu: also because Perl subroutines take a list as their single argument that means passing as argument = list context < 1314417632 216897 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Patashu: unless you use scalar, which forces scalar context, as I did. < 1314417636 982242 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :!perl $_=':P'; print /(.)(.)/ < 1314417637 314660 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​:P < 1314417641 581712 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :was < 1314417648 354362 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :esoteric < 1314417654 208544 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :rifg < 1314417697 5008 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :last but not least it was kind of erotic < 1314417717 978248 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's not really esoteric at all. < 1314417741 260567 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :not erotic < 1314417752 458657 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :but it was a joke < 1314417770 351259 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :i try < 1314417775 721554 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :harder next time < 1314417822 892987 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :ok < 1314417877 49547 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I actually do find Perl code to be beautiful. < 1314417883 808922 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :lol < 1314417892 862624 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :CakeProphet: ack < 1314417904 161525 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :I find vb code to be beautiful < 1314417960 380955 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :$x=0;map{/i/&&$x++;/d/&&$x!=0&&$x--;/o/&&print"$x\n";$x*=$x!=16&&$x if/s/}<> < 1314417961 286423 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net PRIVMSG #esoteric :                                          | < 1314417961 553188 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net PRIVMSG #esoteric :                                          >\ < 1314417970 11212 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :beautiful. < 1314418036 701011 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :myndzi is the best part < 1314418371 392597 :variable!~thing@unaffiliated/variable JOIN :#esoteric < 1314418488 179937 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net PRIVMSG #esoteric :I kinda wonder why this thing seem to miss key presses intermittently. < 1314418964 870069 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net JOIN :#esoteric < 1314419039 854086 :pikhq!~pikhq@71-219-220-233.clsp.qwest.net QUIT :Ping timeout: 258 seconds < 1314419104 173507 :Nisstyre!~yours@infocalypse-net.info NICK :luig1 < 1314419114 6713 :luig1!~yours@infocalypse-net.info NICK :nisstyre < 1314419296 65430 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :this is an awesone piece of js code http://deanm.github.com/pre3d/monster.html < 1314419328 93365 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :"awesome piece of js" -- that statement cancels itself out and becomes nothingness < 1314419334 91961 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :+code < 1314419427 237731 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :maths can create such beauty.. and remains the most powerful tool of all < 1314419437 263564 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION stares at the tentacle ball for a few moments. < 1314419447 896712 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :look at the code < 1314419458 64113 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm afraid to. < 1314419487 141183 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :http://deanm.github.com/pre3d/monster.js < 1314419590 668149 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah I found it. it's pretty much not very possible to read. < 1314419601 385837 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but from what I can tell it manipulates a canvas object. < 1314419709 330239 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that looks obfuscated :P < 1314419713 48140 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :as in mechanically < 1314419731 588644 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :for compression purposes, presumably < 1314419732 87652 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :use beautify.js < 1314419744 913934 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :https://github.com/deanm/pre3d/tree/master/demos dunno if that demo is here though < 1314420050 292616 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :i try to get it formatted.. but even that seems not be trivial < 1314420070 781871 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :what the hell happens there < 1314420228 707448 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I find it funny that pastebin.com lists "Rails" but not "Ruby" < 1314420694 822916 :elliott!~elliott@unaffiliated/elliott QUIT :Ping timeout: 264 seconds < 1314420845 677383 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://www.youtube.com/watch?v=O2rGTXHvPCQ -- How IRC works, according to American television < 1314420966 112110 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net JOIN :#esoteric < 1314421256 998129 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :old stuff < 1314421274 739556 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :but good < 1314421281 752982 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy -- resident cool kid < 1314421287 757815 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :sure < 1314421296 982428 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :thank you. < 1314421489 521364 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :There are no good functional languages with web libraries that I like that I can also use on a shared hosting provider. < 1314421519 447905 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I guess this is the part where I say "I might have to make one!" < 1314421522 986115 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Haskell. < 1314421564 818800 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :s/(functional languages)/$1 that I like/ < 1314421605 765282 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Haskell isn't so bad. < 1314421614 402644 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Lately I've seen type systems as more of a gimmick than anything. < 1314421618 676236 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :... < 1314421628 718141 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you don't know anything about type systems. < 1314421633 148613 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or Haskells < 1314421644 846730 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I don't know much about Haskell. < 1314421659 859971 :azaq231!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1314421676 537491 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Never written anything non-trivial in it. < 1314421687 859547 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :do you know how the type system works? < 1314421714 579617 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Ping timeout: 260 seconds < 1314421738 340296 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :CakeProphet: Aaah, how hackers talk when they don't want to be overheard. XD < 1314421744 392496 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Generally speaking, yes. I don't know what you're getting at. < 1314421750 239848 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :how is it a gimmick. < 1314421776 309675 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Also, |)\34|_ #4><><0|)\5 |_|53 1337. < 1314421781 652118 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :pikhq_: yeah that's totally how it works. thanks smart math show. < 1314421828 666238 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :A type system is gimmicky in that it serves only to enforce contracts that probably wouldn't have been violated anyway. < 1314421836 691540 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :..uh < 1314421840 922770 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Static typing requires type annotation at some point, even with type inference. < 1314421858 374942 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :So you do have up-front work to do. < 1314421873 657382 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I just don't think it's necessary for all programs. < 1314421876 203791 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you do know that programs are not written perfectly the first time, right? and that type errors are a common result of this? < 1314421899 831032 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :The notion of type error is tied to a type system, though. < 1314421909 375465 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and also, that Haskell will most of the time infer type unless you are using advanced features or need to resolve an ambiguity. < 1314421930 906 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :No, a type error can happen otherwise. It's just nowhere near as *clear* that's what happening. < 1314421971 126903 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :So a type error in an untyped language is just a logic error. < 1314421978 695540 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Or dynamically typed or what have you. < 1314421981 338834 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Particular form thereof. < 1314421984 647404 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :evincar: also, a well-made type system helps to /guarantee/ that when your program compiles it will be well-formed, to a degree that the strictness of the type system allows. < 1314421998 312349 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :One where you're using the wrong *sort* of value in a place. < 1314422027 673096 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I'm not saying type systems in general are bad, nor static type systems explicitly. < 1314422041 431038 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :You're saying it's "gimmicky". < 1314422043 946284 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I just don't think the majority of software needs to be typed. < 1314422065 877522 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :You are one insane optimist. < 1314422068 120752 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :And that use of typing in software that *doesn't* need it is merely a gimmick. < 1314422081 391697 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :The majority of software needs as absolute much help as it can *get*. < 1314422082 563528 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Can you give an example of needing typing then? < 1314422103 811651 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Most software is not merely poor, it is *terrible* and *fundamentally broken*. < 1314422122 747364 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Give me a choice, though. < 1314422133 239852 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :evincar: when my Haskell program compiles, I know I have finished most of the debugging process. The only thing that remains are logic errors (and no, runtime type errors are not logic errors, like you said) < 1314422133 687732 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :A strong type system can make this less prevalent. < 1314422136 808791 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Type annotations are great as an optimisation. < 1314422157 18389 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :evincar: Haskell requires almost no type annotations. that's not an argument against a well-made type system. < 1314422178 735904 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I just don't think that there's significant value to be gained by *omitting* features from a language, namely unrestricted typing. < 1314422188 885650 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :"features" < 1314422193 479864 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :s/unrestricted typing/unrestricted memory access/ < 1314422197 148825 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Any further questions? < 1314422206 979097 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :That's not what I mean at all and you know it. < 1314422217 938262 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :It's quite analogous. < 1314422229 167333 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you mean weak typing or the ability to use the wrong type in the wrong place? < 1314422248 232591 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :More or less. I like being able to be wrong. < 1314422252 118283 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!python print 2+"2" < 1314422252 883618 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Traceback (most recent call last): < 1314422254 271228 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Unrestricted memory access, as per common implementations of C, gives you a *lot* of power. It also gives you the ability to summon nasal demons. < 1314422272 725450 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Most programmers, given power, will manage to summon nasal demons. < 1314422274 344105 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Just in case I need to be "wrong" in that particular way at some point. < 1314422285 79856 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :but.....unsafecoerce < 1314422302 779011 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Also, yes, you can do *really* nasty things to Haskell's type system if you want. < 1314422319 363635 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :This, for good reason, is neither the default nor encouraged. < 1314422369 60931 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :evincar: the fact of the matter is that Haskell's type system is in no way obstructive to your ability to be wrong. < 1314422388 38117 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :CakeProphet: Maybe he wants the ability to be unintentionally wrong? < 1314422427 742091 :kwertii!~kwertii@ResNet-33-19.resnet.ucsb.edu QUIT :Quit: bye < 1314422450 82138 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :evincar: perhaps you should learn it because it will completely change the way you look at type systems. < 1314422462 572500 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION had a sort-of similar viewpoint before he had learned Haskll. < 1314422467 472105 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :+e < 1314422468 406372 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I dunno, I just think it should be all-or-nothing. < 1314422480 978595 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :You stay out of my way or you give me powerful tools. < 1314422481 50747 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what do you mean. < 1314422485 918231 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 PRIVMSG #esoteric :intermezzo: http://www.youtube.com/watch?v=3417VhdGScc < 1314422487 552983 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :And I've no doubt Haskell's tools are powerful. < 1314422490 575340 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :So I'm not knocking it. < 1314422499 58027 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :It's just not my cup of tea. < 1314422503 491565 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :At the moment. < 1314422517 93092 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :evincar: because it tells you at compile time when there's a type error? I don't understand. < 1314422525 321724 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :type errors are like... inevitable. < 1314422532 464042 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :unless it's a weakly typed language. < 1314422553 570441 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I mean, in a dependently-typed language, with enough type information, you can consider any error a type error. < 1314422600 995314 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :That's cool, and in systems that have an approximate analogue to dependent typing, you get at least some of that power. < 1314422652 197395 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :>_> why are we talking about dependent typing now. < 1314422656 350533 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :It should be that either every error is a type error, or none is. < 1314422673 104530 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wat. < 1314422673 177366 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Or so it seems to me at the moment. < 1314422690 544356 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there should just be segfaults. < 1314422693 814014 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :only segfaults < 1314422701 425286 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :there should be no errors < 1314422703 230220 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :absolutely none! < 1314422710 833901 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :if you run it it runs no matter what you put in < 1314422712 493970 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Heh. < 1314422712 667021 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :(iota anyone?) < 1314422715 224277 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I'm not an idealist. < 1314422758 251408 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Anyway, I'll look into getting Haskell to run on Bluehost. < 1314422853 677840 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t read < 1314422854 417326 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Read a) => String -> a < 1314422859 806918 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> read "3" :: Int < 1314422860 480534 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 3 < 1314422976 989496 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :parser is finsihed. time to move on the interpreter. < 1314423454 337647 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...the parser is so ugly though. Really I should have tokenized the input first. < 1314423675 27038 :augur!~augur@129.2.129.32 QUIT :Remote host closed the connection < 1314423712 507990 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1314423985 394047 :augur!~augur@129.2.129.32 QUIT :Ping timeout: 252 seconds < 1314424217 430254 :Guest21058!~adrian@188.27.205.16 JOIN :#esoteric < 1314424290 996296 :Guest21058!~adrian@188.27.205.16 QUIT :Quit: Ex-Chat < 1314424308 347707 :Guest21058!~adrian@188.27.205.16 JOIN :#esoteric < 1314424397 881667 :Guest21058!~adrian@188.27.205.16 QUIT :Client Quit < 1314424634 265736 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think it is entirely stupid that Python has no sensible way to hide methods from an interface. < 1314424704 18006 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I understand the designer wants you to be able to poke around in the internals, but at least a way to hide things from documentation would be nice. < 1314425624 319477 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: help how do I use lambdabot to send messages to people. < 1314425669 260643 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :@help tell < 1314425669 401404 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :tell . When shows activity, tell them . < 1314426076 155857 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@src words < 1314426076 266947 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :words s = case dropWhile isSpace s of < 1314426076 339065 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : "" -> [] < 1314426076 339272 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : s' -> w : words s'' where (w, s'') = break isSpace s' < 1314426084 244917 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :@tell CakeProphet You tell me? < 1314426084 317921 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1314426128 857886 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t break < 1314426128 930209 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :CakeProphet: You have 2 new messages. '/msg lambdabot @messages' to read them. < 1314426129 566300 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (a -> Bool) -> [a] -> ([a], [a]) < 1314426140 890705 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :CakeProphet probabley telled privately......... < 1314426145 330150 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :was it a secret < 1314426157 117154 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uh, no, but no one elses business :P < 1314427148 963852 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@messages < 1314427149 36425 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :quicksilver said 1y 2m 18d 19h 54m 29s ago: you use @tell < 1314427149 108728 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :pikhq_ said 17m 44s ago: You tell me? < 1314427175 184161 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol, I apparently asked this question a year ago. < 1314427182 846369 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric ::D < 1314427188 887480 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Beautiful. < 1314427351 50183 :azaq231!~derivecto@unaffiliated/azaq23 QUIT :Quit: Leaving. < 1314427855 130250 :GreaseMonkey!~gm@unaffiliated/greasemonkey QUIT :Quit: The Other Game < 1314428135 254084 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`addquote monqy: help how do I use lambdabot to send messages to people. [...around half an hour later...] @messages quicksilver said 1y 2m 18d 19h 54m 29s ago: you use @tell < 1314428137 322878 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :629) monqy: help how do I use lambdabot to send messages to people. [...around half an hour later...] @messages quicksilver said 1y 2m 18d 19h 54m 29s ago: you use @tell < 1314428146 392066 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :truly awesome < 1314428298 1405 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the unnecessary accuracy on the date just makes it better < 1314428435 926282 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :interesting that lambdabot doesn't remind of messages if you miss the first "you have messages" message < 1314428441 861134 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :until another message is sent < 1314428575 3088 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1314428976 921106 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :mmm hookah. < 1314429035 912875 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :all smoke should taste like gingerbread. < 1314429050 373916 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :even when it's smoke from a housefire. < 1314430374 400044 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :ACTION is jealous. < 1314430396 17895 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Although the last (and first) time I smoked a hookah was a bit extreme. < 1314430741 399628 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :extreme? < 1314430751 251125 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION smokes three bowls in a row, sometimes. < 1314430759 943 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perhaps I just have ridiculous tolerance < 1314430797 591816 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :okay so now my parser REALLY works, after some thorough debugging. I now know the proper way to write a really shitty parser, and will avoid doing so in the future < 1314430808 660048 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :by properly tokenizing the input before I begin constructing the AST. < 1314430825 804780 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :how about using a parser combinator library < 1314430834 900524 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: that too < 1314430875 802201 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but I would also like to be able to construct an elegant parser from scratch. < 1314430919 46949 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hint it won't be elegant give up now < 1314430930 279616 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :before its < 1314430931 204870 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :too late < 1314430935 292329 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I'm doing an experiment with an ugly parser at the moment. < 1314430941 602192 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's already too late. This is not my elegant parser. < 1314430955 134161 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :This is my first attempt to write a non-trivial parser, really. < 1314430969 410618 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I thought "what's the most painful way to model parsing?" < 1314430971 224894 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :non-trivial? < 1314430978 694741 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :And to myself replied "iterators!" < 1314430984 354711 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :evincar: lulz < 1314430988 234677 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :if it's nontrivial you shouldn't be writing it by hand < 1314430994 646382 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :evincar: eh? c++? < 1314430997 463726 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :It's simple. < 1314431000 439599 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Yeah, C++. < 1314431041 232725 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: nonsense. < 1314431062 964013 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :one time I had to write a parser in c++. it was LL(1) and there were helpers and everything for doing tokenizeng and building the AST though so whatever < 1314431063 309467 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :do most programming languages use parsing libraries for their parsers? < 1314431077 509318 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :"most programming languages"? < 1314431081 927881 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :do you mean most implementations? < 1314431087 520345 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and how should I know < 1314431090 865143 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: what do you think? < 1314431093 374601 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :though probably most of them use parser generators < 1314431100 414917 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :do I really need to be explicit at every moment in every conversation? < 1314431102 40374 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yacc/bison and its ilk < 1314431104 976433 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yes < 1314431106 24410 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :you do < 1314431109 815783 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I can't just say "programming language" and get away with what I really mean? < 1314431115 51673 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :no < 1314431118 822916 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I mean yes < 1314431119 713294 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :you can't < 1314431123 520112 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :also no you can't < 1314431186 35404 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :or wait was the lexer by hand too < 1314431189 759967 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I think it may have been < 1314431197 688278 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :my favorite question to receive from someone who knows nothing about programming: "why are there so many programming languages? why not just have one." < 1314431208 315569 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :do people really ask that? < 1314431209 221368 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :really? < 1314431213 356167 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a few times < 1314431228 174096 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Paul Graham says the same thing occasionally. < 1314431229 324553 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :why are there so many natural languages why not just have one < 1314431235 657629 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Because he has such a hard-on for Lisp. < 1314431266 499175 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :does he really say that in the same sense? < 1314431269 36947 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :if so: wow < 1314431285 778752 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also is there any kind of lexer that adds structure to the output tokens? < 1314431285 965338 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :where the same sense is "i am genuinely puzzled by the existence of multiple programming languages" < 1314431291 7940 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :like for brackets and such? < 1314431312 733772 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :mmh? < 1314431330 10635 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :monqy: No, obviously not. He's just saying "Why doesn't everyone just use Lisp?" < 1314431334 339491 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :seems like you could go ahead and get that step out of the way and simplify the parser < 1314431340 55686 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Although he goes on to give very good reasons why not. < 1314431346 603266 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :evincar: yes that is a different sense < 1314431350 902024 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :evincar: a very different sense < 1314431359 103877 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :evincar: it's not even saying the same thing at all < 1314431373 566309 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :CakeProphet: what step < 1314431386 670976 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Superficially it is. "Why so many? Why not just (this) one?" < 1314431398 261702 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :That was the joke. < 1314431399 891613 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :evincar: if superficially means using the same words < 1314431400 499048 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric ::P < 1314431402 364598 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :it was a bad joke < 1314431413 928203 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Fine, I'll keep working on my bad parser. < 1314431415 490972 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: the step of structuring the program by brackets, string literals, and so forth. < 1314431421 502157 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I am why we can't have nice things. < 1314431423 170507 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :without fully generating the AST < 1314431456 624726 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :CakeProphet: You want a concrete syntax tree? < 1314431502 323927 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :That is, reflecting only the syntactic structure of the program, with any static meaning attached. < 1314431524 557279 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Unless you mean not that. < 1314431554 733983 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm not really sure if it would help, but I think it would be easier if you went ahead and generated a semi-abstract syntax tree of some sort. < 1314431566 24651 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what?? < 1314431567 351743 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :only structuring by brackets < 1314431624 454311 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in the lexer step, so that when you parse the full AST you already an idea of where things stop and end. < 1314431631 153756 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*already have < 1314431639 97941 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :that would complicate the lexer a lot, unless it's already really complicated < 1314431645 836585 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :So just a tree of tokens. < 1314431650 634006 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes. < 1314431653 171400 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Nah, it wouldn't be terribly complicated. < 1314431664 980938 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :See a "(", go down a level. < 1314431665 223631 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and I'm not entirely sure what you mean by structing by brackets < 1314431666 183817 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: but it would simplify the parser to a degree. < 1314431681 286036 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :See a "]" that doesn't match the "(" above you, error. < 1314431692 943504 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :It automagically takes care of nesting. < 1314431695 64880 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: ....how does that not make sense. (stuff (goes here) ) is your input string < 1314431704 594884 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :bam, now it is the token list ("stuff" ("goes" "here")) < 1314431712 103667 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*token tree < 1314431774 927683 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I wasn't sure what you meant by brackets < 1314431789 376925 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so now when the parser scans the tokens, it doesn't have to deal with parentheses. < 1314431790 569397 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :still not < 1314431819 995461 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: [()[\]{}<>] < 1314431828 940413 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :that isn't language-universal i hope you know < 1314431833 105319 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes I know. < 1314431835 606661 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I am explaining < 1314431836 535233 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what I mean < 1314431837 845847 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :by brackets. < 1314431841 864576 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :anyway that's not the lexer's job; add another step if you want it < 1314431842 189640 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :for fucks sake. < 1314431921 427345 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :also < 1314431958 858957 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :while the added complexity to the parser of having to traverse the tree is pretty minimal, you have considered it, right < 1314431961 818943 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :? < 1314431966 896900 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1314431977 681383 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :anyway just use a parser combinator library < 1314432011 950688 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and I believe it would be simpler to traverse the tree of tokens that it would be to construct it from a flat list of tokens, while also worrying about everything else that needs to be parsed correctly. < 1314432019 658628 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/that/than/ < 1314432028 738719 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in the same pass. < 1314432079 414854 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :but when you aren't writing it all by hand, you ~don't have to worry~ < 1314432085 749970 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes I know. < 1314432095 451510 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :so what's your point < 1314432143 803061 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :sometimes it's just nice to have experience with something. Also, there are situations where you might not have such a library or it would be beneficial to not have an extra dependency. < 1314432153 248373 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :????? < 1314432163 189903 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh < 1314432170 582898 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :the virtues of hand-writing parsers? < 1314432183 282009 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Consider it a learning experience. < 1314432185 82640 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :in such a case I'd hand write a parser combinator library, or at least a parser generator < 1314432190 513189 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes, I like to learn things. < 1314432198 955846 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Consider it a research experience. < 1314432219 744687 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I've had all the parser-handwriting experience I feel I need < 1314432265 563451 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perhaps I need more experience with "using appropriate libraries" < 1314432269 752357 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this is a skill I am lacking in. :P < 1314432323 803263 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also what if I ever want to write a Perl implementation? < 1314432336 168985 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what's so special about perl < 1314432364 134338 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I believe the parser must be Turing complete in order to be correct. < 1314432391 484415 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or at least perl's (the only implementation I know of) is. < 1314432391 556276 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :??? < 1314432414 713401 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :???? < 1314432415 53115 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what do you mean by the parser being turing complee < 1314432496 234898 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't believe it can be statically parsed < 1314432543 286581 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://www.perlmonks.org/?node_id=663393 < 1314432576 833232 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au QUIT :Ping timeout: 264 seconds < 1314432653 979287 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this is probably why most Perl syntax highlighters are horrible. < 1314432759 148256 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh I've just never heard "turing complete" used in that sense < 1314432765 480533 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and: http://www.jeffreykegler.com/Home/perl-and-undecidability < 1314432767 251055 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I don't think it's the right term. < 1314432771 40341 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :probably not. < 1314432772 168568 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yeah that's probably why < 1314432869 932421 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :parsing Perl can require running Perl. < 1314432996 874974 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I recall reading that the perl parser uses a number of hueristics to basically guess what the source code means. < 1314433052 916574 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Those are largely unrelated. < 1314433059 868006 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I mean, they both take place in the parser. < 1314433086 356943 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :right, what I mean is that a parser library probably is not going to allow me to do that. < 1314433092 790653 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :But one is related to the fact that later code is subject to interpretation in the context of earlier code. < 1314433101 657092 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :While the other is just DWIM. < 1314433114 22574 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Assuming an otherwise ambiguous situation. < 1314433138 827051 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Which isn't so much "heuristics" as it is just the Principle of Least Surprise. < 1314433175 725491 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :heuristics of least surprise < 1314433189 67474 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://perl5.git.perl.org/perl.git/tree < 1314433192 454350 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :weeee time to browse perl source. < 1314433237 237191 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :..and then immediately run away in fear. < 1314433265 73485 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what did you find < 1314433310 268577 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :large numbers of files and directories that I cannot navigate very well. < 1314433348 968596 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perl.c is a good start. < 1314433381 491878 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :4918 lines eh < 1314433436 924838 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :PerlInterpreter *my_perl; < 1314433441 371411 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :do you see that? it's mine. :3 < 1314433465 353523 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :this is a mess < 1314433513 522491 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah I have no idea where to actually find the parser. < 1314433542 641733 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh hey parser.h < 1314433556 21996 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but where is parser.c... < 1314433581 784518 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what all #includes parser.h < 1314433627 333654 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :/ceci n'est pas une parser < 1314433642 50637 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :oops < 1314433646 590296 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric ://ceci n'est pas une parser < 1314433655 613592 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :U8expect;/* how to interpret ambiguous tokens */ < 1314433663 783459 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this looks like a fun struct field. < 1314433673 13487 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's U8 expect; < 1314433682 786551 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I wonder what they were thinking when they wrote perl < 1314433684 810429 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I wonder < 1314433735 616508 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :NEXTTOKE nexttoke[5]; /* value of next token, if any */ < 1314433742 976407 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this is obviously a weed reference < 1314433882 330632 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :obviously.. < 1314434284 506639 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: I bet they were thinking "man I want a practical extraction and report language" < 1314434311 582313 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :okay so perly.c is where the actual parser is. < 1314434313 931693 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :toke.c is the lexer. < 1314434316 981068 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :perly.c < 1314434324 126728 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :vs normal perl.c < 1314434336 699054 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :also: because it has to be a godawful mess to be practical < 1314434347 589012 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/perly.y < 1314434350 667554 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perl grammar < 1314434362 361671 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :%token LOOPEX DOTDOT YADAYADA < 1314434365 338237 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yadayada < 1314434373 869222 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :%token COLONATTR < 1314434378 65573 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :colon attribute? < 1314434394 322790 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uh my guess is :: < 1314434404 967624 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yadayada? < 1314434411 290098 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :or colonattr < 1314434419 79553 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :i like this names < 1314434423 574627 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :dordor, bitorop < 1314434440 916232 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :dordor is defined or. < 1314434445 88870 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric : // < 1314434473 733457 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :bitorop is | < 1314434498 532295 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :anyway yadayada is best < 1314434539 86281 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I believe yada yada is a no op < 1314434557 369744 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :poor yadayada :( < 1314434587 31350 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl sub test {...} < 1314434589 25301 :EgoBot!foobar@codu.org PRIVMSG #esoteric :syntax error at /tmp/input.19173 line 1, near "{..." < 1314434599 569754 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :THE PERL DOCS LIE. < 1314434627 193779 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :were you trying to see how that would lex? < 1314434645 302483 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no just seeing if it worked. < 1314434651 704992 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl ...; < 1314434652 92393 :EgoBot!foobar@codu.org PRIVMSG #esoteric :syntax error at /tmp/input.19287 line 1, near "..." < 1314434659 420124 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perldocs = lies < 1314434685 570645 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :presumably the ellipsis is metasyntax not literal perl??? < 1314434697 3758 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :or are you joke < 1314434725 116444 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no it says in perldoc that ... can stand-in for a statement and does nothing. < 1314434731 697514 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh < 1314434751 156150 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maybe they are just lying. < 1314434768 126034 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if lying is joking then I guess perldoc is pretty good joke < 1314434792 373883 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :good joke regardless. because perl. ha ha. < 1314435186 223322 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: you laugh, but perl is the cutting edge in perl-oriented design. < 1314435206 631494 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :laughing < 1314435225 442766 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :crying < 1314435272 424628 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/regcomp.c < 1314435274 383034 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :regex compiler < 1314435318 913775 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric : I32 naughty; /* How bad is this pattern? */ < 1314435362 322036 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :i like the parts where it increments naughty < 1314435373 653215 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what is naughty's purpose < 1314435483 479543 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in this file it just sets a naughty flag if it goes over 10 < 1314435494 938542 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and says "probably an expensive pattern" < 1314435525 929705 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :naughty < 1314435543 449155 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if (!(prog->intflags & PREGf_NAUGHTY)/* XXXX If strpos moved? */ < 1314435546 726439 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in regexec.c < 1314435592 409960 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1314435884 334444 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/Configure < 1314435886 123207 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wow, just wow. < 1314435938 763998 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that is 23585 lines of sh < 1314435984 214430 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :"ARGGGHHHH!!!!!" - that file < 1314436075 740254 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1314436088 697457 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if grep blurfldyick grimble >/dev/null 2>&1 ; then < 1314436089 36335 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :also me on that file < 1314436090 236031 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...... < 1314436101 355403 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :blurfldyick < 1314436104 313374 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :grimble < 1314436109 758026 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if grep blurfldyick grimble >/dev/null 2>&1 ; then contains=contains < 1314436117 359663 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what < 1314436118 31433 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :i < 1314436123 258416 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric ::( < 1314436141 246217 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elif grep grimblepritz grimble >/dev/null 2>&1 ; then contains=grep < 1314436149 129118 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is this for real < 1314436151 829940 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1314436153 811667 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :CakeProphet, configures are automatically generated, aren't they? < 1314436158 597928 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes. < 1314436190 587810 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :grimble < 1314436197 825897 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :monqy, that's a test of grep's behaviour, so they presumably just used the first word they could think of. < 1314436224 131912 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :they are bad at good words < 1314436248 709794 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Perhaps you should suggest a patch. < 1314436265 976445 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :bug: grimble? really? < 1314436472 937297 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Dear Perl user, system administrator or package < 1314436473 9467 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maintainer, the Perl community sends greetings to < 1314436474 31738 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you. Do you (emblematical) greet back [Y/n]? n < 1314436492 279590 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :# This question was auctioned at YAPC::Europe-2007 in Vienna < 1314436493 622815 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :# I never promised you could answer it. I only auctioned the question. < 1314436883 198253 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Yet another thing that's surprisingly difficult to do right in C++: making an iterator to adapt an input iterator to a bidirectional one. < 1314436895 192679 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :(To allow backtracking.) < 1314436906 25554 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I don't know why I'm putting myself through this pain. < 1314436919 139621 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Configure is actually generating a config.sh < 1314436932 29067 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and Configure is generated from something called metaconfig. < 1314437550 539286 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Yo dawg I heard you like configuring... < 1314437729 978563 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Joined #freenode for the hell of it, and somebody is trying to convince them that #archlinux-ru shouldn't be allowed to have a message saying they switched network. < 1314437771 665129 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :exciting < 1314438218 28598 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Alright, I've finally written enough boilerplate crap to safely write the useful(?) bit of this monstrosity. < 1314438258 870618 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :This is what I get for wanting lazy parsing in a language that is really, really not designed for it. < 1314438332 962157 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :why would you want anything in c++, except maybe a good language < 1314438426 447915 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :I don't knooow. < 1314438446 871857 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :It's to kill time. < 1314438452 981736 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :monqy, have you not heard of elliott's ventures into C++. < 1314438458 323711 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :They are hilarious. < 1314438481 182774 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I;ve heard of c++ sudoku, but I forget quite what it was < 1314438484 658156 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :nothing else I can remember < 1314438520 761262 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Phantom_Hoover: This sounds entertaining. < 1314438538 493759 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :He was programming in the template system IIRC, although I wasn't really paying attention at the time. < 1314438882 175980 :GuestIceKovu!x@ANantes-259-1-203-92.w90-49.abo.wanadoo.fr JOIN :#esoteric < 1314438956 564722 :Slereah!x@ANantes-259-1-206-89.w90-49.abo.wanadoo.fr QUIT :Ping timeout: 258 seconds < 1314440873 853670 :Vorpal!~AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1314441525 130878 :Vorpal!~AnMaster@unaffiliated/anmaster QUIT :Ping timeout: 260 seconds < 1314441532 83617 :Vorpal_!~AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1314443228 27682 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Well, after all that, parsing with iterators. < 1314443246 353695 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Reduced the main method to: print(to_tokens(to_utf32(to_buffered(to_raw(stream))))); < 1314443268 108230 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Could be worse. < 1314443298 195345 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :And now, sleep. < 1314443301 154271 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net QUIT :Quit: leaving < 1314443551 475089 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1314443659 935428 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 260 seconds < 1314443685 48707 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1314444401 393528 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au JOIN :#esoteric < 1314446180 332845 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1314447918 718321 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :http://28.media.tumblr.com/tumblr_lgt3723bWm1qgcsjxo1_500.jpg < 1314447921 82393 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :whaaaaaaaaaat < 1314447982 667741 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I really, really hope that was deliberate. < 1314448073 797495 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :I don't get it < 1314448085 622079 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION has no idea either < 1314448102 658460 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :is it one those darn dang cultural references < 1314448157 573773 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*of < 1314448894 113958 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Patashu, the guys in the car look an awful lot like SBaHJ. < 1314448956 81740 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Oh, that's the joke < 1314448999 400804 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so, yes. < 1314451844 28455 :MSleep!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net NICK :MDude < 1314453849 641174 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net QUIT :Read error: Connection reset by peer < 1314455432 821132 :sliddy!~jari@ip565eb113.direct-adsl.nl JOIN :#esoteric < 1314455881 895063 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1314456373 386495 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: leaving < 1314460859 27605 :derrik!~xix@143.122.191.90.dyn.estpak.ee JOIN :#esoteric < 1314462744 259089 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au QUIT :Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 . < 1314463012 110319 :derrik!~xix@143.122.191.90.dyn.estpak.ee PART :#esoteric < 1314463528 167904 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1314464984 824908 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :http://en.wikipedia.org/wiki/RP_FLIP < 1314464989 213561 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Oh my god I want one. < 1314465893 218376 :wetneb!~berthe@dan75-6-82-239-12-53.fbx.proxad.net JOIN :#esoteric < 1314467556 297017 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Phantom_Hoover: There only is one :P < 1314467570 491849 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Gregor, WHO CARES < 1314468218 239586 :quintopia!~quintopia@unaffiliated/quintopia QUIT :Ping timeout: 264 seconds < 1314468347 990439 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Ping timeout: 245 seconds < 1314468800 700173 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hi friendships. < 1314468846 497372 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Well, that's utterly surprising. < 1314468856 991773 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net PRIVMSG #esoteric :Fun fact: Bochs does real mode faster than qemu. < 1314468859 609435 :quintopia!~quintopia@unaffiliated/quintopia JOIN :#esoteric < 1314468878 221306 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's because Boch knows how to keep it real. < 1314468883 400161 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :+s < 1314469080 95485 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl sub min($$){ my ($a,$b) = @_; [$a => $b]-> [$b <= $a] } print min(4,10) < 1314469080 654272 :EgoBot!foobar@codu.org PRIVMSG #esoteric :4 < 1314469102 846119 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl sub min($$){my($a,$b)=@_;[$a => $b]->[$b <= $a]} print min(4,10) < 1314469103 344646 :EgoBot!foobar@codu.org PRIVMSG #esoteric :4 < 1314469772 942273 :sliddy!~jari@ip565eb113.direct-adsl.nl QUIT :Ping timeout: 245 seconds < 1314469917 57297 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl sub min($$){my($a,$b)=@_ if @_;[$a => $b]->[$b <= $a]} print sort min, 5,4,3,2,1 < 1314469917 512104 :EgoBot!foobar@codu.org PRIVMSG #esoteric :12345min < 1314469926 635275 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol < 1314469937 58262 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl sub min($$){my($a,$b)=@_ if @_;[$a => $b]->[$b <= $a]} print sort {min} 5,4,3,2,1 < 1314469937 426203 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Not enough arguments for main::min at /tmp/input.28958 line 1, near "min}" < 1314469943 419411 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl sub min(;$$){my($a,$b)=@_ if @_;[$a => $b]->[$b <= $a]} print sort {min} 5,4,3,2,1 < 1314469943 818184 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Sort subroutine didn't return a numeric value at /tmp/input.29016 line 1. < 1314469969 140133 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hmmm, I thought $a and $b were special dynamically scoped variables. Ah, I guess not when I redeclare them with my < 1314470034 138687 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl print sort d,v,c,s < 1314470034 496881 :EgoBot!foobar@codu.org PRIVMSG #esoteric :No comma allowed after subroutine name at /tmp/input.29149 line 1. < 1314470053 659065 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl print sort d,1,2,3 < 1314470054 88011 :EgoBot!foobar@codu.org PRIVMSG #esoteric :No comma allowed after subroutine name at /tmp/input.29207 line 1. < 1314470056 820557 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wat < 1314470059 439606 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :why did it work with min < 1314470140 931534 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :son I am disappoint. < 1314470322 58614 :Phantom_Hoover!~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1314470327 552650 :Phantom_Hoover!~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com QUIT :Changing host < 1314470327 625011 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1314470593 523964 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Should I write proposal of more-notation of Haskell in any wiki? < 1314470843 237104 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1314470914 603853 :quintopia!~quintopia@unaffiliated/quintopia QUIT :Ping timeout: 260 seconds < 1314470926 244816 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: if you want, but I don't think people will buy it. < 1314471056 435121 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I could see it being somewhat useful if it allowed you to more a function definition as well as a data type definition. < 1314471082 675533 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :allowing you to add more cases to a function to accomodate the new constructors. < 1314471111 103883 :quintopia!~quintopia@74.117.158.92 JOIN :#esoteric < 1314471111 175935 :quintopia!~quintopia@74.117.158.92 QUIT :Changing host < 1314471111 176068 :quintopia!~quintopia@unaffiliated/quintopia JOIN :#esoteric < 1314471127 427107 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but that's not guaranteed to be an option in every situation like that. < 1314471182 467461 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :f x = f' (g x) where f'(C1 a) = ...; f'(C2 b) = ... < 1314471200 238045 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :more wouldn't allow you to add new patterns to f' because it's not in scope outside of f < 1314471243 807361 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It is my idea that you would be able to use more-notation with many things, including case-block as well as data types constructors, these two things go together. < 1314471268 559243 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :So you would add patterns by using more-notation with case-blocks. < 1314471295 689671 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what about in my example. how would it work there? < 1314471311 199510 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :how do you specify which case expression you are modifying? < 1314471315 234094 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 JOIN :#esoteric < 1314471383 810902 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :I have just made a discovery that could revolutionize the face of computing! < 1314471388 967680 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Windows teands to crash < 1314471389 41526 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also I think you can do something similar to this with type families < 1314471399 259769 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Taneb|Kindle: here is your Nobel prize. < 1314471400 936911 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :You would have to change it to a case-block and then it would work. You specify which case expression in a way such as this: f x = case x of { C1 a -> ...; C2 b -> ...; more Cases; } < 1314471439 393280 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Cases = C3 c -> c + 1; Cases = _ -> 42; < 1314471454 279257 :pikhq!~pikhq@71-219-244-26.clsp.qwest.net JOIN :#esoteric < 1314471485 361854 :pikhq_!~pikhq@71-219-251-234.clsp.qwest.net QUIT :Ping timeout: 260 seconds < 1314471493 280426 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Basically, my laptop is temprarily unusable < 1314471563 521897 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :CakeProphet: Did you notice anything else wrong? If so, I can try to describe those things too. < 1314471661 798291 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :So, what's up? < 1314471664 16873 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no, but I think type families is possibly a better solution to the kind of data type extension you want < 1314471793 322248 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Well, for one thing more-notation can be used in other places too, including: field lists (both for defining and for using), lists of values, do-blocks, case-blocks, data constructors, and it does such things as reordering and removing duplicates depending on how it is used. In addition, more-notation can take parameters. < 1314471867 368768 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :I think the world needs a brainfuck-I hate your bf derivative I really do-MIBBLLII polyglot < 1314471920 865145 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Possibly with perl in there too < 1314472006 535452 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :All the polyglots have perl in them < 1314472010 172334 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :All of them < 1314472048 638374 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Somebody managed to write a Piet-Piet polyglot < 1314472099 440616 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Perl is easy to polyglot < 1314472118 233482 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :In Piet, it printed "Piet", and in Piet it printed "Hello, World!" I think < 1314472166 339463 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wat < 1314472166 339632 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :elliott: You have 3 new messages. '/msg lambdabot @messages' to read them. < 1314472194 512187 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Different Codel size < 1314472234 613311 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :It is near the bottom of the example Piet programs on dangermouse.net < 1314472270 295533 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :between pod, __END__ markers, heredocs, arbitrary quote delimiters, and regular comments < 1314472280 515294 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there are a lot of ways to ignore text in a perl program. < 1314472384 196980 :pikhq!~pikhq@71-219-244-26.clsp.qwest.net QUIT :Ping timeout: 246 seconds < 1314472389 155960 :pikhq!~pikhq@71-219-199-39.clsp.qwest.net JOIN :#esoteric < 1314472410 188372 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :I think perl is in many ways more esoteric than, eg, brainfuck < 1314472509 744361 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Brainfuck isn't really that esoteric,come to think of it < 1314472530 577229 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :You can tell what it does just by looking at it < 1314472566 887675 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :That is morethan ca be said for languages such as Haskell or XSLT < 1314472603 776945 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Unlss you are really good < 1314472785 810418 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :More people have heard of brainfuck than Mondrian or Visual J# < 1314472806 884092 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I can tell what Haskell code does just by looking at it. < 1314472810 788092 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's called knowing Haskell. :p < 1314472844 358778 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Haskell and XSLT may have been bad examples < 1314472883 703461 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :perl and... no, stick with XSLT < 1314472919 620019 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :At least for programs XSLT isn' designed for < 1314473049 642853 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Haskexesseltee < 1314473142 278869 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Has anyone ever used Visual J#? < 1314473227 93600 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1314473242 363316 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :It seems to be everything this channe is against < 1314473269 360278 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Except it is neither Python nor a brainfuc derivative < 1314473289 285725 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :this channel is against python? < 1314473306 224372 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :IOnly alittle < 1314473312 213999 :derrik!~xix@143.122.191.90.dyn.estpak.ee JOIN :#esoteric < 1314473323 969397 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :We need more cpressey and olsner so we can get the anti-Python flames brighter. < 1314473332 39361 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Actually we need more cpressey full stop so we can have more cpressey. < 1314473346 945965 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :a cpressing issue < 1314473348 556049 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :It is a hybrid of Java and C++ < 1314473369 277355 :Gregor!Gregor@codu.org PRIVMSG #esoteric :J# is dead. < 1314473371 104945 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :...Microsft style < 1314473375 399027 :Gregor!Gregor@codu.org PRIVMSG #esoteric :And also, that's a poor description of it. < 1314473377 893006 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I can tell what Perl code does just by looking at it. < 1314473380 199068 :Gregor!Gregor@codu.org PRIVMSG #esoteric :It was basically just Java. < 1314473401 255611 :Gregor!Gregor@codu.org PRIVMSG #esoteric :CakeProphet: perl -wlne'END{print$n}eof&&$n++;/([^<]+)/i&&$n--' * < 1314473401 370080 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :With .NET bindings < 1314473428 172970 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: must be all your weed use < 1314473467 113338 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: < 1314473471 374607 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-wlne' The world is near its end. < 1314473471 580129 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :END{print$n} At the end the sum of all our sins and virtues will be reckoned and the judgement revealed. < 1314473471 651803 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :eof&&$n++; As the evil of mankind ends, perhaps the end itself is a positive thing. < 1314473471 651973 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i And insensitive to the suffering of others. < 1314473472 262524 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :&&$n-- All this is for nought, and only hastens our demise. < 1314473474 397174 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :' * For in the end, we are but stardust. < 1314473476 374299 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hth < 1314473485 195056 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION bows < 1314473491 960155 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and i did it _without_ weed, even < 1314473529 842819 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :... < 1314473552 53713 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :why would you even use that program... < 1314473566 347594 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Does that program actually do anything? < 1314473568 804514 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes. < 1314473588 788940 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Good to know < 1314473594 9387 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it counts certain lines < 1314473604 834816 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it anti-counts them... < 1314473610 443942 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and then counts eofs < 1314473626 793584 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm good point < 1314473649 535309 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which is why I am wondering < 1314473651 985317 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :why you would ever do that. < 1314473672 123784 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :To confuse Taneb < 1314473747 598778 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Taneb|Kindle: read && as if-then, if something looks like it should have an argument but doesn't it's probably working on $_, which with -n $_ = current line < 1314473759 807968 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :END{...} does stuff at the end of execution. QED < 1314473763 349969 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :How dosone anti-count? Is that like counting backwards? < 1314473772 176851 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :by decrementing instead of incrementing. < 1314473782 177587 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's a ... term I made up. < 1314473788 476993 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it is not an actual thing. < 1314473794 690018 :Gregor!Gregor@codu.org PRIVMSG #esoteric :I prefer the interpretation on the wiki. < 1314473925 296405 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's counting lines that aren't <title> lines, I think :P < 1314473934 42373 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Plus one, maybe. < 1314473935 654669 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hmm, wait. < 1314473938 962121 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<Gregor> CakeProphet: perl -wlne'END{print$n}eof&&$n++;/<title>([^<]+)/i&&$n--' * < 1314473943 196265 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It only ever increments on EOF. < 1314473947 699678 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :right < 1314473951 391161 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Anticounting < 1314473953 372106 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and decrements when there IS a title loine < 1314473954 820157 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*line < 1314473956 410605 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a non-empty one < 1314473959 365602 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://linuxgazette.net/84/okopnik.html < 1314473967 768274 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :This explains it, apparently. < 1314473971 924409 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :In an irritating Perlish manner. < 1314474032 803227 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric : - "Heavens, Woomert!" Frink's shock was evident in his features. "You must be as brave as a lion, to face something like that." < 1314474058 971529 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :by the way all of this actually happened. < 1314474063 422017 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :non-fiction account. < 1314474066 862474 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :In brainfuck it would make the tape -1, 2 < 1314474113 568308 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 PRIVMSG #esoteric :Assuming the tape is left unbounded < 1314474517 557498 :Taneb|Kindle!57ee5441@gateway/web/freenode/ip.87.238.84.65 QUIT :Ping timeout: 252 seconds < 1314474753 743077 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Gregor: let me know when you find some Perl I can't read. < 1314474757 652444 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I WILL ACCEPT THE CHALLENGE. < 1314474816 893831 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :\N Any character but \n (experimental). < 1314474824 374350 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't really understand what is so experimental about \N < 1314474913 180426 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :We just don't know if it matches \n sometimes. < 1314475214 920698 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl "this is a test" =~ /.*?(?{pos})test/; print "this is a test" =~ /.{$^R}test/ < 1314475215 364459 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1314475221 81454 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :weeeeee < 1314475263 857456 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1314475289 405689 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :How Much of R is Written in R... (r-bloggers.com) < 1314475291 88921 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cpressey...... < 1314475950 215985 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Where hast thou gone, cpressey? < 1314476126 864770 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl @matches = "test" =~ /test/; print @matches < 1314476127 324323 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1314476133 574778 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl @matches = "(test)" =~ /test/; print @matches < 1314476133 950627 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1314476144 845810 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl @matches = "test" =~ /(test)/; print @matches < 1314476145 222249 :EgoBot!foobar@codu.org PRIVMSG #esoteric :test < 1314476204 715577 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :okay so one thing that's pretty stupid about < 1314476216 747147 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perl is that [] and {} are both considered true < 1314476270 553473 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom_Hoover: He quit us. :p < 1314476317 548895 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: that's not stupid, that's pretty useufl < 1314476318 370600 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :;_; < 1314476319 41394 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*useful < 1314476327 640620 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I use that all the time to see if a reference variable has been initialised or not < 1314476341 360370 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :do you really think the truth value of a pointer should depend on what it points to? < 1314476346 998854 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: it's inconsistent with () being false. < 1314476348 728930 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :though. < 1314476354 938268 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no it isn't < 1314476369 626867 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :() is a value, [] and {} are references < 1314476379 47568 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes I understand. < 1314476384 704645 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you might as well say "it's inconsistent with sub {} being true" < 1314476414 499422 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that is different. usually when I am dealing with lists and hashes I want to quickly test the empty case as being distinct from every other case < 1314476417 88796 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the false scalar values are undef, 0 and "" < 1314476419 248044 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t \sub -> sub {} < 1314476419 950911 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Empty record update < 1314476421 855084 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the false list value is () < 1314476426 452887 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :[] and {} are scalars, not lists < 1314476430 369388 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :with arrayrefs and hashrefs this is not the case. < 1314476434 670817 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: you don't need to explain this to me. < 1314476436 135964 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and those are the only two contexts in Perl but void, which has no values at all < 1314476457 120002 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why would the empty case be distinct, particularly wrt a hash? < 1314476468 549776 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :for an array, I can understand < 1314476482 710542 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but why should a hash be different just because it has no entries? unless you're using it as a replacement for a set or something? < 1314476489 601899 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because it is. I am mostly concerned with the arrayref case anyways, but it makes sense with hashes too though I cannot provide an example. < 1314476517 661211 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :besides, if you /dereference/ it, you get the truth value you want < 1314476523 631109 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes I know. < 1314476531 311480 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :print "the array contains elements" if @$array; < 1314476552 225744 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why would you want $array to be false if it was a reference to an empty array, when saying what you actually mean is so simple? < 1314476565 212865 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this is what I will have to do. I am saying I should not have to do this extra step. No, I do not care how pointers work because Perl is not a low-level language. < 1314476593 341968 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net JOIN :#esoteric < 1314476594 18145 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then why are you using references? < 1314476600 468640 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you should care how references work even in high-level languages < 1314476607 992820 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: because you have to use them in Perl to get multi-dimensional structures. < 1314476608 346961 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pointers are a low-level concept, but references are a high-level concept < 1314476613 44620 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :even, say, Idealized Algol has references < 1314476619 692559 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes, and references to null things in Perl should be false. :P < 1314476635 690729 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I would question how high-level references actually are, but they're certainly higher-level than pointers < 1314476637 774273 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because it is consistent with the logic you use with non-referenced things. < 1314476640 151640 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: is a reference to itself true? < 1314476654 302371 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uh, show me how to do that in Perl. < 1314476659 503156 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: in a high-level imperative language, they should definitely exist < 1314476666 563392 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in a functional language, you can get by without them < 1314476677 943448 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: imperative, definitely < 1314476677 943636 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(because then you can conflate a reference to a value with the value itself) < 1314476696 466925 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It isn't really a conflation, since a reference becomes an implementation detail < 1314476703 545102 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: I can't think of a method offhand (it'd probably involve XS), but it's definitely possible < 1314476717 889145 :coppro_!~scshunt@denardo.csclub.uwaterloo.ca NICK :coppro < 1314476720 20591 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t when < 1314476720 752064 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *). (Monad m) => Bool -> m () -> m () < 1314476720 824159 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wait, no < 1314476724 174998 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :my $a; $a = \$a < 1314476733 213846 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: if the reference is not pointing to an empty list then it should be true. < 1314476733 828893 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's surprisingly simple and straightforward < 1314476746 494764 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: so if it's pointing to a reference to an empty list, it should be true < 1314476752 248864 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :even though the reference to an empty list is itself false? < 1314476754 145793 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I like how CakeProphet's argument is "it should be true because I keep saying it should be" < 1314476766 262802 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: are you WRITING HASKELA < 1314476786 660955 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I'm trying to convince CakeProphet that his point of view is internally inconsistent and makes no sense < 1314476804 746499 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :what is haskela < 1314476806 726785 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes my argument is purely based on the way I think it should work. I think it simplifies the most common situation. When do you need an empty reference to be true? < 1314476823 836441 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: hakskel < 1314476826 94078 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: OK, what about this one: you have a scalar that might be undefined, or contain an object < 1314476834 581355 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :references are not boolesn??? help < 1314476836 317728 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :koay < 1314476839 807581 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what shappen < 1314476852 311673 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it'd obviously be useful if undefined was false, and object was true, so you wouldn't have to specifically add "defined" there < 1314476881 865936 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but if EVERY reference is true < 1314476886 195754 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :now, why should that depend on the implementation details of the object? (say the object happens to be a blessed empty list; that's something that your code shouldn't care about) < 1314476887 867270 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :when are you ever going to use a conditional with a reference? < 1314476895 790491 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: when it has a chance of being undefined, of course < 1314476898 767374 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what would be the purpose of this hypothetical conditional statement we're talking about. < 1314476904 545296 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah. < 1314476904 654211 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :reference-or-undef is a very very common thing to store in a variable < 1314476953 837643 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I must have done conditions on reference-or-undef well over 100 times in TAEB < 1314476971 98747 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t when <$> ?b < 1314476971 825931 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) (f :: * -> *). (Monad m, ?b::f Bool, Functor f) => f (m () -> m ()) < 1314476980 513852 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is this good sofar? http://www.haskell.org/haskellwiki/User:Zzo38/Proposal_for_more-notation < 1314476991 528502 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: okay fine. < 1314477024 325831 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I even did /this/: https://gitorious.org/taeb/ais523/commit/fea807c048e759520c8c617775f7f07e718c0892 < 1314477038 951107 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: but still all of that could remain unchanged, and [] and {} could still be false. < 1314477041 667139 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because someone had accidentally made the cast-to-boolean of most of the objects in TAEB very slow < 1314477047 768574 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I had to speed it up again by returning constant 1 < 1314477067 808822 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: except that then, you can't test for undef or reference < 1314477071 31335 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(they'd defined stringification for debug purposes, and accidentally stated "boolean value depends on the stringification", so it was stringifying objects every time to see if they were "") < 1314477077 912661 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because it tests for undef or reference to something that isn't empty, for some reason < 1314477084 660955 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: you can, using an explicit "defined", but it's messy < 1314477088 731626 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet: thank god it saved one character in your conditionals, eh? < 1314477098 976727 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :as opposed to the "defined " -- eight -- for the more common case < 1314477110 280330 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@{} is three characters. :P THREE WHOLE CHARACTERS. < 1314477110 354107 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Maybe you meant: . ? @ bf do ft id pl rc v wn < 1314477113 741613 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'd rather save 8 in the common case than save 1 in a somewhat rarer case < 1314477126 297146 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: and "defined " is EIGHT WHOLE CHARACTERS < 1314477127 615823 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :?? < 1314477128 575730 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :doesn't @$foo work < 1314477141 464525 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: yes, if $foo is a variable < 1314477144 161148 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: yeah but that's not the case I'm working with. :P < 1314477150 751159 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you need the {} if you have a more complex expression there < 1314477172 20244 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I suppose I could have my code replace the [] case with undef < 1314477176 591346 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: why are you habitually storing 0-length arrays/hashes, and caring about them as a special case? < 1314477187 473250 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was going to say, perhaps if it really is a special case, undef would make a better special case < 1314477188 185969 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :zzo38, what does it do, exactly? < 1314477188 271397 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: because they contain regex matches. < 1314477198 1033 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :[] == didn't match < 1314477198 362793 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<oerjan> :t when <$> ?b < 1314477198 528793 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<lambdabot> forall (m :: * -> *) (f :: * -> *). (Monad m, ?b::f Bool, Functor f) => f (m () -> m ()) < 1314477200 449381 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: i'm watching you < 1314477218 287878 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :[1] matched [a,b,c] matched and had groups < 1314477230 192649 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but I can just replace [] with undef < 1314477235 547209 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: wow, that's a crazy API < 1314477249 216213 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'd expect "didn't match" and "matched with no groups" to have different representations < 1314477249 812347 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: >_> that's how /.../ works except it is now in reference form. < 1314477257 308983 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Sgeo: I have explained before, on this channel, and on #haskell channel. I will type more about what it is doing, on there, too. < 1314477264 107509 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, I never said m//'s API was sane < 1314477285 104274 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: why would it be the same? "matched with no groups" is true, why would it be ()? < 1314477319 813214 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :like, I am literally just taking the result of match and putting brackets around it. < 1314477349 815534 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's because Perl's return-a-list APIs are flawed /because/ they aren't nullable, when often they want to be < 1314477356 432608 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t <* < 1314477357 204361 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :parse error on input `<*' < 1314477361 233348 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t (<*) < 1314477361 900068 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f a < 1314477380 437263 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as a silly example, if I do m/(1)|2/, how do I know which branch matched? < 1314477407 838014 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: it's only flawed when I decide I want them to be arrayrefs. at the non-ref level it works just fine. () is undef in list context, (1) is 1 in list context, (a,b,c) is a special case that you only get in list context. < 1314477413 578655 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :scalar context gives you undef or 1 < 1314477433 439793 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :more plausibly, m/(\d+)|NA/ < 1314477493 6277 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well right, my @captures = m/.../ < 1314477496 314425 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh look nothing captured < 1314477529 990531 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so the problem with m//'s list API is, it's trying to return two separate data in one variable < 1314477536 91200 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, one list < 1314477584 707886 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl @c = "test" = /(abc)|test/; print @c < 1314477585 42478 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Can't modify constant item in scalar assignment at /tmp/input.5957 line 1, near "/(abc)|test/;" < 1314477589 668556 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl @c = "test" =~ /(abc)|test/; print @c < 1314477593 494511 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t when <$> ?b <*> ?c < 1314477594 173181 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) (f :: * -> *). (Monad m, ?b::f Bool, Applicative f, ?c::f (m ())) => f (m ()) < 1314477605 527075 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl @c = "test" =~ /test/; print @c < 1314477605 946490 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1314477618 10251 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that is kind of strange. It should really return 1 if it matched but captured nothing. < 1314477634 791416 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl @c = "test" =~ /test/; print 1 if @c < 1314477635 266456 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1314477640 98788 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl @c = "test" =~ /(abc)|test/; print 1 if @c < 1314477640 648754 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1 < 1314477649 127925 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah but (undef) is true < 1314477660 369063 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so it works out when you want to interpret the capture group as a boolean < 1314477665 390804 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(undef) would make a more sensible compromise < 1314477675 259192 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that is what it does. < 1314477679 896546 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although that's almost as hacky as "0 but true" < 1314477709 580092 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but it gives you all of the results you'd expect from match while also giving you capture group information. < 1314477742 833063 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t (<$) < 1314477743 547260 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a < 1314477749 269290 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's just maybe not immediately obvious what those values are. :P < 1314477787 693260 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :okay well I fixed my issue regardless. I won't even have to check for [] < 1314477811 551459 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if there was no match then it doesn't even include it in the list of matches. < 1314477819 620770 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :as... that would be pointless. < 1314477820 43692 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: is 0 false in perl six by default? < 1314477841 627360 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: Perl 6 has numeric, string and boolean contexts < 1314477848 322931 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :0 cast to a boolean context is false, though < 1314477853 715573 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: :( < 1314477857 474046 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it should be true by default < 1314477861 310488 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(as opposed to "0 but false") < 1314477862 973649 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that is the same thing as saying "0 is false in Perl 6" < 1314477871 182600 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's also unchanged semantics from Perl 5. < 1314477892 680836 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: you can put traits on arbitrary objects to make them true or false < 1314477896 872213 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: uh why. < 1314477903 997425 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: there's a different quoting level involved < 1314477928 612412 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in Perl 5, you use the string "'0 but true'" to give something that's zero numerically but true as a boolean, due to exploiting the way the casting works < 1314477940 878619 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in Perl 6, you start with 0, then modify it with the but modifier to make it true, as in "0 but True" < 1314477959 682884 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Perl 6 is stupid, so that doesn't surprise me. < 1314478004 611211 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't know if you guys have noticed or not but the spec is kind of a clusterfuck of ideas. < 1314478024 788308 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I haven't payed attentione < 1314478029 153760 :derrik!~xix@143.122.191.90.dyn.estpak.ee QUIT :Quit: reconnect < 1314478050 305060 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: the but is optional though, right? you could just say "0 true" < 1314478054 226106 :derrik!~xix@143.122.191.90.dyn.estpak.ee JOIN :#esoteric < 1314478056 324997 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: they actually work pretty well together, just they're not what people are used to < 1314478067 573892 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: err, what? that's like me saying "1+1 is 2" and you saying "the + is optional, right?" < 1314478079 680571 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<CakeProphet> Perl 6 is stupid, so that doesn't surprise me. < 1314478079 929846 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :<CakeProphet> I don't know if you guys have noticed or not but the spec is kind of a clusterfuck of ideas. < 1314478081 679545 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :--perl five fan < 1314478083 847491 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not talking about the string "0 but true" < 1314478095 383010 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm talking about the operator but, with 0 and True as arguments < 1314478107 635863 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh okay < 1314478112 214713 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I thought it was a string. < 1314478125 907027 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this makes more sense. < 1314478138 533107 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I have seen various good ideas in Perl 6 when looking at things. That includes the Perl 6 Periodic Table of Operators, where I saw that the % (modulo) operator is marked "iffy", which means it has a boolean negated form (like == has != and so on). There are also other operators I saw described there. And other features of Perl 6. < 1314478189 474728 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(Obviously, to me at least, the boolean negated form of % would mean it is divisible by.) < 1314478195 555736 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep, !% is pretty much a "divisible by" operator < 1314478207 888118 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you mean there's a seperate negated % operator with a different symbol, or that % returns 0 but true basically? < 1314478211 916415 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh okay. < 1314478226 995917 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: actually, ! is an operator that takes other operators as argument < 1314478227 659233 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :CakeProphet: I mean a separate negated % operator. Although I don't know the details. < 1314478229 869451 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and % is a legal argument < 1314478245 176539 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!x < 1314478250 408661 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's a different ! < 1314478253 985698 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with the same spelling < 1314478257 568556 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no x is an operator in Perl 5 < 1314478258 509765 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is used is always obvious from context < 1314478260 980555 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, i see < 1314478263 793662 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*I see < 1314478268 495582 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :probably in Perl 6 too < 1314478272 767826 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl ptiny "sup"x5 < 1314478273 158453 :EgoBot!foobar@codu.org PRIVMSG #esoteric :String found where operator expected at /tmp/input.6941 line 1, near "ptiny "sup"" < 1314478276 497180 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl print "sup"x5 < 1314478276 987404 :EgoBot!foobar@codu.org PRIVMSG #esoteric :supsupsupsupsup < 1314478284 788291 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I wonder if you have a sub x, that it can always tell which is being used < 1314478294 48099 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl print 1x"25" < 1314478294 491612 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1111111111111111111111111 < 1314478301 198575 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :1x = instant unary converter < 1314478303 958174 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in Perl 6, presence or absence of whitespace is significant, so it would probably be the difference between !x and ! x < 1314478317 535779 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(the amount of whitespace, if nonzero, isn't) < 1314478340 370344 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ais523: yes I imagine it can tell because a sub is prefix but x is infix. < 1314478358 21949 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is perl 6 parseable < 1314478359 912211 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is this better now? I wrote some explanation now. Still not complete, but I will also write more. If you have account write on that wiki page or on the talk page http://www.haskell.org/haskellwiki/User:Zzo38/Proposal_for_more-notation < 1314478376 260287 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :monqy: yes, more so than Perl 5 < 1314478379 221737 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it even has a defined grammar < 1314478389 753716 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If there is any unclear, please notify me. < 1314478409 671966 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(Perl 5 is, in general, not parseable, although in most cases that actually happen in practice it is) < 1314478419 503624 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :zzo38: "Multiple constructors in a single more-declaration are guaranteed to keep the order given." < 1314478425 652219 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :what if I write T = One | Two < 1314478428 611847 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :and T = Two | One < 1314478433 610542 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl sub x($) {shift+1} print x 1x"4" < 1314478434 108150 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Warning: Use of "shift" without parentheses is ambiguous at /tmp/input.7239 line 1. < 1314478434 565613 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :what's the result? < 1314478439 240266 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl sub x($) {(shift)+1} print x 1x"4" < 1314478439 730881 :EgoBot!foobar@codu.org PRIVMSG #esoteric :1112 < 1314478449 967111 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :copumpkin: you writing that made me think of a "copumpkin" as a dual of a pumpkin < 1314478459 121810 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or a time-reversed pumpkin < 1314478461 176420 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :that's what it was intended as < 1314478462 271397 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :a bit like comultiplication < 1314478464 435342 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :heh < 1314478489 630966 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :copumpkin: It is wrong to type that. Whether the compiler gives an error message or not is up to the compiler, but it doesn't mean anything correct. < 1314478508 859737 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin was born when edwardk got a hold of pumpkin < 1314478524 573565 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ACTION tries to imagine what a time-reversed pumpkin would be like < 1314478557 198462 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :ais523: What is comultiplication? < 1314478596 509583 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: you give it one value as an argument, and it returns two values, which if you multiply them, give the original value; in systems in which comultiplication exist (which don't, say, include normal arithmetic) there's normally only one unique way to do that < 1314478663 216553 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :ais523: OK. What kind of systems are those? < 1314478679 575830 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so then a copumpkin, upon planting in the ground, yields pumpkin seeds...? < 1314478704 208478 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure; my only experience with comultiplication is proving that a system didn't have it < 1314478726 871148 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :CakeProphet: no, copumpkin seeds, and if you combine them together with the edible part of a copumpkin, you get a compumpkin again < 1314478750 303659 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`quote pumpkin seeds < 1314478755 742649 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :558) <fungot> Phantom_Hoover: it is a hate so pure and... pumpkin seeds? < 1314478761 40590 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :ACTION sighs < 1314478766 484144 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :copumpkin copumpkin copumpkin copumpkin copumpkin < 1314478770 104372 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ping forever < 1314478807 726237 :hagb4rd!4db41cc5@gateway/web/freenode/ip.77.180.28.197 QUIT :Ping timeout: 252 seconds < 1314478812 539923 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :quick someone compile that into a quote < 1314478905 1981 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :compile what? are you someone? < 1314478909 827151 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no. < 1314478926 720683 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION vaguely thinks he's seen something like comultiplication somewhere < 1314478959 651111 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: I'd expect you to know several examples, really; I seem to think that all theoretical mathematicians have huge sets of examples of every category in existence < 1314478965 928216 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Hopf_algebra < 1314478970 586305 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although perhaps you haven't worked with coalgebras much < 1314479008 311306 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i knew someone who worked on quantum groups, and that included such things < 1314479019 144420 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah, aha, a general classification of things that are simultaneously regular algebras and coalgebras < 1314479022 655656 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :looks useful < 1314479115 543667 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i think i spent a bit of a month in ireland thinking about that stuff with him, although nothing came out of it < 1314479133 522740 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i cannot recall seeing comultiplication anywhere else < 1314479336 265812 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I added the description of use of more-notation in case blocks. < 1314479429 510714 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :woot, I love knowing all the secrets of the university, like mail delivered to the student society :D < 1314479433 306573 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :new OotS book is MIINE < 1314479684 456863 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : deac <- activate ((\c -> putChar c >> deac) <$> e) < 1314479688 15570 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: i need mfix or recursive do, right? < 1314479752 886484 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :um what are you doing < 1314479753 385593 :derrik!~xix@143.122.191.90.dyn.estpak.ee QUIT :Quit: night < 1314479806 956246 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: that < 1314479808 636206 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :if deac is not monadic then you cannot put it on the right of >> though < 1314479813 76790 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it is < 1314479817 742609 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is it in bad taste to write (\c -> putChar c >> deac) as ((>> deac) . putChar) because that's the sort of thing I od all the time < 1314479820 875615 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: I mean, that is obviously not valid because deac isn't in scope < 1314479842 290078 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy: I would prefer (putChar >=> const deac) or I guess (putChar >>> (>> deac)) would be ok too < 1314479850 575521 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe we need (a -> m b) -> m c -> m c :P < 1314479850 902341 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok, so rec deac <- activate ((\c -> putChar c >> deac) <$> e), i guess < 1314479857 971494 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :that would be good < 1314479858 221473 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :?hoogle (a -> m b) -> m c -> m c < 1314479858 515027 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Exception handleJust :: Exception e => (e -> Maybe b) -> (b -> IO a) -> IO a -> IO a < 1314479858 586554 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Exception.Base handleJust :: Exception e => (e -> Maybe b) -> (b -> IO a) -> IO a -> IO a < 1314479858 586743 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.OldException handleJust :: (Exception -> Maybe b) -> (b -> IO a) -> IO a -> IO a < 1314479863 729745 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: right... is < 1314479867 32748 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :deac <- mfix (\deac -> ...) < 1314479871 490084 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the desugaring? < 1314479887 251744 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :something like that < 1314479907 182292 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t mfix < 1314479907 916150 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (m :: * -> *). (MonadFix m) => (a -> m a) -> m a < 1314479952 546698 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t mfix return < 1314479953 277325 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (m :: * -> *). (MonadFix m) => m a < 1314479972 894194 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> mfix return :: [Int] < 1314479976 492417 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314479983 525366 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :mfix return ~ fix id < 1314479990 654017 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :right. < 1314480038 773918 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> mfix (const [1,2,3]) :: [Int] < 1314480039 390414 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3] < 1314480042 694633 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :woah. < 1314480052 473976 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shocking < 1314480076 446294 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is there a difference between mwhatever and whateverM? is it that the former is specified in a typeclass, and the latter defined elsewhere? < 1314480085 724060 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::t mempty < 1314480086 463237 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Monoid a) => a < 1314480089 637071 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> mfix (\x -> [x,x+1,x+2]) :: [Int] < 1314480091 49989 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :sometimes it is not even an monads... < 1314480093 233239 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314480102 73789 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :mappend is monoid too right < 1314480112 810142 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yes < 1314480115 179120 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and mconcat < 1314480117 59986 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :sometimes i'm afraid i'll get mappend and mplus mixed up < 1314480128 196929 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :mempty/mzero too < 1314480130 645942 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :how do I use mfix help. < 1314480155 333953 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is help the a new fad help < 1314480185 898764 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :no < 1314480186 308842 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :its < 1314480187 393638 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(c) us < 1314480189 201432 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet is infringe < 1314480193 968066 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what is fad I just have question help < 1314480199 335359 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :no, I'm infringe < 1314480206 508719 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :ph34r m3 < 1314480222 970352 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is evincar infrenge too i forget < 1314480234 388802 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Please look I completed everything in my proposal except for the stuff related to Template Haskell. < 1314480241 453295 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :monqy: i just read in Control.Monad an hour or so ago that *M is reserved for functions that do nothing other than add monadic wrapping to result types < 1314480257 358064 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well nothing much other < 1314480265 268740 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric ::t mapM < 1314480265 949255 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (m :: * -> *) b. (Monad m) => (a -> m b) -> [a] -> m [b] < 1314480268 148421 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :??? < 1314480278 588337 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :mapM is quite useful. < 1314480290 303112 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :or did I misinterpret "add monadic wrapping to the result types" < 1314480303 798415 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1314480306 847789 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :no < 1314480308 438009 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t map < 1314480309 134032 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. (a -> b) -> [a] -> [b] < 1314480327 341336 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you will see that the only type difference is some more m's at the final ->'s < 1314480345 868216 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I think that is clear < 1314480348 458220 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh "result type" applies to more than just the result type? < 1314480359 345391 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :makes sense < 1314480366 790614 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yes also result types of internal functions, it would seem < 1314480370 230795 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes, "result types" applies to all of the result types. < 1314480375 69934 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :>_> < 1314480390 436304 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Helloes from the sweaty Florence. < 1314480400 376082 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hello how are you enjoying your hotel of badness < 1314480401 999462 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric ::t mfix < 1314480402 718280 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (m :: * -> *). (MonadFix m) => (a -> m a) -> m a < 1314480407 93686 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric ::t fix < 1314480407 762083 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (a -> a) -> a < 1314480409 913243 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :checkmate oerjanists < 1314480413 631609 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fixM < 1314480430 281787 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :It's bad indeed. Also warm. < 1314480450 313590 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: mfix on lists is especially subtle, so much so that i once made an incorrect bug report about it < 1314480470 259064 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :> mfix (9:) < 1314480470 904309 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Occurs check: cannot construct the infinite type: t = [t] < 1314480480 211143 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :> mfix (\x -> 9:[x]) < 1314480483 802586 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1314480487 249546 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hepl oerjan < 1314480494 462724 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :how do I use mfix help < 1314480498 764189 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :help < 1314480499 766154 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :die < 1314480500 445221 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :infringing < 1314480501 869761 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :bastard < 1314480503 987962 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :>:( < 1314480506 939646 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION enemy < 1314480520 3071 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> replicateM 4 "help" < 1314480520 623892 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ["hhhh","hhhe","hhhl","hhhp","hheh","hhee","hhel","hhep","hhlh","hhle","hhl... < 1314480524 969127 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hhhh < 1314480536 695283 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :bad stutter...... < 1314480540 853519 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> nub . permutations $ "help" < 1314480542 231322 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ["help","ehlp","lehp","elhp","lhep","hlep","pleh","lpeh","leph","pelh","epl... < 1314480547 673367 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :pleh < 1314480580 315593 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: leph what is mfix on lists. < 1314480589 105947 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :lef < 1314480611 45498 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I like elhp < 1314480623 106475 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I (c) it < 1314480625 284839 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it is mine now. < 1314480634 844544 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you may not be an infringe. < 1314480670 807410 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :dont worry i wont...............................because elhp is bad < 1314480674 332446 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> mfix (\x -> [1:x, 2:x, 3:x]) < 1314480674 500767 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :(so bad) < 1314480675 32014 :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... < 1314480678 491308 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :eek < 1314480684 926140 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh okay. < 1314480685 147253 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what did you do < 1314480691 268058 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :lessee < 1314480700 488475 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> map (take 5) $ mfix (\x -> [1:x, 2:x, 3:x]) < 1314480701 146886 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [[1,1,1,1,1],[2,2,2,2,2],[3,3,3,3,3]] < 1314480710 26620 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :> sequence (mfix (\x -> [1:x, 2:x, 3:x])) < 1314480710 672375 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1... < 1314480712 576208 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :sir you need to calm down. < 1314480714 53678 :monqy!~chap@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :123 < 1314480793 710621 :augur!~augur@129.2.129.32 QUIT :Remote host closed the connection < 1314481049 918544 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I wrote something about use of more-notation with Template Haskell, too, now. < 1314481172 737936 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!haskell import Control.Monad.Fix; newtype Fix f a = Fix (f (Fix f a)); whee = mfix (\r -> newIORef (Fix r)); wrrr 0 r = return (); wrrr n r = do {Fix r' <- readIORef r; putStr "*"; wrrr (n-1) r' }; main = do r <- whee; wrrr 50 r < 1314481198 375133 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!haskell import Control.Monad.Fix; import Data.IORef; newtype Fix f a = Fix (f (Fix f a)); whee = mfix (\r -> newIORef (Fix r)); wrrr 0 r = return (); wrrr n r = do {Fix r' <- readIORef r; putStr "*"; wrrr (n-1) r' }; main = do r <- whee; wrrr 50 r < 1314481203 713365 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​************************************************** < 1314481211 689011 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yay just two tries < 1314481290 718893 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :!haskell replicate 50 '*' < 1314481293 53216 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​"**************************************************" < 1314481368 468260 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Deewiant: THAT WASN'T THE POINT < 1314481381 975201 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan's is more elegant. < 1314481425 965039 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :^ < 1314481440 956184 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :anyway, the actual point was to demonstrate how mfix with IO's allows you to make IO actions referring to their own result. < 1314481463 999110 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :in this case, making a cyclic list of mutable references. < 1314481663 870989 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hmm that's interesting. < 1314481684 402146 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if you rewrote the reference it would break the self-reference, yes? < 1314481712 39575 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :of course any attempt to _evaluate_ the result before the IO action finishes will break. < 1314481740 851192 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well yes. < 1314481756 390074 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :although in this case it's not that hard to put it back < 1314481784 44228 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh okay so r and r' are never evaluated in the above, but if they were they would break. < 1314481826 50734 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :um it's just inside whee they cannot be. wrrr evaluates r alright. < 1314481854 834282 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :the whole mfix action must finish before you look strictly at the result. < 1314481863 531241 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PART :#esoteric < 1314481892 147703 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :this is for the IO monad. other monads may manage to be more lazy than that, i think. < 1314481983 927617 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah okay. < 1314482016 16439 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I cannot think of a single use for such a reference.. lol < 1314482095 755157 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :mutable graphs? < 1314482223 769143 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there's only one reference right? that references itself infinitely. < 1314482237 779547 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :I used mfix for something in Haschoo at one point but I don't remember what < 1314482278 577367 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :anyway more generally this allows you to use tying-the-knot methods even if you are working in the IO monad. perhaps a reference to itself is not the most practical example of it, even pure values interleaved with IO actions can benefit. < 1314482326 57281 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :"'You made me do it': Classification of Blame in Married Couples' Interactions by Fusing Automatically Derived Speech and Language Information". Someone's taken (parts of) http://www.phdcomics.com/comics/archive.php?comicid=718 to heart. < 1314482393 169632 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :http://oerjan.nvg.org/esoteric/Unshackled.hs has some examples >:) < 1314482487 524703 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it occurs to me that probably won't compile with ghc. < 1314482493 487292 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :why not? < 1314482503 479126 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :mdo is still supported, just deprecated, IIRC < 1314482512 383768 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :no LANGUAGE pragmas < 1314482526 450183 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well you can still add them on the command line i guess < 1314482526 532103 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :can just use -X < 1314482533 975304 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I like how fillMemory uses mdo for no reason < 1314482559 436899 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or maybe I just misunderstand mdo < 1314482561 701168 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it does? < 1314482573 556118 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :No it doesn't < 1314482583 51398 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :elliott: mem <- newMemory rArr prior to rArr <- < 1314482586 752272 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :mem and rArr reference each other < 1314482597 802585 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, so it does < 1314482698 295662 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 245 seconds < 1314482891 154253 :p01son!~p01son@91.187.103.33 JOIN :#esoteric < 1314483074 945967 :p01son!~p01son@91.187.103.33 QUIT :Quit: Leaving < 1314483417 947063 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t mfix < 1314483418 699167 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (m :: * -> *). (MonadFix m) => (a -> m a) -> m a < 1314483455 839930 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :instance MonadFix CakeMonad where mfix = ($undefined) --:3 < 1314483515 745199 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :@src mfix < 1314483515 854750 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. :( < 1314483519 622324 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :oh right < 1314483543 1012 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Lymee: do you have :3 on highlight? < 1314483579 806069 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :Nope! < 1314483676 735629 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: i think there are some MonadFix laws which that probably breaks < 1314483686 441904 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you think? < 1314483703 899634 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :mfix (return . f) = return (fix f) iirc < 1314483796 843372 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well for strict functions, bottom and m bottom are pretty close... < 1314483821 154436 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*return bottom < 1314483919 666561 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> length (return undefined) < 1314483920 335649 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 1 < 1314483961 895739 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what if the monad were strict also? < 1314484005 715865 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :@src return < 1314484005 826535 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. My brain just exploded < 1314484009 976808 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric ::t return < 1314484010 705080 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (m :: * -> *). (Monad m) => a -> m a < 1314484013 359524 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i think a monad in which return were strict and not always bottom would break the monad laws. < 1314484029 348723 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :oerjan, so make it always return bottom. < 1314484029 774314 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric ::3 < 1314484035 192076 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: nope, actually < 1314484046 330084 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: see http://haskell.1045720.n5.nabble.com/Strict-Monad-td3079813.html < 1314484058 514606 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :MonadLib has that as Lift, I think (http://hackage.haskell.org/packages/archive/monadLib/3.6.2/doc/html/MonadLib.html) < 1314484062 14477 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well, http://hackage.haskell.org/packages/archive/monadLib/3.6.2/doc/html/src/MonadLib.html#Lift < 1314484074 311594 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :instance Monad Lift where < 1314484074 477508 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : return x = L x < 1314484074 564050 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : fail x = error x < 1314484074 636174 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : L x >>= k = k x -- Note: the pattern is important here < 1314484074 636343 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : -- because it makes things strict < 1314484075 579206 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: also when f is lazy wouldn't it satisfy the mfix law? < 1314484082 806266 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: caret < 1314484089 952934 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :instance MonadFix Lift where < 1314484090 119793 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : mfix f = let m = f (runLift m) in m < 1314484090 191891 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fwiw < 1314484109 608228 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: "in which return were strict" < 1314484118 285061 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :your return isn't strict is it? < 1314484142 187313 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(as a function) < 1314484160 675254 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well, no < 1314484163 363512 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but it's a strict monad :P < 1314484163 971925 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :anyway, return undefined >> return x = return x by the monad laws, i believe < 1314484246 877735 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory QUIT :Remote host closed the connection < 1314484392 937336 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1314484395 959849 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :CakeProphet: mfix (return . (1:)) = return (fix (1:)) but yours would give mfix (1:) = return (1:undefined) < 1314484401 266079 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :er < 1314484413 927762 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*mfix (return . (1:)) = return (1:undefined) < 1314484449 383102 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: ah < 1314484474 443282 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm shocked, really. < 1314484491 34624 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: also wouldn't it be possible to include laws as part of Haskell? < 1314484505 972384 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :basically as a compile-time check? < 1314484535 312970 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :CakeProphet discovers Coq. < 1314484539 659603 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :theorem prover yada yada halting problem. < 1314484547 943832 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote <oerjan> theorem prover yada yada halting problem. < 1314484549 921313 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :630) <oerjan> theorem prover yada yada halting problem. < 1314484584 836147 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :is there some unwritten rule that compilers must halt? < 1314484587 225054 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :how silly. < 1314484599 852410 :augur!~augur@216-164-57-20.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1314484614 167420 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :compilation is more fun when it's potentially undecidable. < 1314484639 899634 :pikhq!~pikhq@71-219-199-39.clsp.qwest.net PRIVMSG #esoteric :You would think that. < 1314484803 153964 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net JOIN :#esoteric < 1314484853 80576 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what if you gave the compiler a written promise that everything was fine? < 1314484853 308945 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :if a compiler doesn't halt it doesn't count as proof of TC-ness, at least < 1314484922 660577 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :haskell has that, it's called unsafeCoerce. < 1314484967 77445 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you may find it somewhat unsatisfactory for ensuring monad laws. < 1314484998 257909 :pikhq!~pikhq@71-219-199-39.clsp.qwest.net QUIT :Ping timeout: 245 seconds < 1314485094 997542 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I might not be on Freenode tomorrow < 1314485111 555053 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: hm that Id monad from your link actually has a strict return. hm. < 1314485149 482179 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :but i think that works because that monad contains _only_ return x values. < 1314485272 558343 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so that undefined >>= f is not necessarily undefined. hm actually isn't that the definition of a _lazy_ monad. < 1314485412 909599 :FireFly!~firefly@unaffiliated/firefly QUIT :Quit: FireFly < 1314485663 789945 :augur!~augur@216-164-57-20.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com QUIT :Remote host closed the connection < 1314485710 335978 :augur!~augur@216-164-57-20.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1314485883 136716 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1314486194 166610 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I want to implement more-notation in Haskell, and be able to use it with Template Haskell. Writing it as a preprocessor will not do that < 1314486220 813627 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(That is, I want to be able to reify more-notation) < 1314486568 238783 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net PRIVMSG #esoteric :Huh. For licensing reasons, Sun published a different package of the JDK for distros to use. < 1314486574 898874 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net PRIVMSG #esoteric :Oracle is discontinuing that package. < 1314486605 840511 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net PRIVMSG #esoteric :Making it so the official JDK is not at all legally redistributable. < 1314486651 977017 :sllide!~jari@ip565eb113.direct-adsl.nl JOIN :#esoteric < 1314487032 410359 :Vorpal_!~AnMaster@unaffiliated/anmaster NICK :Vorpal < 1314487212 396940 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 240 seconds < 1314487237 948954 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1314487927 683587 :Gregor!Gregor@codu.org PRIVMSG #esoteric :pikhq_: And what's the status of OpenJDK? < 1314487937 964540 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Other than <Oracle> lol, no < 1314488017 231880 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net PRIVMSG #esoteric :Gregor: Functioning, but with bugs? < 1314488041 275728 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net PRIVMSG #esoteric :Also, perfectly legal. < 1314488059 350421 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Right, OK. < 1314488069 253542 :Gregor!Gregor@codu.org PRIVMSG #esoteric :I mean, last I knew, my Java is icedtea. < 1314488093 503584 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"Last I knew, my java is iced tea." --Gregor, senile. < 1314488097 795125 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :pikhq_: Why is this "Huh."? < 1314488142 88000 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net PRIVMSG #esoteric :coppro: Did not realise that Sun was that friggin' retarded with the licensing. < 1314488150 198435 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I still have no idea where the safest place in my apartment, if there is one, is < 1314488151 333179 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric ::( < 1314488155 158194 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net PRIVMSG #esoteric :"No, you can't redistribute this! Redistribute this OTHER package instead!" < 1314488158 715238 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: BACK IN MY DAY, WE COULD ONLY GET 24 OUNCES OF ICED TEA IN OUR COFFEE AT STARBUCKS, AND WE LIKED IT! YOU WHIPPERSNAPPERS AND YOUR 124 OUNCE COFFEE-SLURPEE-DRINK-IT-CUPS ARE CODDLED < 1314488180 329891 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: It's OK. Have this hot steaming mug of OpenJDK (water not included). < 1314488187 695143 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: wat < 1314488209 982275 :pikhq_!~pikhq@71-219-204-139.clsp.qwest.net PRIVMSG #esoteric :elliott: Hurricane coming his way. < 1314488216 338635 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh < 1314488217 45891 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :right < 1314488219 680356 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: YOU YOUNGINS AND YOUR ROCK-AND-ROLL COFFEE SEX PARTIES < 1314488234 10258 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, I live on an island that's in the path of a hurricane. I'm well outside the evacuation zone, but worried about wind breaking my window or something < 1314488342 395740 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :an island in the eastern us, with a storm coming... < 1314488346 736842 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^style lovecraft < 1314488346 808860 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Selected style: lovecraft (H. P. Lovecraft's writings) < 1314488355 116939 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :fungot: what is your comment to this? < 1314488355 465622 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :oerjan: the next day, his last in raback, he again goes alone to bid the long-dead count farewell. once more the lighters grew wont to put out from the north curse and whine, and the < 1314488433 59016 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Sgeo: fungot says you should look out for long-dead counts < 1314488433 475116 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :oerjan: in a field, forced poison down his throat, as if to dispel the mood which was engulfing her more and more i come to a sort of < 1314488479 427286 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Sgeo: If you don't, he'll force poison down your throat. Or maybe that's how you're supposed to deal with him? Also it seems the poison is more of a mood-enhancer. < 1314488963 486476 :augur!~augur@216-164-57-20.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com QUIT :Remote host closed the connection < 1314489380 135271 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net JOIN :#esoteric < 1314489456 290056 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :So it turns out that parsing with iterators is quite natural. < 1314489531 391450 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :he lies. < 1314489554 94679 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :Largely because everything's modelled as a lazy dataflow. < 1314489569 171622 :evincar!~jon@d-rev-bng-70-20-43-168.ngn.east.myfairpoint.net PRIVMSG #esoteric :And any accumulation or state is encapsulated, if not actively discouraged. < 1314489577 808039 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :itt: parser combinators are literally the best anyone who doesn't like them is not a smart person