< 1305244812 327043 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :active worlds: yes < 1305244834 933564 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what are active worlds bots and why do they need continuations < 1305244897 760556 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :mmm the pure wikipedia page < 1305244898 674541 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :Calling C functions from Pure is very easy. E.g., the following imports the puts function from the C library and uses it to print the string "Hello, world!" on the terminal: < 1305244901 842291 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :extern int puts(char*); < 1305244904 255161 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hello = puts "Hello, world!"; < 1305244906 864835 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hello; < 1305244925 627229 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :monqy, a bot in AW is a program that connects to the AW universe < 1305244936 576052 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Continuations should make all sorts of things about making bots easier < 1305244949 352446 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :My current/dormant C# project could really have used them < 1305244951 524191 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :yeah but what do the bots do < 1305244962 272442 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :monqy, whatever the programmer of the bot wants them to do < 1305244969 82851 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :sounds okay < 1305244970 895712 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :They can run worlds, so that the world is a game < 1305244983 765517 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is active worlds the one with the hilarious 3d models < 1305244988 820202 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :or is it just ugly < 1305244989 125449 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :"hilarious"? < 1305244994 773755 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :It's... old < 1305245011 41455 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I must have been thinking of something else < 1305245022 148637 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :how many of these virtual reality things do you do < 1305245024 539123 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :it has to be one of them < 1305245032 571735 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I remember there was another that was hilariously outdated < 1305245101 948738 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :all of them are hideously outdated < 1305245103 453551 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Active Worlds, Cybertown, occasional visitor of There (deceased), Worlds, Metaplace, occasional visitor of Utherverse (I visited once or twice, not for perverse reasons, really), visited IMVU once or twice and hated it, Second Life, < 1305245105 101953 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :like, apart from second life < 1305245108 698039 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :which is inexplicably popular < 1305245124 137735 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I visited Lively once or twice (deceased) < 1305245139 14501 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :jmonqy < 1305245140 740368 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :monqy < 1305245141 574484 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :cybertown is the hilariously outdated one < 1305245142 438297 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :There's one beginning with a k... < 1305245144 485273 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :why would you make sgeo talk about this < 1305245145 529801 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :elliott < 1305245147 999518 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :its horrible < 1305245152 255875 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I am a horrible person < 1305245164 333620 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but lol this utherverse thing is like a virtual reality porn game?? < 1305245167 387207 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :looooooooool < 1305245185 499298 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I was more of a pervert in Metaplace than Utherverse < 1305245241 395924 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I invented Metaplace sex >.> < 1305245282 846903 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :mmmm < 1305245286 66937 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hahahahahaha wow < 1305245288 811463 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :am i really reading these things < 1305245293 78181 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :A social network for adults only. Meet real people and explore our online virtual world. All for FREE! < 1305245293 244107 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote I was more of a pervert in Metaplace than Utherverse I invented Metaplace sex >.> < 1305245294 992686 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​411) I was more of a pervert in Metaplace than Utherverse I invented Metaplace sex >.> < 1305245302 941229 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :sgeo you're like eight years old jesus christ < 1305245306 203133 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :this just isnt appropriate < 1305245321 509742 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :do 8 years olds invent metaplace sex < 1305245364 668498 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :http://www.utherverse.com/Sites/Utherverse/images/animeAvatarsOver.jpg < 1305245394 958954 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :looks legitimate < 1305245499 280736 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wow < 1305245510 293774 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :sgeo fantasy land < 1305245526 843337 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I only visited once or twice < 1305245535 776659 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Just to see yet another virtual world < 1305245548 8850 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :good reason < 1305245571 751804 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so sgeo < 1305245573 302960 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I don't want to think about what I would be like if I obsessed over virtual worlds < 1305245574 281546 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :how does metaplace sex work < 1305245586 880582 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :or invented metaplace sex < 1305245616 945191 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :"proud not to have invented metaplace sex" monqy motto < 1305245631 406437 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :All it is is just a "fainting" animation repeatedly :/. It looks more like fish flopping around than anything that I'd imagine sex would look like, really < 1305245735 879384 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :sgeo do you actually know what sex looks like i am just checking here < 1305245754 507920 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I think so < 1305245766 898014 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :after all he invented it in metaplace < 1305245808 758944 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote sgeo do you actually know what sex looks like i am just checking here I think so < 1305245810 560864 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​412) sgeo do you actually know what sex looks like i am just checking here I think so < 1305245874 357779 :Ycros!~ycros@gnaw.ycros.org QUIT :Quit: No Ping reply in 180 seconds. < 1305245883 872680 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is "I think so" the best possible answer to that question < 1305245925 346117 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1305245928 205180 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think so < 1305245937 222184 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :"I'll find out in person in a bit" < 1305245952 894968 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :ew gross < 1305246006 377143 :lambdabot!~lambdabot@li85-105.members.linode.com QUIT :Read error: Operation timed out < 1305246015 554771 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Suppose you have (define (get-cc) (call/cc (lambda (cc) cc))) < 1305246023 860219 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Can call/cc be implemented in terms of get-cc? < 1305246030 724562 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I believe so, yes. < 1305246105 166952 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :(define (my-call/cc func) (func (get-cc))) ? < 1305246111 212837 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Or is there an oddity there? < 1305246164 367363 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That won't work. < 1305246217 417981 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Hm? < 1305246276 75042 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Think about what the continuation is there. < 1305246313 661047 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :It's right before func is called... so if func calls it, func will be called again? < 1305246356 122986 :Ycros!~ycros@ycrosgnaw-1-pt.tunnel.tserv3.fmt2.ipv6.he.net JOIN :#esoteric < 1305246654 929995 :EgoBot!Gregor@codu.org QUIT :Ping timeout: 260 seconds < 1305246666 130954 :EgoBot!Gregor@codu.org JOIN :#esoteric < 1305246956 633032 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :elliott? < 1305247717 834723 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305248164 12699 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I just realized the symmatry between continuations and the functions passed into call/cc < 1305248167 972357 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Is that deliberate? < 1305248175 233736 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Yes, I know I can't spel < 1305248193 321252 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :How is there symmetry < 1305248220 396548 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :The continuation provided by call/cc is a function that takes one argument. The function that accepts the continuation accepts one argument < 1305248232 937970 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com QUIT :Remote host closed the connection < 1305248265 377513 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :What makes you think continuations take one argument? < 1305248391 961305 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :http://c2.com/cgi/wiki?CallWithCurrentContinuation < 1305248423 415924 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : What makes you think continuations take one argument? < 1305248485 113712 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :That's how they're used on that page and elsewhere < 1305248490 149827 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :For instance, please explain: (call-with-values (lambda () (values 1 2)) (lambda v v)). < 1305248512 87006 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I don't know what call-with-values is >.> < 1305248527 796317 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :But can continuations take 0 or several arguments? < 1305248549 316977 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(call-with-values f k) calls f with k as f's continuation. < 1305248559 388358 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Calls f with no arguments, that is. < 1305248574 765927 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :For instance, (call-with-values (lambda () (+ 9 9)) (lambda (x) (display x) (newline))) prints the number eighteen and a newline. < 1305248608 860059 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(call-with-values (lambda () (values 'a 'b)) cons) => (a . b) < 1305248653 14585 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And < 1305248662 221926 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(call-with-values (lambda () (call/cc (lambda (k) (k 'a 'b)))) cons) < 1305248663 848595 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : => (a . b) < 1305248665 420690 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Operation timed out < 1305248704 115477 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1305248705 300447 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ACTION decides that Racket's escape continuations are both confusing and a premature optimization < 1305248706 858161 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305248727 330206 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: please observe my above lines. < 1305248734 253701 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I see them < 1305248740 394284 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Escape continuations -- as in shift/reduce? < 1305248746 813467 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :They aren't an optimisation, they have different semantics. < 1305248751 237358 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or, no, wait. < 1305248756 425921 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :setjmp/longjmp style. < 1305248762 314636 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :How is that confusing? < 1305248763 625376 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com QUIT :Remote host closed the connection < 1305248769 920887 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :They're a continuation, except you can only go down the stack, and probably only once. < 1305248776 353197 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :They're identical to try/except/throw. < 1305248786 101422 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Also I don't mean shift/reduce. < 1305248794 159541 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I mean shift/reset. < 1305248886 307814 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ACTION tries to wrap his mind around dynamic-wind. I mean, it sounds simple enough, but I may have an utterly mistaken idea < 1305249019 552055 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :DYNAMIC-WIND itself is quite simple, but its interactions with CALL-WITH-CURRENT-CONTINUATION are subtle. < 1305249044 608156 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Remember that the blocks execute /every/ time the thunk is left, including multiple times thanks to CALL-WITH-CURRENT-CONTINUATION. < 1305249071 819850 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Can dynamic-wind be implemented in Scheme? < 1305249072 66895 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The procedures call-with-current-continuation and dynamic-wind engage in quite subtle interaction with each other. Many Schemes implement both in Scheme on top of a primitive, non-"wind-safe" call-with-current-continuation. This is a particularly common implementation strategy because previous versions of the Scheme standard did not include dynamic-wind and wind-safe call-with-current-continuation. Not < 1305249072 148751 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :e that implementations following this strategy must ensure that the original call-with-current-continuation is no longer reachable from application code since that could compromise the wind-safety of the entire application. < 1305249074 398697 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-- http://community.schemewiki.org/?scheme-faq-misc < 1305249258 868961 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: http://www.cs.hmc.edu/~fleck/envision/scheme48/meeting/node7.html < 1305249268 139070 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :A (badly-formatted) dynamic-wind in Scheme. < 1305249290 610412 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ACTION still wants to read about how events work in Racket < 1305249332 292371 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh and yes you can make a continuation which takes no arguments. < 1305249440 929081 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: < 1305249442 770417 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :> (call-with-values (lambda () (call-with-current-continuation (lambda (k) (k)))) (lambda () 42)) < 1305249443 4363 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :42 < 1305249452 785632 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Thunk passed is the same as (lambda () (values)).) < 1305249471 243641 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ACTION goes back to reading websites about Scheme < 1305249632 261265 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :"The question is answered in section 6.4 of R5RS: "Except for continuations created by the call-with-values procedure, all continuations take exactly one value." < 1305249677 848472 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION thinks about how to do a lazy term-rewriting language < 1305249682 262045 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: Yes, and? < 1305249695 421858 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: This is because the CALL-WITH-VALUES procedure is exactly the way to create continuations with more than or less than one value. < 1305250026 122348 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1305250108 274806 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I really wish Scheme didn't have set-c[ad]r!. < 1305250120 474804 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Hmm? < 1305250134 757767 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Racket's regular conses are immutable < 1305250142 491923 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :=P < 1305250142 644346 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Racket isn't Scheme. < 1305250176 573128 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Actually I'm also vaguely annoyed that pairs aren't identified with vectors of length two. < 1305250186 668746 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(a . b . c) would be a snazzy syntax for a length-three vector, too. :p < 1305250190 313096 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Is there a good reason for me to learn R5RS Scheme instead of Racket? < 1305250236 551421 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com QUIT :Remote host closed the connection < 1305250255 848691 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Do I give a shit? < 1305250280 325214 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Quit: Leaving. < 1305250540 303778 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Y'know, the whole mess that is C portability is probably the single best argument against C. < 1305250590 948775 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :C potability. < 1305250691 447661 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :If you want to write a program that will run anywhere with a C compiler, give up now. < 1305250705 770370 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's relatively easy for numeric crunching. < 1305250714 103865 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :You can't even be sure it will have the standard headers. < 1305250724 939889 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Standalone implementations hardly count. < 1305250729 17747 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Erm. < 1305250730 397472 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Freestanding. < 1305250735 359160 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :I'm not including those. < 1305250739 310861 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :K&R C. < 1305250764 132998 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, OK, and it's hard to write a program that runs in both Python and Ruby interpreters too. < 1305250771 35495 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You're trying to write a polyglot, which is just stupid. < 1305250775 619979 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :K&R C is still C. < 1305250781 531396 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ANSI C and K[and]R C are two different languages. < 1305250793 171422 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :They are so different as to be almost incomparable. < 1305250874 45483 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Anyways, *disregarding that*, unless every function you want is in the commonly supported subset of the C library, you're in for a world of hurt. < 1305250895 518130 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :So we are counting non-implementations of ANSI C too? < 1305250901 370732 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :If they don't follow the standard, they aren't implementations. < 1305250912 905805 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And everything follows ANSI C nowadays (C99 not so much). < 1305250919 762208 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Operation timed out < 1305250930 99250 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Is C in better or worse shape than Scheme? < 1305250939 223169 :Slereah!~Slereah@ANantes-259-1-128-64.w92-139.abo.wanadoo.fr QUIT :Ping timeout: 264 seconds < 1305250942 82501 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Define shape, better, worse, and what you think Scheme's "shape" is. < 1305250985 456478 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :elliott: There's still a large amount of really, really stupid shit out there. For instance: apparently, on Darwin, you have to explicitly include stdio.h if you are including stdlib.h. < 1305251061 751773 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Like, what? You can't include stdlib without stdio? < 1305251064 134575 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Bullshit. < 1305251106 801981 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305251119 262178 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: Or? < 1305251145 171435 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: If you mean doesn't implicitly include , it's not specified to. < 1305251190 776281 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"div always rounds towards 0, unlike ordinary integer division in C, where rounding for negative numbers is implementation-dependent." < 1305251192 670398 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You're kidding me. < 1305251200 233657 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hey Gregor, Fythe [caret] :P < 1305251207 127195 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :That declarations in their stdlib.h depend on declarations in stdio.h. < 1305251224 970478 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ACTION watches Racket install < 1305251273 32677 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: I'm pretty much entirely sure that's false. < 1305251310 413079 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: It's defined in C99. < 1305251322 753284 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: And just-so-happens to be the same in every implementation :P < 1305251335 384479 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Isn't Fythe ANSI, though? :P < 1305251366 168551 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Gregor: Then you might want to make it check for C99. :P < 1305251368 342516 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :BTW, sorry I've not done anything with the bignums, I'm sort of waiting until I can type C again. < 1305251380 28556 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: Fythe's division operator is implemented in ASM ... < 1305251391 490518 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Erm. < 1305251393 796415 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's generated by gcc :P < 1305251405 658572 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :OK, so gcc will never do anything other than generating a plain div instruction. < 1305251407 179354 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But still :P < 1305251423 347078 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: It's generated ONCE by GCC. < 1305251429 978430 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott: Then the same one is used in every installation. < 1305251433 411163 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, yeah :P < 1305251434 678101 :Gregor!Gregor@codu.org PRIVMSG #esoteric :So what's important is the ASM, not GCC. < 1305251469 132396 :Gregor!Gregor@codu.org PRIVMSG #esoteric :And no, pikhq_, I'm not going to check for C99 to make sure that division behaves like it did in all pre-C99 compilers anyway. < 1305251555 532554 :Slereah!~Slereah@ANantes-259-1-126-150.w92-139.abo.wanadoo.fr JOIN :#esoteric < 1305251658 24622 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :What, is this an error in the specification... < 1305251665 638894 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :DrRacket froze up when I typed (/ 1 0) < 1305251671 754503 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :In the following example the only tail call is the call to f. None of the calls to g or h are tail calls. The reference to x is in a tail context, but it is not a call and thus is not a tail call. < 1305251671 878481 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(lambda () < 1305251671 960330 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (if (g) < 1305251671 960490 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (let ((x (h))) < 1305251671 960591 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : x) < 1305251673 756195 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (and (g) (f)))) < 1305251676 677461 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That (f) is so blatantly not a tail call. < 1305251686 786219 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Ok, it ust took a distressing amount of time to work out that I divided by 0 < 1305251693 667865 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, wait, yes it is. < 1305251697 848414 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and is control flow just like if. < 1305251731 597690 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1305251980 630511 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com QUIT :Remote host closed the connection < 1305251995 253051 :TeruFSX!~quassel@71-210-136-53.mpls.qwest.net JOIN :#esoteric < 1305252211 740554 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Connection reset by peer < 1305252308 435612 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305252328 844045 :lambdabot!~lambdabot@li85-105.members.linode.com JOIN :#esoteric < 1305253441 911370 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :lambdabot more like bambdalot < 1305253597 625693 :dbc!~daniel@130-94-161-238-dsl.hevanet.com JOIN :#esoteric < 1305255244 715983 :wth!~tianhou@2001:250:4001:302:223:8bff:fe54:5b7a JOIN :#esoteric < 1305255269 446114 :wth!~tianhou@2001:250:4001:302:223:8bff:fe54:5b7a QUIT :Client Quit < 1305255535 282320 :Ycros!~ycros@ycrosgnaw-1-pt.tunnel.tserv3.fmt2.ipv6.he.net QUIT :Read error: Connection reset by peer < 1305255679 705097 :Ycros!~ycros@ycrosgnaw-1-pt.tunnel.tserv3.fmt2.ipv6.he.net JOIN :#esoteric < 1305255925 438761 :augur!~augur@208.58.6.161 JOIN :#esoteric < 1305257568 803507 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Connection reset by peer < 1305258084 805657 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305259995 584791 :Ycros!~ycros@ycrosgnaw-1-pt.tunnel.tserv3.fmt2.ipv6.he.net QUIT :Read error: Connection reset by peer < 1305260127 155767 :Ycros!~ycros@ycrosgnaw-1-pt.tunnel.tserv3.fmt2.ipv6.he.net JOIN :#esoteric < 1305260431 371981 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Google is now a *TV* ad agency as well. < 1305260475 656940 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :http://www.youtube.com/watch?v=peqnSTBnTVk < 1305261552 260515 :elliott!~elliott@unaffiliated/elliott QUIT :Remote host closed the connection < 1305262226 38282 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :pikhq_: I should be less surprised < 1305262256 530470 :ralc!~ralc@79.142.230.243.static.knet.bolignet.dk JOIN :#esoteric < 1305262842 795911 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1305263326 512484 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Does anyone know if there's some sort of DVCS-backed FUSE filesystem that just commits every time you save? < 1305263337 270951 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And then some kind of undo-tree UI for actually finding a revision in the mess, I guess. < 1305263358 251111 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You'd do actual commits separately, this would just be so you can make experimental changes without relying on your editor's undo capabilities... < 1305264506 856244 :siracusa!~siracusa@p54ACFA01.dip.t-dialin.net QUIT :Read error: Connection reset by peer < 1305264695 125758 :siracusa!~siracusa@p54ACFA01.dip.t-dialin.net JOIN :#esoteric < 1305266477 572034 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net JOIN :#esoteric < 1305266489 154321 :pikhq_!~pikhq@174-22-166-10.clsp.qwest.net QUIT :Quit: Reconnecting < 1305267383 347946 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Finger tree: http://i.imgur.com/sRyCi.png < 1305267434 76310 :elliott!~elliott@unaffiliated/elliott PART #esoteric :"Leaving" < 1305267444 362137 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1305267454 38880 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I can't stop laughing at my own damn creation. < 1305267475 974936 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :XD < 1305267505 915000 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I kind of wish my hand was a finger tree now. < 1305267536 627662 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :Tired. < 1305267587 511647 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1305267606 635772 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :luckily I have my 25cl of fantastic pear-flavoured fruit drink, that'll totally make me fit-for-fight < 1305267628 558682 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hey olsner < 1305267631 878052 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i drew a finger tree http://i.imgur.com/sRyCi.png < 1305267635 890460 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what do you think < 1305267642 791279 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :yeah, I saw, that looks nice < 1305267660 87712 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :the spitting image of a something-or-other < 1305267675 48456 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :a finger tree, say < 1305267682 723850 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :could be < 1305268254 969850 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :ACTION wonders why ar is only used for static libraries and .debs < 1305268318 302431 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :It's a freaking general-purpose archiver. < 1305268356 781125 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :maybe it doesn't support directories < 1305268406 350826 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :and file permissions, and other fancy features that you want from actual general-purpose archivers < 1305268406 969697 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it doesn't < 1305268453 818546 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Oh, right, it's got retarded limitations. < 1305268458 409554 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Question answered! < 1305268641 619316 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :On the third hand, it does have (well, GNU ar does; and probably many others, incompatibly) that symbol table thing, which is certainly something you'd want in a general-purpose archiver. < 1305268763 882820 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :olsner: It does, however, have mtime/uid/gid/permissions entries in the file header. < 1305268772 82055 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :(But no directories.) < 1305268801 839902 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Didn't someone speak of a "nest ar files in ar files to simulate directories" scheme once? < 1305268805 710480 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yes. < 1305268807 93220 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That was me. < 1305268809 406157 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm the genius. It's me. < 1305268814 183730 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :It sounds like something you'd do, yes. < 1305268841 468246 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I will choose to take that as a compliment. < 1305268875 304982 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :A dazzling display of optimism. < 1305268895 615779 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hey fizzie, ban clog, it'll be swell. < 1305268903 803961 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or at least +q. < 1305269025 976098 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Suddenly I am suspicious; this must be some sort of a trick, even though I can't see any harm in it. < 1305269054 801375 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Now I just wonder what anyone was thinking when they came up with .deb. < 1305269073 947992 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :It literally has 2 tarballs in an arball. < 1305269103 279347 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :"Arball" is a funny word. Arball, arball, arball. Repeat it a couple of times. < 1305269108 171967 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Arb-all. < 1305269227 229848 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: It's not a trick, I'm just insane. < 1305269274 3034 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I am still suspicious, but here goes. < 1305269276 172866 :ChanServ!ChanServ@services. MODE #esoteric +q :clog!~nef@bespin.org > 1305269276 234542 NAMES :#esoteric < 1305269315 417674 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :clog: Ha, finally your inane babbling has been silenced! < 1305269327 352692 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Peace and quiet, at last. < 1305269478 324862 :Slereah!~Slereah@ANantes-259-1-126-150.w92-139.abo.wanadoo.fr QUIT :Ping timeout: 260 seconds < 1305269490 475711 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Huh < 1305269497 383932 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Some people blame PLT for R6RS < 1305269618 279183 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :fizzie: that should probably be spelled arbl < 1305269694 30171 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Oh arbl, arbl arbl, I made it out of clay. < 1305269702 343443 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :(Add the missing comma.) < 1305269909 132696 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :VERSION < 1305269914 165222 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :PAH CLOG STILL REPLIED < 1305269917 877163 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :IT IS UTTERLY UNDAMAGED BY THIS < 1305269933 257756 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-hiato- VERSION yes < 1305269939 125409 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-Lymia- VERSION BusyBox v1.14.2 (FreeDos 1.0) multi-purpose chat client <-- SUUUURE < 1305270105 941032 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :elliott, do you think PLT is to blame for R6RS? < 1305270145 252643 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :If a tree falls in the forest and nobody is around to see it, does Sgeo keep asking stupid, unanswerable questions? < 1305270159 765404 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I don't think anything could stop that < 1305270198 143335 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe if all the virtual worlds in the universe had a gigantic party together < 1305270206 215893 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but the condition was you had to stop asking stupid questions for a whole day < 1305270211 474066 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :... < 1305270212 89395 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nah < 1305270213 910123 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :still wouldn't do it < 1305270471 866145 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1305270661 963874 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan < 1305270666 912618 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :clog has been silenced :( < 1305270668 877303 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :its an injustice < 1305270719 625745 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ACTION assumes this is because of the error messages it gives to unknown CTCP's < 1305270782 227591 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nope < 1305270790 193992 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie is just this huge fascist < 1305270814 544624 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh wait hm < 1305270818 475279 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :clog wouldn < 1305270827 508444 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :'t log its own responses, probably < 1305270869 333693 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :15:31:03 the thing oerjan said about counting down for my head to explode which i can;t find in my scrollback < 1305270872 799434 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :15:31:10 it applies now. < 1305270875 383107 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :15:31:12 BOOM < 1305270879 703783 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :EVERYTHING WENT AS EXPECTED < 1305271012 162699 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :glogbot's logs aren't loading... < 1305271044 853005 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh hm it was the wrong date anyway < 1305271083 875786 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :elliott: wait, clog did absolutely _nothing_? < 1305271181 568941 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh you wanted to test it? < 1305271257 221578 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i guess if VERSION replies aren't to the channel anyhow, it won't make a difference < 1305271290 506985 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: i just wanted it to happen since it would have no effect anyway ;D < 1305271331 832716 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ARGLE BARGLE < 1305271356 31769 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :right not even the error replies go to channel < 1305271898 903922 :FireFly!~firefly@unaffiliated/firefly QUIT :Quit: swatted to death < 1305271971 952916 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: have you seen my picture of a finger tree < 1305271973 814950 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's lovely :( < 1305272130 90095 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ACTION swats elliott -----### < 1305272268 134008 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :do you like it < 1305272295 691910 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :it is somewhat disturbingly similar to a penis tree < 1305272305 398000 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :brb reopening gimp < 1305272310 995528 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :XD < 1305272397 948366 :Lymia!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :Is Python's slice notation inclusive, or exclusive for the second parameter? < 1305272418 343030 :Lymia!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :i.e. would x[a:b] include b < 1305272452 501070 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :>>> 'abcdefghijklmnopqrstuvwxyz'[0:9] < 1305272452 583033 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :'abcdefghi' < 1305272452 676506 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :>>> len('abcdefghijklmnopqrstuvwxyz'[0:9]) < 1305272452 758181 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :9 < 1305272458 918795 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I can't give more useful examples since I can't type the relevant numbers. < 1305272525 564523 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :elliott, so numerically challenged < 1305272664 599803 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :can someone say sixty four < 1305272676 827911 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :LXIIII < 1305272680 460250 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :never mind < 1305272687 88657 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: plz ban oerjan for troll < 1305272731 15701 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hey if roman numerals were good enough for jesus... < 1305272795 62453 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: religious trolling at that < 1305273083 175429 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :oerjan: THOV HAST VVIN < 1305273128 58105 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :(HEY, IF AN ALPHABET VVITHOVT "W" OR "J" VVAS GOOD ENOVGH FOR IESVS...) < 1305273285 290098 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :jewsus < 1305273344 728661 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :jew go too far < 1305273469 346542 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :elliott: "JEW" IS INCORRECT. "IVDAEVM" IS THE VVORD THOV VVISHEST, FOR REFERING TO THE OLDEST OF THE THREE MAIN ABRAHAMIC FAITHS < 1305273486 478060 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :elliott: ALSO, THERE IS NO LETTER "J" OR "W". I THINK YOV MEAN "I" and "VV". < 1305273518 203466 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :("U" IS, OF COVRSE, JVST A CVRVIER "V") < 1305273525 961791 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :... CVRSES VNTO ME < 1305273533 780382 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :s/JVST/IVST/ < 1305273761 170456 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :are people lozenges? < 1305273815 45809 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Define "lozenge", and I'll tell you. < 1305273843 396727 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :lozenge < 1305273856 674629 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :No. < 1305273880 889568 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net PRIVMSG #esoteric :Clearly, strcmp("lozenge", "people")!=0. < 1305273897 326315 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you're a people. < 1305273903 395031 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fuck you lozenge. < 1305273906 97676 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ACTION risks brain-damage and downloads newLISP < 1305273923 418385 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :why < 1305273961 672386 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i love how monqy bypassed the naive optimistic esolang-liking of this place and skipped straight to the Sgeo mockery < 1305273976 498964 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's pretty much what this place exists for < 1305274010 948075 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net JOIN :#esoteric < 1305274018 881371 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :We live to mock! < 1305274033 73338 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://esolangs.org/w/index.php?title=Befunge&diff=next&oldid=22874 < 1305274034 292246 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :NO < 1305274039 898765 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Mock Tailsteak? < 1305274047 14191 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :im gonna find what fucker made this and beat them with a shiro < 1305274097 202287 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :FUCK IT IMPLEMENTS MORE FINGERPRINTS THAN SHIRO FUCK < 1305274101 560699 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :looks like the same person that added that bit < 1305274124 880951 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :FUCK FUCK FUCK < 1305274129 429505 :pikhq!~pikhq@174-22-166-10.clsp.qwest.net QUIT :Read error: Operation timed out < 1305274176 617697 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :HAHA YES ITS FUNGESPACE IS MORE NAIVE THAN MINE < 1305274179 209537 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :TAKE THAT YOU PIECE OF CRAP < 1305274182 440661 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :>_> < 1305274189 402809 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's also N-dimensional though :P < 1305274194 406373 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :or maybe a fungi fanboy, but I doubt such a person exists < 1305274205 119394 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Upload date Tue Oct 5 04:24:08 UTC 2010 < 1305274206 683058 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :how is this so old < 1305274208 563136 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :probably because < 1305274209 983980 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it is crap??? < 1305274219 107438 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hey i should generalise shiro to n dimensions < 1305274223 735061 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that would be fun and profitable < 1305274227 603744 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and slow it down < 1305274228 888453 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :immensely < 1305274276 965747 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :to truly beat em, you must support fractal dimensions < 1305274284 651275 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ACTION lurks away cackling evilly < 1305274311 780828 :siracusa!~siracusa@p54ACFA01.dip.t-dialin.net QUIT :Ping timeout: 252 seconds < 1305274314 153695 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :aieeeeee < 1305274359 33228 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :support vortex math < 1305274369 31137 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :lol < 1305274392 348257 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Wow < 1305274406 34301 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I'm already ticked off by newLISP's REPL of all things < 1305274409 168106 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Support the hyperbolic plane. < 1305274411 703770 :siracusa!~siracusa@p54ACF166.dip.t-dialin.net JOIN :#esoteric < 1305274426 819656 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :.....The fudge? < 1305274434 72737 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :The damn editor doesn't do automatic indentation?/ < 1305274467 258694 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :did you really just say < 1305274468 406744 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"the fudge" < 1305274488 761001 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :You are allowed to say "the fuck". < 1305274494 112567 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :We are not afraid of copulation here. < 1305274500 926029 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Sleep, maybe, but not copulation. < 1305274504 624830 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ACTION gives newLISP-GS a gigantic middle finger < 1305274529 568268 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I'm sure it appreciates it < 1305274539 344455 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Sgeo: i suggest applying elliott's finger tree < 1305274547 180870 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :maybe you should use a real whatever newLISP-GS is supposed to be < 1305274548 39736 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::D < 1305274550 795031 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :maybe you should use a real language < 1305274554 717774 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :can never have enough fingers on the tree < 1305274612 108015 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ok things i need for this: haskell with a lot of packages, emacs set up correctly < 1305274626 217049 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hey did i ever get oerjan to answer my haskell structuring question ;D < 1305274645 665434 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :sounds unlikely < 1305274706 303500 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :basically avoiding stacks of what amount to case statements on Maybes with a consistent failure mode... < 1305274711 170985 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm pretty sure it's a MaybeT but I'm not sure. < 1305274714 110815 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :erm. < 1305274717 184457 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think it's a MaybeT but I'm not sure. < 1305274748 887023 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :assuming you need an underlying monad < 1305274758 278514 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I do, since the code without it is extremely ugly and leans right < 1305274761 129959 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the problem is that when I result in Nothing, I /don't/ want to rewind the state < 1305274771 781044 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :my monad is < 1305274773 21015 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :elliott: erm i mean _besides_ the Maybe part < 1305274780 110398 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ah. well yes, but let me explain < 1305274784 760044 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't need an _underlying_ monad < 1305274789 972766 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I need a _monad sandwich_ < 1305274801 396297 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the Shiro monad: StateT FungeState IO < 1305274810 738459 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net QUIT :Ping timeout: 246 seconds < 1305274813 697499 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wrong: MaybeT (StateT FungeState IO) (or however you say it) < 1305274821 301709 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because when it's Nothing, the state /should not rewind/ < 1305274822 431530 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it should be < 1305274826 672333 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :StateT FungeState (MaybeT IO) < 1305274830 743139 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but, like, writing < 1305274839 51605 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i don't know why the state would rewind... < 1305274851 989580 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: um because when the stack returned Nothing you wouldn't be able to get the state out < 1305274855 424525 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :state can change /before/ it fails < 1305274857 739308 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and that state should not rewind < 1305274860 573934 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i'd expect it to rewind only for StateT FungeState (MaybeT IO) < 1305274873 221509 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :um no. < 1305274902 947005 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :except that there are some monad transformers that take pains to commute anyhow iirc < 1305274917 642038 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i'm not sure you understand < 1305274920 320715 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the structure is basically like < 1305274921 189730 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :do { < 1305274922 910620 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :state shit < 1305274924 89389 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :more state shit < 1305274925 744183 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :case whut of < 1305274928 590896 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Nothing -> reflect < 1305274931 705715 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Just yay -> do < 1305274934 51486 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : state shit < 1305274941 315537 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : case foo of Nothing -> reflect; Just yayy -> ... < 1305274941 510572 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :} < 1305274943 189249 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so on forever < 1305274950 552837 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :when I reflect, that's the end of the entire function < 1305274955 850249 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :/but/ I can't have the whole thing be Maybe < 1305274961 73315 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because if I did, and it returned Nothing < 1305274966 64798 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I couldn't get at the modified state < 1305274968 162657 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :if you see what I mean < 1305275018 241881 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i sure hope oerjan is understanding me here :D < 1305275083 48938 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :do notation and state shit < 1305275085 661777 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :not my cup of tea < 1305275087 768504 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :elliott: i don't think you understand how monad transformers stack < 1305275106 999196 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: I might be misunderstanding MaybeT in particular, but I don't think so < 1305275124 804632 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i fully expect MaybeT (StateT FungeState IO) not to rewind state, because it cannot possibly rewind IO < 1305275135 580707 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm < 1305275171 398094 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: I think I was confusing (MaybeT (StateT FungeState IO) a) with (Maybe (StateT FungeState IO a)) or something like that < 1305275174 575513 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :god knows < 1305275180 66287 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :although it is _possible_ MaybeT takes pains to modify get and put to ruin my assumption < 1305275207 542948 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :one annoying thing is the delimitation of these "possibly-failing computations" < 1305275219 951890 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I /think/ it's just per-instruction < 1305275223 164521 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but I'm not sure < 1305275227 896391 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(i recall at one time finding a monad transformer which did something like that) < 1305275248 568045 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: anyway, the only problem now is all the unholy lifting I'll have to do :( < 1305275259 46270 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pop? more like lift pop < 1305275267 772663 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I could make a type class dealie but eurgh < 1305275269 334369 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ouch < 1305275285 706128 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : fpRun _ Y = do < 1305275285 822170 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : sem <- pop < 1305275285 904029 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : case toFPIns sem of < 1305275285 904147 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Nothing -> reflect < 1305275285 904194 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Just ins -> do < 1305275286 543947 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : m <- gets (fpInstructions . currentIP) < 1305275288 632753 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : case Map.lookup ins m of < 1305275290 784668 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Nothing -> return () < 1305275292 626621 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Just [] -> return () < 1305275294 708407 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Just (_:xs) -> modifyFPInstructions (Map.insert ins xs) < 1305275296 623198 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fpRun _ Y = do < 1305275298 742814 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : sem <- lift pop < 1305275305 4789 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : ins <- toFPIns sem < 1305275313 375644 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : m <- lift [dollar] gets blah blah < 1305275321 157354 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah there is going to be a lot of lifts is my point < 1305275393 528447 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: eurgh :( < 1305275437 204986 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :well make all your base operations work with MaybeT ... i guess < 1305275482 467603 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: um you realise there is tons of code /outside/ of the MaybeT? < 1305275487 315833 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :aha < 1305275497 49214 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the MaybeT is basically just a readability optimisation for a very very common pattern of code in instructions < 1305275503 839455 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's not essential to the structure or anything < 1305275516 756284 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : case (toFPIns asem, toFPIns bsem) of < 1305275516 960333 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (Just a, Just b) -> do < 1305275517 41368 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : m <- gets (fpInstructions . currentIP) < 1305275517 41539 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : case (maybe reflect head (Map.lookup a m), < 1305275517 41646 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : maybe reflect Map.lookup b m) of < 1305275518 408268 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :heh < 1305275521 336064 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's where I gave u < 1305275522 371109 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :p < 1305275525 591907 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :there's no code after that line :) < 1305275581 378217 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and i assume that gets (fpInstructions . currentIP) is a monadic operation < 1305275594 117989 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yes, in Shiro (== StateT FungeState IO) < 1305275613 863394 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but gets is in MonadState, so actually I could easily avoid lift there < 1305275617 427306 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's everything /else/ that'd suffer < 1305275645 40041 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :WOW this hGetLineWithTerminator is ugly. < 1305275649 340852 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hm i wonder, what about making a slightly more compact higher order function instead? < 1305275655 335589 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: like howso? < 1305275671 524056 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :testReflect (Just j) x = x < 1305275680 861346 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :testReflect Nothing _ = reflect < 1305275690 957869 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :elliot is a blub. < 1305275692 753445 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :er sorry < 1305275703 55390 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :* testReflect (Just j) x = x j < 1305275718 37613 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: that wouldn't help, since after reflect the instruction has to /stop/ < 1305275725 986983 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh, wait, that's continuation passing styl < 1305275726 89913 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :e < 1305275729 657236 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yep < 1305275731 137633 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well yes but it'll still lean rightwards... < 1305275735 693179 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :whereas this code should be flat < 1305275750 704471 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yes but maybe a little less? < 1305275760 933585 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i guess the do's ruin some things < 1305275770 701872 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it'd just help by one indentation level every block, I think < 1305275798 502116 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: behold the (unrelated) ugly :D http://sprunge.us/NTbX < 1305275811 223591 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well it does have one such block but it's not a problem function < 1305275829 821579 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : line <- ioReflect $ hGetLineWithTerminator handle < 1305275830 178900 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : push ref < 1305275830 260094 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : pushStringAs0gnirts line < 1305275830 260261 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : push . fromIntegral . length $ line < 1305275831 56405 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's a bug < 1305275835 387069 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I should halt after the reflect < 1305275836 645022 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but I don't < 1305276073 594950 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :so then i guess you either get rightwards leaning, lots of lifting, or embedding the MaybeT in your main monad. < 1305276093 319194 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or typeclassing everything < 1305276110 426003 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :instead of Shiro a, MonadShiro m => m a, etc. < 1305276131 310772 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :one more stopgap might be to use some >>= instead of do blocks < 1305276201 316778 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :how would that help < 1305276275 943723 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :fpRun _ Y = pop >>= \sem -> checkReflect toFPIns sem $ \ins -> gets (fpInstructions . currentIP) >>= \m -> < 1305276291 129304 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :you don't need new indentation to use >>= < 1305276291 544256 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so make it uglier and even more indented? < 1305276292 868272 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :gotcha < 1305276305 130181 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :um that was just to put it on one line < 1305276330 283227 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :although i stopped there because the three-way case doesn't fit with checkReflect < 1305276349 722731 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :also i'm missing some parentheses < 1305276398 778216 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1305276417 842642 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :that could make it less indented, although of course uglier < 1305276546 603719 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Features needed to be a half-decent Lisp editor: Easy to see matching parens, and automatic indentation. < 1305276549 381157 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hm you could also make the first part monadic < 1305276563 975870 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Percentage of such features newLISP-GS provides: 50% < 1305276568 389425 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: first is semi-irrelevant, all you really need is the blink to let you know which block you just closde < 1305276581 212419 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :That's what I meant by the first < 1305276596 114734 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I think < 1305276602 664828 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :checkReflect m f = m >>= \x -> case x of Nothing -> reflect; Just y -> f y < 1305276607 84800 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :then < 1305276637 603997 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :fpRun _ Y = checkReflect (toFPIns <$> pop) $ \ins -> ... < 1305276663 937612 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :still ugly, sorry :P < 1305276699 95396 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hm < 1305276716 24716 :elliott_!~elliott@91.104.253.77 JOIN :#esoteric < 1305276716 893777 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :fpRun _ Y = toFPIns <$> pop `checkReflect` \ins -> ... < 1305276722 335789 :elliott!~elliott@unaffiliated/elliott QUIT :Read error: Connection reset by peer < 1305276762 522274 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :can I have a two please < 1305276778 50454 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :you could make it a proper fixity 0 operator < 1305276781 67158 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :2 < 1305276781 149455 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :can I have a two please < 1305276784 193010 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :thx < 1305276797 926874 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Shiro/Fingerprints/FILE.hs:38:2: < 1305276798 130567 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : Warning: Pattern match(es) are non-exhaustive < 1305276798 211758 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : In the definition of `fpRun': < 1305276798 211930 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : Patterns not matched: < 1305276798 212042 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : _ A < 1305276798 740890 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : _ B < 1305276802 639568 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : _ E < 1305276804 696367 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : _ F < 1305276806 818681 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : ... < 1305276808 760349 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ugh that's annoying < 1305276844 757480 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :fpRun _ Y = toFPIns <$> pop -->- \ins -> < 1305276875 143944 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> (0$0 <$>) < 1305276875 963644 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : The operator `Data.Functor.<$>' [infixl 4] of a section < 1305276876 61034 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : must have lowe... < 1305276888 808799 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: you're just trying to get me to stop using do notation :D < 1305276905 555777 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :elliott_: well i'm pointing out that's the simplest way to reduce indentation here < 1305276927 320840 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :it strikes me as less elegant than a transformer, personally < 1305276970 181054 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Main.hs:7:0: < 1305276970 335931 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : Warning: The import of `Data.ByteString' is redundant < 1305276970 418350 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : except perhaps to import instances from `Data.ByteString' < 1305276970 418537 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : To import instances alone, use: import Data.ByteString() < 1305276971 198242 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :dosjdsdfjosjf < 1305276976 277515 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hm maybe >>=| would be a good name < 1305276983 279259 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :im pretty sure theres a reason i imported it so shut up < 1305276990 815833 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Main.hs:5:0: < 1305276991 67904 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : Warning: The import of `Shiro.FungeSpace' is redundant < 1305276991 149721 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : except perhaps to import instances from `Shiro.FungeSpace' < 1305276991 149818 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : To import instances alone, use: import Shiro.FungeSpace() < 1305276993 598623 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : case fungeSpace st of < 1305276994 28606 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : FungeSpace m (minX,minY) (maxX,maxY) m2 m3 -> < 1305276999 843168 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oh < 1305277002 165129 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :its becuase shiro.types has it < 1305277002 631730 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ugh < 1305277032 801754 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :surprisingly, I depend on nothing not in the Haskell Platform < 1305277082 36984 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :m >>|= f = m >>= \x -> case x of Nothing -> reflect; Just y -> f y < 1305277099 265534 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ugh, does the ubuntu haskell platform have profiling libs < 1305277127 264034 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :infixr 0 >>|= < 1305277128 102734 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :probably not ugh ill just build the fuckshit myself < 1305277182 738715 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: the thing is that do notation fits the /rest/ of these things' code < 1305277247 206710 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :"Calvin and Hobbes is quite possibly the best philosophy put into a comic strip. It was named after John Calvin and Thomas Hobbes, two famous philosophers." < 1305277247 973438 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :REDDIT < 1305277250 248263 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :HOW THE FUCK CAN YOU NOT KNOW THIS < 1305277314 264210 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i cannot say i have actually checked how consistent calvin and hobbes's philosophies are with their namesakes' < 1305277361 324160 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(should there be an 's on calvin or not, there?) < 1305277398 234287 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :i think it's cleaner without < 1305277884 881023 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :doIns i = < 1305277884 962932 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : (coreIns . chr . fromIntegral $ i) `catchShiro` < 1305277885 112159 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : \(ShiroIOException st) -> put st >> reflect < 1305277885 784994 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oh man < 1305277887 769857 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :this is the best part < 1305277893 925196 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :The corresponding code < 1305277903 535386 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ioReflect :: IO a -> Shiro a < 1305277903 926271 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ioReflect action = do < 1305277904 8525 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : st <- get < 1305277904 8687 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : io action `catchShiro` < 1305277904 8788 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : \(e::IOException) -> do < 1305277904 569871 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : io . hPutStrLn stderr $ "*** [Reflecting on IO exception: " ++ show e ++ "]" < 1305277906 420205 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : throw (ShiroIOException st) < 1305277911 4832 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :yes, I keep the state by throwing an exception with the state < 1305277917 556358 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: isn't it beautiful < 1305278010 514717 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :O KAY < 1305278821 425812 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oijwnpgoknjrojfhnjtjhotj < 1305278871 663853 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :http://common-lisp.net/project/cl-cont/ < 1305278873 207698 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Bah < 1305278884 782337 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :call/cc with random restrictions is no fun < 1305278889 76245 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :... < 1305278894 864716 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :that's not random restrictions < 1305278896 503724 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :that's shift/reset < 1305278908 162710 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :which is arguably more fundamental than call/cc < 1305278914 927350 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :see < 1305278916 559963 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Delimited_continuation < 1305278916 942122 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :http://okmij.org/ftp/continuations/index.html < 1305278965 260058 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Says it can't be used in mapcar and the like < 1305278971 686672 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Sounds like a random restriction to me < 1305278981 738703 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :um, that's because common lisp doesn't have continuations < 1305278987 784836 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :and so, mapcar will be written in a way ignorant of continuation-passing style < 1305279001 624155 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :p.s. the map/callcc interaction is very hard to get right anyway < 1305279031 185716 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :"map: tail recursive, call/cc friendly, goes over the list only once: pick two" < 1305279056 730035 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :so arguably you don't /want/ to use it from higher order functions like that < 1305279120 614076 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Just googled it, couldn't find where that's from < 1305279132 213090 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Unless you're quoting yourself... < 1305279152 737459 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 252 seconds < 1305279206 112815 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305279345 21039 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1305279486 79571 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :"I never quote myself" -- Elliott Hird < 1305279694 101632 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Sgeo: it's from the sisc page, paraphrased < 1305279734 112453 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :http://sisc-scheme.org/r5rs_pitfall.php < 1305279890 959747 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :The expression (call/cc (lambda (c) (0 (c 1)))) is a legal expression < 1305279891 77640 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :according to r5rs, whose semantics are that 1 gets returned when it is < 1305279891 77811 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :passed to the escape procedure c during the evaluation of the < 1305279891 77920 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :positions of the combination (0 (c 1)). < 1305279891 964655 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Wow. < 1305280020 106367 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :(should-be 8.2 '(1 2 3 4 1 2 3 4 5) < 1305280020 309089 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : (let ((ls (list 1 2 3 4))) < 1305280020 391134 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : (append ls ls '(5)))) < 1305280023 428926 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :that's a pitfall? < 1305280043 852410 :hagb4rd!~hagb4rd@koln-4d0b6ce1.pool.mediaWays.net JOIN :#esoteric < 1305280366 291263 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :so r5rs requires all arguments to be evaluated before checking whether the first one is a function? < 1305280436 941394 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :yes < 1305280456 174120 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :it's "evaluate arguments and function in unspecified order", then "give arguments to function" < 1305280460 674607 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :except written less ambiguously :) < 1305280488 664336 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :looks like nvg is shutting down for a couple days here due to building maintenance, i may not be on irc then < 1305280502 522030 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: webchat.freenode.net < 1305280512 245527 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :we'll see < 1305280519 512937 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: YOU'RE NOT ALLOWED A BREAK < 1305280543 875459 :hagb4rd!~hagb4rd@koln-4d0b6ce1.pool.mediaWays.net QUIT :Ping timeout: 246 seconds < 1305281093 529439 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :http://rationalwiki.org/w/index.php?title=RationalWiki:Chicken_coop&curid=2919&diff=786201&oldid=786194 < 1305281098 84438 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :http://news.ycombinator.com/item?id=60357 < 1305281834 181628 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :"If the strip goes through today without an update, this will be the longest hiatus the strip has ever gone on, at 8 days." ;; welp, at least now I know my perception of time is fucked up for sure < 1305281841 408413 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: hey, does iwc actually ever go on hiatuses? < 1305281847 54711 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :apart from those caused by software bugs < 1305281933 848668 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :elliott_: hasn't skipped an update since the second year, or was that first < 1305281971 495636 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: :( your saline drip is more reliable than mine < 1305281990 122017 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ACTION lols a bit more at an eight day break being called a "hiatus" < 1305282000 664338 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :there have been some very few that were a few hours delayed < 1305282001 871564 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :hmm that means that all the flash updates were made in less than seven days... impressive < 1305282032 364668 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :elliott_: DMM just came back from a three week holiday, and there was no significant glitch < 1305282044 848657 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: yeah yeah stop rubbing it into my face < 1305282061 476377 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :the only thing that went on hiatus was comments on a postcard, there weren't enough submissions to get through < 1305282063 909091 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: does DMM have an untarnished record of starting his next comic less than a week after the previous one?? < 1305282065 291948 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :DIDN'T THINK SO < 1305282071 228316 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :where will YOU go when it all ends < 1305282079 726618 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :also, heh; you'd think comments on a postcard would be the easiest to keep up < 1305282107 802668 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :well yeah < 1305282243 847408 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i'd say DMM has an untarnished record of having more projects going on perfectly at once than a human could reasonably keep up with < 1305282278 79719 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oerjan: yes but it's not like mezzacotta is a replacement for iwc if it ends ;D < 1305282308 26145 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :indeed. anyway the servers here are shutting down in minutes and i need to shower < 1305282318 440430 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :WHOLE MINUTES < 1305282320 329435 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :no wait < 1305282320 737291 :oerjan!oerjan@tyrell.nvg.ntnu.no QUIT :Quit: See you, maybe < 1305282322 530364 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :stick until the bitter end < 1305282324 252770 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :NOOOOOOOOOOOOOOOOooooooooooooo < 1305282585 854623 :elliott_!~elliott@91.104.253.77 TOPIC #esoteric :"And without manifestation, who can say that this passage would exist since light *is* Being as manifestation? Thus light lies somewhere between an infinitely dark source and the immeasurable matrix of solidity." --Ernest Hemingway | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1305282760 945755 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1305282923 58439 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1305283764 41950 :FireFly!~firefly@unaffiliated/firefly QUIT :Read error: Operation timed out < 1305283820 693324 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1305284403 958247 :Slereah!~Slereah@ANantes-259-1-107-15.w92-139.abo.wanadoo.fr JOIN :#esoteric < 1305284981 946930 :Slereah!~Slereah@ANantes-259-1-107-15.w92-139.abo.wanadoo.fr QUIT :Ping timeout: 252 seconds < 1305285006 188784 :Slereah!~Slereah@ANantes-259-1-61-121.w92-135.abo.wanadoo.fr JOIN :#esoteric < 1305285227 508928 :augur!~augur@208.58.6.161 QUIT :Remote host closed the connection < 1305285789 39030 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1305286140 177024 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1305287316 51138 :Slereah!~Slereah@ANantes-259-1-61-121.w92-135.abo.wanadoo.fr QUIT :Ping timeout: 240 seconds < 1305287424 322258 :Cheery!~cheery@a88-113-50-171.elisa-laajakaista.fi JOIN :#esoteric < 1305287433 506349 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1305287461 251530 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Connection reset by peer < 1305287571 385192 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305288207 274019 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :"Recently I have just been wondering. How did the universe start? In school they explained the Big Bang theory, but when I thought about it; I wondered. Where did all the matter that supposedly exploded into what is now the universe come from. So could r/askscience give me an answer? How did the universe begin?" < 1305288212 497395 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :seriously, /r/askscience is the worst thing ever < 1305288221 114333 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :i wish oerjan didn't tell me about it. < 1305288661 152494 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Connection reset by peer < 1305288771 885139 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305289861 170400 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Connection reset by peer < 1305289974 972104 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305290451 840004 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: No route to host < 1305290605 565825 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1305290855 430574 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Operation timed out < 1305290895 578325 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 260 seconds < 1305291170 160543 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305292291 78671 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Read error: Connection reset by peer < 1305292382 150389 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 JOIN :#esoteric < 1305292773 8385 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :^nr < 1305292777 701391 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :fun- < 1305292778 226687 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oh < 1305292785 136684 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :can i have a number row < 1305293814 576942 :poiuy_qwert!~poiuy_qwe@unaffiliated/poiuy-qwert/x-0506151 QUIT :Quit: This computer has gone to sleep < 1305294623 933589 :ais523_!93bcc029@gateway/web/freenode/ip.147.188.192.41 JOIN :#esoteric < 1305294764 339357 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 240 seconds < 1305294787 270252 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1305295012 579458 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :hi ais523 < 1305295027 168077 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hi elliott_ < 1305295083 253679 :Slereah!~Slereah@ANantes-259-1-31-138.w92-135.abo.wanadoo.fr JOIN :#esoteric < 1305295127 239376 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305295384 270452 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 240 seconds < 1305295481 368555 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305295494 357866 :MigoMipo!~John@84-217-4-178.tn.glocalnet.net JOIN :#esoteric < 1305295752 291379 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi QUIT :Ping timeout: 250 seconds < 1305295796 129025 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: do you have any good ideas about how to implement polymorphism? in general, I mean < 1305295813 191658 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :i'm going to do that obnoxious thing i do < 1305295816 788973 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: define polymorphism < 1305295830 854228 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: well, part of the issue is coming up with a good definition < 1305295870 760946 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Do you mean polymorphism as in rank-one universal quantification in a function type? < 1305295874 824810 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but what I want is a language that lets me do something like let flip a b c = a c b; then call flip with two different arguments of different types < 1305295890 926542 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Or perhaps parametric polymorphism, i.e. the same applied to types? < 1305295893 779524 :ZOMGMODULES!~cpressey@173.9.215.173 JOIN :#esoteric < 1305295904 656343 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: But not higher-rank polymorphism? < 1305295919 206707 :ais523_!93bcc029@gateway/web/freenode/ip.147.188.192.41 PRIVMSG #esoteric :well, what I have at the moment works almost entirely on type inference < 1305295927 567439 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :e.g. ((forall a. a -> a) -> Int) being a function that takes (a function that takes an argument of any type and returns a value of the same type), and returns Int < 1305295936 870808 :ais523_!93bcc029@gateway/web/freenode/ip.147.188.192.41 PRIVMSG #esoteric :with the bizarre result that you can define two identical functions flip1 and flip2 and have them both work < 1305295938 191734 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :compare ((a -> a) -> Int); you could feed e.g. (+one) to this < 1305295943 238670 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :and it would bind a=Int < 1305295943 878929 :ais523_!93bcc029@gateway/web/freenode/ip.147.188.192.41 PRIVMSG #esoteric :but combining them doesn't as you get a type inference error < 1305295950 849554 :ais523_!93bcc029@gateway/web/freenode/ip.147.188.192.41 PRIVMSG #esoteric :ah, I see < 1305295956 356143 :Vorpal!~AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1305295960 145296 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :but (+one) wouldn't work as an argument to the first < 1305295962 753658 :ais523_!93bcc029@gateway/web/freenode/ip.147.188.192.41 PRIVMSG #esoteric :you're talking about passing polymorphic functions to other polymorphic functions < 1305295967 402256 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :(in fact, the only acceptable arguments are id and _|_) < 1305295994 324822 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523_: right. higher-rank polymorphism corresponds to higher-order logic < 1305296006 937442 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 260 seconds < 1305296009 570659 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :rank-one types handle 90 percent of things, though, and can be inferred < 1305296014 754415 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :so they're more popular < 1305296021 730677 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :(rank-two+ types aren't haskell 9eight, for instance) < 1305296032 250301 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep; additionally, I need to desugar everything into known non-polymorphic non-parametric types anyway < 1305296037 194014 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :(but they might be haskell twentyten and they're definitely a relatively popular GHC extension) < 1305296045 775913 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: well, I guess my next question is define "implement" ;) < 1305296052 405508 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so really I'm looking for some way to automatically infer polymorphism then desugar it into the equivalence of C++ templates < 1305296059 914875 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then desugar /those/ into macro expansions, and do the expansions < 1305296062 811186 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :enjoy being locked in your immeasurable matrix of solidity < 1305296069 82851 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: well, you know about Hindley-Milner, right? < 1305296076 671425 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ACTION prays deeply the answer to that isn't "no" < 1305296092 509150 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I actually put my hands together and closed my eyes there. That's how deeply I'm prayin'. < 1305296094 924060 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, any progress on the spec? < 1305296106 2241 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: I am aware that it's a common type-inference algorithm; I have also implemented an obvious type-inference algorithm, and think it's very likely they're the same < 1305296106 83891 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I've never actually checked < 1305296120 423607 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Uh, whoops. I've been rather exceedingly busy. You might just wanna buy something. < 1305296129 533111 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :ais523: it feels like the "obvious" one, from what i recall of it, so yeah < 1305296131 980012 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: Well, Hindley-Milner handles polymorphic inference. < 1305296141 221985 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It is, after all, what Haskell (ninety-eight) uses. < 1305296143 794788 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, well I'm busy until tomorrow anyway < 1305296147 564238 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Also OCaml, etc. < 1305296170 401852 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah right, my algo does that, more or less, but then tries to throw that information away, and errors out if it can't < 1305296182 58777 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Well, don't do that if you can avoid it. < 1305296194 569889 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I'd say you want to throw things away at the very last moment, not as soon as you infer a specific type. < 1305296199 468472 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :sometimes it takes a conversation on IRC to know you're doing something stupid < 1305296208 887658 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, it needs an exact type for everything, is the issue < 1305296208 969718 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: Re: the compiling down to C templates -- are you saying that you want there to be one and only one implementation of a polymorphic function, right? < 1305296225 115243 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's OK to have multiple implementations behind the scenes; in fact, if they're of different types, they have to be < 1305296233 499819 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it should just look like one function to the user < 1305296233 853134 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Really? < 1305296238 840443 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm compiling into hardware < 1305296241 776929 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Well, right. < 1305296247 369379 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it absolutely needs to know the type of everything < 1305296269 912699 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Then I'd just do regular Hindley-Milner all the way through, and then when you have a call to a polymorphic function, see what the fully inferred type is, and compile the function accordingly. < 1305296278 360271 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :question about haskell: how does the "magic" string you get from stuff like hGetContents actually work? Is it possible to invent similar magic strings yourself or does it need special runtime support? < 1305296287 837229 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: It's not magic, it's just a lazy string. < 1305296293 689740 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :i was just gonna say < 1305296297 316237 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :You can do it with unsafeInterleaveIO. < 1305296304 987813 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :The only unsafe thing is that effects can leak. < 1305296306 420405 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's sufficiently nonmagic that you can even do that sort of thing in Python < 1305296311 493253 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, ah < 1305296323 135412 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and the unsafety is because you can't tell when or if side-effects will happen < 1305296324 877619 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :For instance, readFile followed by a writeFile based on it is a Bad Idea generally. < 1305296338 943899 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :(readFile is just opening a file + hGetContents) < 1305296344 414588 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but that's normally considered OK because not knowing when or if a file will be read is safe if you never write to it, and if reading it doesn't have side-effects < 1305296354 749963 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: it's not normally considered OK < 1305296361 44510 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I would never use hGetContents in a "production" interface < 1305296363 316157 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, depends on who by < 1305296365 498953 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, hm hGetContents isn't actually safe is it? Unless it takes some sort of OS level exclusive lock on the file someone else could modify it right ahead of where you read. < 1305296365 930732 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :it's simply not predictable enough < 1305296366 914545 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :see this is how lazy evaluation makes your life simpler < 1305296370 452796 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305296371 658572 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Yes, it's not really safe. < 1305296376 706938 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: unsafeInterleaveIO is :: IO a -> IO a. < 1305296387 594021 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, ah < 1305296391 923931 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :The conceptual implementation is (return . unsafePerformIO). < 1305296403 301897 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :The basic idea is that it splits it off into "another" IO world, so that its effects can happen irrespective of the main world you're in. < 1305296424 548295 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :That doesn't actually make any sense, but we kindly request that you pretend it does. < 1305296455 422002 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, this would kind of work if you had transactions on file system level < 1305296494 312409 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :then you could be certain you got an atomic snapshot of a file you started reading < 1305296503 70833 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :er < 1305296506 275664 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :i don't think so. < 1305296506 587672 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi JOIN :#esoteric < 1305296510 781266 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, hm? < 1305296534 169294 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :well, maybe < 1305296547 311252 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :whatever. n/m me < 1305296549 330959 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Holy god reddit is dumb. < 1305296593 303 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, That's hardly news < 1305296617 539477 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: its ever-increasing feats of stupidity are. < 1305296636 508822 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :So I have to play with node.js. Should I care? < 1305296647 255054 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, node.js? < 1305296652 722613 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, ah < 1305296656 181443 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: No, it's terrible. < 1305296658 811181 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, what did it do this time? < 1305296666 458400 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: People have literally said "it's fast because it uses callbacks". < 1305296673 616205 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: What this means is you have to write your entire program in continuation-passing style. < 1305296675 362739 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I can trust elliott_ to have an opinion on anything and everything < 1305296680 348333 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Yes. < 1305296684 781123 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :And the best thing is: it is the correct opinion. < 1305296692 443353 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Hey, ask Gregor, he STUDIES THE JAVAS for a living :P < 1305296717 311277 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :come on, what is node.js? < 1305296729 279448 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :A shitty server-side javascript async IO framework thing. < 1305296730 385369 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's hip. < 1305296736 134357 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Hipper than Rails used to be. < 1305296742 394485 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Well, the thing that struck me about it is that it seems to provide an interface to Javascript as an "actual programming language", i.e., something I can use without too much pain outside a web browser. It even gives a REPL... < 1305296745 863169 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Re what did it do this time: Paraphrase from reddit comment: "Of course, I support gay marriage. But HERE'S an objection I haven't been able to answer: WHAT IF THREE PEOPLE WANT TO GET MARRIED?????" < 1305296750 330807 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ACTION remembers the time when javascript on websites mostly consisted of random alert()s and mouse over menus... < 1305296764 360470 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: v[eight] provides the REPL afaik. < 1305296787 429101 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: http://www.commonjs.org/ is meant to be the "JS outside the browser" thing that's spin off from all this. I'm not sure how much node.js obeys, but it apparently tries to. < 1305296792 537437 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : Hipper than Rails used to be. <-- wow < 1305296797 374935 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Does V8 provide enough of a standard library to make things non-hell? B/c that's the other thing that it seemed to be doing. e.g. a console object < 1305296807 598220 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :hm, ok. < 1305296814 10760 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :OK, apparently node.js is a "CommonJS Implementaiton". < 1305296818 800988 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :So is CouchDB. < 1305296823 981780 :Gregor!Gregor@codu.org PRIVMSG #esoteric :It's a poor CommonJS implementation :P < 1305296824 320347 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I'm not even going to try and understand that one. < 1305296829 944913 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: Yeah no V8 has no libraries. < 1305296831 123139 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :wtf CouchDB has anything to do with JS? < 1305296838 470513 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Erm, CouchDB queries are written in JS. < 1305296842 360134 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Because JS, like Erlang, is HIP. < 1305296843 984121 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :yeah, but... < 1305296847 547905 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Hipper than a literal fucking hip. < 1305296855 415458 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott_: Imagine if POSIX was like this: "To be POSIX-conforming, you must implement open, read and write. The remainder of this spec is optional." < 1305296856 864005 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I am poking my hip right now. It is not nearly as hip as Erlang. < 1305296859 28716 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott_: That's CommonJS. < 1305296861 208782 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Gregor: Nice X-D < 1305296867 796475 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Gregor: To be fair, POSIX is sort of like that :P < 1305296868 698024 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I'm so hip, I have trouble seeing past my pelvis. < 1305296917 126242 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :http://en.wikipedia.org/wiki/SproutCore ... also a CommonJS implementation???? < 1305296919 247890 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott_: Yeah, but CommonJS is more extreme. It's a collection of sub-standards, and the only one necessary to be "a CommonJS implementation" is require() (think #include, but not quite so dumb) < 1305296924 738509 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I'm not even going to try and understand this. Not. Even. Going. To. Try. < 1305296936 747567 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : Gregor: To be fair, POSIX is sort of like that :P <-- much less in POSIX 2008 though < 1305296941 999360 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :CommonJS: the Universal Specification < 1305296949 123776 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Gregor: Oh man, #include. Because what we've learned since the seventies is, the seventies way to do a module system is DEFINITELY the best way to do a module system. < 1305296958 862741 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :That is why everyone loves .h files. < 1305296961 888621 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :With an UNDYING PASSION. < 1305296980 868069 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Well, JS require() is include() except that you dump stuff into an object, and that object is exposed under the theory that it's like a module. < 1305296987 373981 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Oh, and it only includes once. < 1305296990 576302 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, alas I suspect the reason is a lot more prosaic. Because breaking backward compatibility is expensive < 1305296998 292834 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Gregor: It's still not a module system X-p < 1305297000 588293 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :[asterisk]X-P < 1305297002 386235 :Gregor!Gregor@codu.org PRIVMSG #esoteric :No, it isn't. < 1305297011 142861 :Gregor!Gregor@codu.org PRIVMSG #esoteric :But it's better than #include :P < 1305297023 160048 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Some girl wants to pay me to teach her how to set up a blog < 1305297033 33729 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :(Not a girl I've mentioned here before) < 1305297034 529651 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Sgeo: It's a euphemism. < 1305297039 410435 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Also she's now Bloggy Atey. < 1305297042 230112 :Gregor!Gregor@codu.org PRIVMSG #esoteric :elliott_: Anyway, since require() is implementable in a browser, yes, browser JS libraries can be CommonJS implementations too *brain explodes* < 1305297044 844030 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :BLG-AT for short. < 1305297051 679513 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Gregor: Sweeeeeet < 1305297064 894816 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, why AT for everyone < 1305297069 206127 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I forgot the reason < 1305297097 277614 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Gregor, how useless < 1305297107 148793 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Because of the ridiculous melding of Alluded-To Female with Katie to produce K(a)T(ie)-A(lluded)T(o) the Alluded-To Female. < 1305297115 289051 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305297121 186713 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :And it sounds like a robot from Doctor Who. < 1305297129 834074 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, KT-AT sounds like something from starwars to me... < 1305297130 428863 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305297130 510834 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :elliott_, there was an F there originally, iirc < 1305297148 751408 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Or maybe I'm wrong < 1305297155 287818 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Or that :P < 1305297180 619758 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, I just don't remember what in star wars I'm thinking of... < 1305297189 288154 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :CPthreeO? < 1305297191 74002 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :et al < 1305297193 585239 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :mmm no < 1305297210 12386 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :At-at? < 1305297216 724887 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oh I think those walking thingies the Empire used on the ice planet or something had some such name < 1305297222 32403 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :At-ats. < 1305297235 585269 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :or was it those found in the last movie, on that forest moon maybe < 1305297238 496152 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :well, something < 1305297256 556929 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: http://en.wikipedia.org/wiki/Walker_%28Star_Wars%29#All_Terrain_Armored_Transport_.28AT-AT.29 < 1305297265 654801 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305297279 3780 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and there is AT-ST too hm < 1305297287 282283 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 246 seconds < 1305297299 30178 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :That's probably it then :P < 1305297310 245316 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :wikipedia: best reference on in-universe details for movies in existence. < 1305297325 541077 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Apart from Wookiepedia. < 1305297343 243059 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, well I meant in general < 1305297345 467534 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :fizzie: you awake < 1305297354 775617 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305297358 495355 :Gregor!Gregor@codu.org PRIVMSG #esoteric :AT-ST? All Terrain Silly Transport? < 1305297359 399765 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, that one wouldn't cover Dr Who, Star Trek and so on < 1305297361 694044 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :If it's hip, I better implement something cool in it, so I can put it on my resume in case I need to get hired by one of them hip web 2.0 companies. This is the wisdom of ZOMGMODULES; do not reject it. < 1305297363 229064 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :augur: Do you URGENTLY need a FINN. < 1305297366 975659 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: "Dr Who" /quiet rage < 1305297367 57492 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :yes < 1305297370 646469 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Gregor, "scout" it seems, but yes rather silly < 1305297373 417258 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :but crucially, the same finn as last time! < 1305297374 974857 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :augur: ZOMGMODULES is a Finn. < 1305297375 56926 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, what? < 1305297384 245338 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :augur, no, check /whois < 1305297388 582906 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: It's like calling the drink Doctor Pepper :P < 1305297400 348309 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, err? yes and? < 1305297406 382153 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Well... < 1305297418 172375 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: Hired by a hip web 2.0 companies??? SIGNS ME UP < 1305297421 756322 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :"D" is also short for Doctor, in say PhD < 1305297426 148998 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, Dr is perfectly okay way to abbrev the word "Doctor" < 1305297426 734850 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :So you could just say D.Who < 1305297445 804237 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: For a start, no it's not, "Dr." is. < 1305297449 375860 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, yes indeed, but only inside other abbrev < 1305297460 816025 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, I don't care about "." on irc mostly < 1305297463 254908 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :For second, it suggests that his name is Dr. Who, which is patently false, it isn't, it's The Doctor (not "The Dr." that's ridiculous). < 1305297470 885286 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :elliott_: I thought you Brits didn't do that dot thing on titular abbreviations < 1305297477 524805 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Also I demand you call him Philosophiae Doctor Who. < 1305297484 798034 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :Da Who < 1305297484 980255 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Ph.D. Who. < 1305297493 201414 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: I ... don't think we don't. < 1305297499 373171 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, well the tv series is called "Doctor Who" iirc rather than "The Doctor"? < 1305297503 244714 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :Hu, Ph.D. < 1305297514 218879 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Yes, but that doesn't make "Dr. Who" any less misleading :P < 1305297514 592879 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :Vorpal: the credits do < 1305297514 950399 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :anyway, who cares < 1305297523 934100 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :in-show they never refer to the doctor as Doctor Who < 1305297526 804922 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, I disagree, but I don't care to argue about it < 1305297536 823796 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :except maybe once, in a throwaway situation where he's disguised < 1305297537 895871 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :elliott_: comes from when I read HHGttG for the first time... though that might have been an Australian printing, come to think of it < 1305297538 521026 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, anyway is there a wiki about that tv series? < 1305297540 592645 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I guess there is < 1305297552 148701 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :Vorpal: about doctor who? < 1305297553 447733 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :yes < 1305297558 633218 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :The chances of there not being a Doctor Who wiki is... like... less than zero. < 1305297561 626078 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :http://tardis.wikia.com/wiki/Doctor_Who_Wiki < 1305297568 325616 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :augur, I said the name of the tv series itself, I never said the name of the guy who is the main figure < 1305297569 585383 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :..... < 1305297577 613861 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :21,924 articles. < 1305297578 382671 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Nice. < 1305297579 256295 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :so what the credits list him as is completely irrelevant < 1305297585 284913 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :oh yes, then thats correct, Vorpal < 1305297588 102722 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :the series is Doctor Who < 1305297591 45306 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :always has been < 1305297600 685705 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :yes but "Dr. Who" is still a misleading abbreviation :) < 1305297605 409314 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :augur, which I argue can be abbreviated to "Dr. Who" < 1305297610 57583 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :because "Dr." is afaik universally used to put in front of people's names < 1305297611 146795 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and on irc I can drop that dot < 1305297612 561752 :wareya_!~wareya@cpe-74-70-142-220.nycap.res.rr.com NICK :wareya < 1305297616 647630 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :i think it's been abbreviated like that afaik < 1305297630 296457 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :it may have been abbreviated like that, but that doesn't make the abbreviation any less misleading < 1305297641 455481 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :indeed < 1305297644 712133 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :but its not TOO misleading < 1305297662 736696 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's more misleading than Ph.D. Whence, the One True Name of the series. < 1305297666 397301 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 240 seconds < 1305297675 18654 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :because the fridgelogic behind it all is that he's the Doctor, and if he's a doctor, then his titled name is Dr. something or other < 1305297685 870944 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Isn't he actually a four time Earth doctorate? < 1305297688 862458 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :But.. Dr. /who/, exactly? < 1305297693 243331 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :So he's Dr. Dr. Dr. Dr. The Doctor. < 1305297700 258763 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :, Ph.D. < 1305297701 324761 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :thats correct < 1305297702 481374 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :, Ph.D. < 1305297703 66513 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :, Ph.D. < 1305297704 109436 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :, Ph.D. < 1305297709 647948 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :, MD < 1305297712 67754 :hiato!~nine@137.158.142.53 JOIN :#esoteric < 1305297718 11259 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Professor Pepper, Ph.D. SDD < 1305297718 950084 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, I think you collapse them? < 1305297723 990109 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Doctor. < 1305297728 987 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Dr. < 1305297733 918553 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Pepper. < 1305297737 751565 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Hello Kitty is now a CommonJS implementation. < 1305297742 415488 :Gregor!Gregor@codu.org PRIVMSG #esoteric :(SDD = Soft Drink Design) < 1305297752 104443 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, either works, that is my point < 1305297754 548323 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Hey Gregor, what does Dr Pepper fnarf like. < 1305297775 485747 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Professor Pepper, Ph.D. SDD is deliciousness. < 1305297803 485496 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Finally your sense of fnarf coincides with the more common sense of taste. < 1305297830 922200 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :deliciousness is a fnarf? < 1305297849 275686 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :today it is < 1305297877 31487 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, does haskell's System.IO function expect UTF-8 or is there a way to specify perhaps? < 1305297895 648035 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: UTF-8 by default; see http://www.haskell.org/ghc/docs/latest/html/libraries/base/System-IO.html for how to change that. < 1305297901 259468 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Protip: http://www.haskell.org/ghc/docs/latest/html/libraries/base/System-IO.html#g:23 < 1305297909 431722 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :There's also the openBinaryFile stuff. < 1305297914 178396 :Gregor!Gregor@codu.org PRIVMSG #esoteric :olsner: Fnarf is the sense I apparently have to replace a more conventional sense of taste, without an adequately-functioning sense of smell. < 1305297917 816268 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :And hSetBinaryMode. < 1305297928 749260 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, hm, I'm working on a bit older system here, I guess I'll get 6.12.1 docs instead < 1305297945 124663 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :6.12.1 is not the latest release. < 1305297954 154202 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :it is not even the latest 6-series release. < 1305297957 860532 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, this is Ubuntu 10.04 LTS < 1305297958 377932 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :[asterisk]It < 1305297960 807264 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :it is what I got on here < 1305297975 62635 :hiato!~nine@137.158.142.53 QUIT :Ping timeout: 258 seconds < 1305297980 281200 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Yes, but you really should update regardless; that release is over a year old. < 1305297984 492715 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :In fact, almost a year and a half. < 1305297989 501158 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, 10.04? yes indeed < 1305297989 852255 :Gregor!Gregor@codu.org PRIVMSG #esoteric :*gasp* < 1305297994 610737 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :And the current Haskell Platform won't even build with the six series. < 1305297995 124149 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :about a year old < 1305297996 761698 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: No, that GHC. < 1305298003 992086 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :That GHC doesn't even support the latest Haskell standard. < 1305298011 856522 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, well I want my system to work with older stuff < 1305298021 321973 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, why do you not code C99, but mostly C89? < 1305298024 249537 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305298028 451126 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Um, GHC 7 is perfectly backwards-compatible. < 1305298047 439534 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, so everything I write for GHC 7 will work with GHC 6.12.1? I doubt that < 1305298053 987202 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :the reverse is probably true < 1305298058 616582 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Yes, unless you use certain Template Haskell features. < 1305298070 371844 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Since Haskell twothousandandten is mostly a formalisation of various GHC extensions that have existed for years. < 1305298081 60928 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :And the C89/C99 comparison is disingenuous for several reasons that I don't nearly care enough to devote the time towards. < 1305298087 813622 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, so the only new thing in ghc 7 is template stuff? < 1305298089 583276 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :And I code plenty of C99 too. < 1305298099 733406 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :"code plenty" < 1305298105 656713 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I have to use that phrase now < 1305298106 948921 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: That is the only thing that will affect you; a minor top-level Template Haskell syntax change (the optional omission of three characters). < 1305298116 174026 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :There are other changes, but they are even more irrelevant. < 1305298124 614401 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, well I don't use template haskell afaik. < 1305298134 674646 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :why is it useful, should I learn it? < 1305298148 356534 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's useful for automating declarations and the like. < 1305298161 25541 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's basically Lisp macros for Haskell on crack. < 1305298163 178452 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, probably not needed to implement a compiler for a simple esolang < 1305298171 278675 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :↓→ to be exact < 1305298174 350218 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's not the most pleasant thing to use most of the time, but the end results are swanky. < 1305298229 952906 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I will probably never use it < 1305298238 759988 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :But, strangely, I have used Felix < 1305298242 464504 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, hm which sort of grammars can Parsec deal with btw (not that I need it for ↓→.... it is trivial to parse)... < 1305298258 999535 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :"All of them"? < 1305298270 978586 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, context sensitive ones? ;P < 1305298273 267075 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Wow, Parsec can handle CSGs? :P < 1305298281 64626 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Gregor, beat you to it < 1305298285 418279 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :It's just combinators, right? < 1305298326 959208 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Parsec can handle more than just context-free, I believe < 1305298329 180746 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1305298331 377746 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's effectively Turing complete. < 1305298337 320048 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Phantom_Hoover: Don't say a word you have like fifty messages. < 1305298341 543909 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Thus, "all of them" < 1305298355 579564 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: Well, no, it can't handle the grammars a UTM can't parse :> < 1305298365 322963 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Thus "quotes" < 1305298393 682470 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :@say I wonder if lambdabot will count this as me asking it for messages... < 1305298393 801342 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Maybe you meant: faq map slap src < 1305298404 724803 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :@Yes, yes it does. < 1305298404 863653 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Unknown command, try @list < 1305298415 950730 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :SAY SOMETHING NORMAL SO IT TELLS YOU < 1305298416 367826 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :@I shall have to speak like this from now on. < 1305298416 468336 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Maybe you meant: . ? @ v < 1305298433 348107 :Gregor!Gregor@codu.org PRIVMSG #esoteric :`quote < 1305298434 393351 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​292) actually, I think vorpal is the "retarded team member" to the left < 1305298440 676810 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :@elliott HAHAHAHA I HAVE OUTSMARTED YOU < 1305298440 758744 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Unknown command, try @list < 1305298444 381626 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, next question: haskell libraries for DFA based regexp engine? < 1305298451 950831 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ACTION reads scrollback < 1305298455 532484 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: regex-dfa, but why do you want regexps? < 1305298461 987131 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: I don't see anything in DownRight warranting them and they are ugly. < 1305298479 846508 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric ::'( < 1305298481 428742 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, no it was just in general < 1305298483 878263 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Also it's POSIX regexps. < 1305298485 680242 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, I was thinking about parsing < 1305298493 827716 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Hmm, or is tdfa better. < 1305298495 408349 :Gregor!Gregor@codu.org PRIVMSG #esoteric :POSIX regexps? *vomits* < 1305298496 285430 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Ask Deewiant. < 1305298502 857786 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Parsing -> Parsec. No exceptions. < 1305298511 520657 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Unless it's binary data, in which case binary, or ByteStrings (network stuff), in which case attoparsec. < 1305298515 214792 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, from what I remember posix regexp are not dfa based on linux at least, unless it has it's own implementation < 1305298515 559682 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :But really. Parsec. No exceptions. < 1305298523 402355 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's its own. < 1305298524 244105 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :elliott_, lambdabot timed out when I asked it for your messages. < 1305298530 606475 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Phantom_Hoover: ...wow. < 1305298536 791221 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, I refuse to use Parsec for ↓→ because that would be utterly silly :P < 1305298546 114090 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: No it wouldn't? < 1305298549 956018 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Parsec is completely lightweight. < 1305298561 553076 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's like refusing to use a list because you only need four elements. < 1305298561 902943 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, wait what? It is a simple splitting on whitespaces? < 1305298570 23172 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :...no? It's grouped into blocks. < 1305298583 287596 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, hm, so then I would have to learn parsec < 1305298583 802035 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Isn't it? < 1305298589 165951 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :what is parsec like then < 1305298593 398298 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Parsec ::= {{"↓" | "→"} "\n"}. < 1305298597 125130 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :D'oh < 1305298602 954757 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :DownRight ::= {{"↓" | "→"} "\n"}. < 1305298613 987656 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Easy. < 1305298615 562669 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : Plugin `tell' failed with: thread killed < 1305298616 774463 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Avoid left recursion. Done. < 1305298622 215311 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, space separates groups? < 1305298633 365975 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Oh yeah < 1305298637 699044 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, any number of spaces btw < 1305298639 157800 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Hey, maybe it does have a grammar < 1305298650 78760 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :So, there you go.. Use Parsec! < 1305298651 160697 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, ... < 1305298660 434961 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: What? < 1305298665 293636 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : Avoid left recursion. Done. < 1305298670 92098 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Actually Parsec might be a bitch in that it's a two-dimensional language, but parsing those is a bitch in any circumstance, and Parsec will at least lessen the pain. < 1305298672 373991 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: What of it? < 1305298674 427090 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: ... elliott_: ... ais523: ... < 1305298680 964524 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, well what stuff do I call? Does it work like lex or such? < 1305298685 520083 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :What. < 1305298689 22769 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's a library. < 1305298695 842029 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, right I have never used it < 1305298698 186952 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :thus I'm asking < 1305298715 350592 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, I presume you give it a grammar definition somehow, like you do for lex, yacc and so on? < 1305298719 798252 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :No. < 1305298721 128704 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It's a library. < 1305298739 833952 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, so how do I use the libary then, what calls? < 1305298756 76161 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :RTFM < 1305298758 16028 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oh wait I just do Parsec.DownRight.ParseMagially() < 1305298760 67743 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305298775 983735 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Right, I am going to recite the manual for you since you want to know what calls I guess < 1305298787 924755 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Text.Parsec < 1305298788 6639 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Description < 1305298788 100606 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : < 1305298788 182781 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Synopsis < 1305298788 182946 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * module Text.Parsec.Prim < 1305298788 977535 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * module Text.Parsec.Char < 1305298792 988249 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * module Text.Parsec.Combinator < 1305298794 913242 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * module Text.Parsec.String < 1305298796 819093 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * module Text.Parsec.ByteString < 1305298798 893899 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * module Text.Parsec.ByteString.Lazy < 1305298800 779661 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * data ParseError < 1305298802 894579 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * errorPos :: ParseError -> SourcePos < 1305298804 844126 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * data SourcePos < 1305298806 774187 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * type SourceName = String < 1305298808 742987 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * type Line = Int < 1305298810 719702 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * type Column = Int < 1305298812 813269 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * sourceName :: SourcePos -> SourceName < 1305298814 868702 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * sourceLine :: SourcePos -> Line < 1305298816 989569 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * sourceColumn :: SourcePos -> Column < 1305298818 927785 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * incSourceLine :: SourcePos -> Line -> SourcePos < 1305298822 818848 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * incSourceColumn :: SourcePos -> Column -> SourcePos < 1305298824 797743 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * setSourceLine :: SourcePos -> Line -> SourcePos < 1305298826 859642 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * setSourceColumn :: SourcePos -> Column -> SourcePos < 1305298828 821175 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : * setSourceName :: SourcePos -> SourceName -> SourcePos < 1305298830 795086 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Documentation < 1305298832 836020 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :module Text.Parsec.Prim < 1305298832 917175 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :elliott_, erm, you're probably going to have to tell me the last messages you sent. < 1305298834 742941 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :module Text.Parsec.Char < 1305298836 726664 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :module Text.Parsec.Combinator < 1305298838 834685 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :module Text.Parsec.String < 1305298840 985430 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :module Text.Parsec.ByteString < 1305298842 799322 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :module Text.Parsec.ByteString.Lazy < 1305298844 868045 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :That's the first part < 1305298846 858810 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Should I keep going < 1305298849 14898 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It marked them all as read. < 1305298866 371437 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :elliott_: yes < 1305298873 671249 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :and cut off penises < 1305298887 250011 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: if you learn to do it in Prolog first, the Haskell version will be much clearer < 1305298902 729730 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: What. < 1305298917 894210 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: you think Haskell invented parser combinators? < 1305298918 139128 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, okay.... But will the total work of Prolog + Haskell be less than Haskell from the start? < 1305298922 220001 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: no < 1305298922 937761 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I say what, that's actually a perfectly typical ais523 statement but then one of their defining properties is that they floor me. < 1305298928 378559 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, then I'll pass < 1305298932 577147 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Especially since Parsec's model of parser combinators is very unlike Prolog parsing. < 1305298935 485626 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :indeed < 1305298954 544382 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: anyway, you can compose parsers more or less the same way you can compose functions < 1305298967 294164 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, interesting < 1305298976 17723 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: It's like writing a PEG grammar but with a bunch of Haskell operators. < 1305298977 597466 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :You're welcome. < 1305298977 908552 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :except that instead of operating on the result of each other, they parse adjacent bits of the input < 1305298994 208970 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305299006 107161 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: something I'm not sure of about Parsec; does the parsers it generates do any sort of backtracking, or is it just lookahead-based? < 1305299012 514727 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the syntax used would work for either < 1305299018 663881 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: Backtracking, naturally. < 1305299020 646088 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, would I actually want it to parse ↓→ though...? < 1305299028 282320 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I don't trust elliott_ about such things < 1305299039 664358 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Parsec is only marginally overweight for /brainfuck/. < 1305299049 94441 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It is literally a small pile of functions included with every Haskell distribution. < 1305299054 459104 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, yes but parsing ↓→ is easier than bf :P < 1305299054 833117 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`addquote I can trust elliott_ to have an opinion on anything and everything Yes. And the best thing is: it is the correct opinion. < 1305299056 246963 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​413) I can trust elliott_ to have an opinion on anything and everything Yes. And the best thing is: it is the correct opinion. < 1305299060 231662 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :It just so happens that it's extensible, fast, and has addon modules that makes parsing everything trivial. < 1305299075 786516 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :The alternative is manually writing a recursive parser, which is just throwing simple abstraction out the window. < 1305299085 386210 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: I would fix that with the correct spacing, but delquote is broken < 1305299089 515130 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :also, yay, quote ​413 < 1305299105 684974 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :note that ↳ is actually parsed in a 1D style, according to the spec < 1305299108 674062 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so Parsec's even more appropriate < 1305299111 149578 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :MEANWHILE ON THE INTERNET < 1305299112 394502 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, for bf yes, for this however I would only tail recurse, but sure. < 1305299112 569419 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Why is it okay for one person to say no to sex in a marriage? And why is it not okay to cheat in this situation? :( (self.AskReddit) < 1305299125 51911 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(despite being a 2D language, the input is interpreted as a stream of bytes) < 1305299141 506303 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305299150 880426 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: I would love it if you gave an answer to that based on game theory and Nash equilibria < 1305299158 737775 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is, I suspect, the only technically correct answer < 1305299178 107612 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: Unfortunately I'm too busy crying that someone could possibly ask "And why is it not okay to cheat this situation?", and then especially follow it up with ":(". < 1305299207 981816 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Actually the first sentence has pretty much lead me into facepalm city already so I'm just going to forget I ever saw it. < 1305299220 176660 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, I can only trace the why back one level < 1305299260 522592 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's sort-of like asking why a certain species of insect, when it needs to hide from predators, has the rule that it can hide in any hiding place used by another of the same species of insect, and the other insect has to leave to make room < 1305299275 741250 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this leads to an interesting sort of relay race of running from predators, even if it makes no sense < 1305299290 451055 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, it makes some sense, but it's hard to see how it came about in the first place < 1305299298 679629 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not entirely sure it's relevant to cheating on spouses, though < 1305299303 95344 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: for using Parsec, I found working from a simple example helps < 1305299315 119254 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I can provide such, if desired < 1305299316 321062 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, ah < 1305299320 862699 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, yes, thanks < 1305299328 589138 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Like, for parsing S-expressions or such. < 1305299340 354075 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Well, not exactly that, but... one sec < 1305299341 327891 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, do you have one for parsing ↓→? ;) < 1305299374 162998 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric : wikipedia: best reference on in-universe details for movies in existence. <-- I disagree, there's nearly always a specialist wiki that does better, and I generally seek it out when I need to know that sort of information < 1305299407 355591 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric : I'm not entirely sure it's relevant to cheating on spouses, though < 1305299409 625340 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :You misspelled "spice" < 1305299419 625943 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, well okay, but the joke was that wikipedia shouldn't really deal with that level of detail that it has < 1305299426 864426 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric : For second, it suggests that his name is Dr. Who, which is patently false, it isn't, it's The Doctor (not "The Dr." that's ridiculous). <--- he was once actually called Doctor Who by a character in the series, but it's generally regarded to be a mistake < 1305299455 447757 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, the funny thing is that I was talking about the name of the series, not the name of the character < 1305299488 137258 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: we knew that. < 1305299494 596774 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I never once contradicted that or believed otherwise. < 1305299496 506811 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :what the fuck is dr who anyway? < 1305299501 239088 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :i always assumed he's a rapper < 1305299507 71338 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oklofok: precisely < 1305299510 31470 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :you have got it completely right < 1305299512 431173 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :how olko < 1305299515 478989 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :he's dr pepper's best bro < 1305299542 690844 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: http://pastie.org/1897125 < 1305299557 858551 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: if you think Wikipedia is full of irrelevant in-universe speculation, you should see some of the more specific wikis < 1305299562 796110 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :elliott_: you sound slightly sarcastific < 1305299565 134824 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :pastie's literate haskell synatx highlighting leaves something to be desired < 1305299568 587358 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: ew, mingling whitespace skipping in with the rest of the parsing :) < 1305299574 830453 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :THERE'S YOUR OPINION FOR THE MOMENT < 1305299583 509457 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oklofok, actually it is a sci-fi TV series featuring a time traveling "police box" (which is a weird UK thingy looking a bit like an old style telephone booth) < 1305299593 399780 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :elliott_: and we love you for it < 1305299595 332622 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: No. < 1305299597 839319 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: He's a rapper. < 1305299605 736977 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :time travel? eww < 1305299606 968471 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, thanks < 1305299611 504263 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I recently found a page on Bulbapedia that was all about fan speculation as to which characters from Pokémon would be likely to have a romantic relationship if they ever met, which they hadn't < 1305299612 22064 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oklofok: he's a rapper < 1305299616 970924 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal is trolling you < 1305299625 670023 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :most of the evidence was incredibly tenuous < 1305299632 835460 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oklofok, if you google you will find elliott_ is the one trolling you < 1305299637 917192 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: PETTY CONCERNS LIKE PLOT CANNOT GET IN THE WAY OF SHIPPING < 1305299644 397449 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oklofok: Google is communist lies. < 1305299647 870305 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oklofok: Don't believe the reptilian Jews. < 1305299649 56151 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :Vorpal: better to live in a lie than have more time travel in my world < 1305299653 70968 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oklofok: Dr Who is the only true rapper out there. < 1305299657 242581 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :He's so bro. < 1305299663 21950 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: it was more, that the only evidence that they had was that the characters were similar < 1305299666 864619 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oklofok, heh < 1305299680 405517 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :what? what? i'm dr. who, and i'm here to do a check-up on you - woooo woooo < 1305299688 676862 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, no the only true rapper would surely be MC Frontalot? < 1305299699 75826 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oklofok: Dr Who specialises in one-word rhymes. < 1305299707 711766 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Dr Who / Blue / Shoe / Flew / Out / The / Windoo < 1305299713 58902 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :His most iconic lines. < 1305299716 951715 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :only one of them was technically impossible (Kris was replaced by Lyra in an updated remake, they just renamed and restyled the main character of the game, which lead to Kris x Lyra shippings which makes no sense at all, as in it's not clear what it's even meant to mean) < 1305299723 111976 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: wat < 1305299736 77691 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :elliott_: wow < 1305299754 267471 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it'd be like shipping the Python 2 print statement and Python 3 print function < 1305299759 107629 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :also don't you mean ... oot / thoo ... < 1305299762 432916 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :on the basis that they're similar < 1305299768 7493 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(come to think of it, someone's probably already done that) < 1305299769 236397 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :and w'ndoo < 1305299771 355174 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: Yeah, I'm ... gonna do that now. < 1305299776 473918 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :How could I not? < 1305299777 852701 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :are there any tools to generate parsers given BNF? < 1305299781 629529 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :that would be cool < 1305299788 451135 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: It's... called yacc... < 1305299795 32531 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :`addquote are there any tools to generate parsers given BNF? that would be cool < 1305299796 262529 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​414) are there any tools to generate parsers given BNF? that would be cool < 1305299796 815326 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, that's not exactly BNF iirc < 1305299803 840989 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, besides I meant for haskell < 1305299805 143423 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :duh < 1305299810 219935 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :no it's more than bnf < 1305299831 806221 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :there's some stupid hacks on top of it < 1305299835 769270 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, from what I remember yacc/bison does a superset of BNF < 1305299848 815237 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric := stupid hacks on top of it < 1305299853 882262 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :and cut off penises < 1305299856 99451 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: WRITE ONE < 1305299871 289030 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :seriously, not even that hard < 1305299874 269311 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, maybe another day, but I don't want to reinvent the wheel < 1305299879 125466 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you can, in yacc, more or less literally write BNF and get a parser < 1305299891 733707 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 260 seconds < 1305299892 537530 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but it's not massively useful, as all you'll get is either a parse error or successful termination < 1305299898 420981 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, well it isn't exactly the same syntax, so it doesn't really count < 1305299903 529504 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305299903 734579 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :`delquote 414 < 1305299905 421393 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​*poof* < 1305299912 814968 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :`quote 414 < 1305299914 361587 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :No output. < 1305299917 150418 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305299919 367489 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :data BNF x = Seq BNF BNF | Alt BNF BNF | Kleene BNF | Literal x < 1305299921 856003 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Wait it does poof now? < 1305299923 401952 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the whole point of yacc is that you can add actions as well to actually make the parser do something < 1305299923 871689 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :goes < 1305299932 423285 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :then interpret that structure, calling Parsec to do the actual work < 1305299950 589046 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, well, is there yacc for haskell < 1305299956 961324 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :parsec looks annoying compared to yacc < 1305299961 690868 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :YAKSKELL < 1305299966 15339 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :parsec's a lot simpler than yacc < 1305299971 745121 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I mean, to use < 1305299979 347433 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I imagine you could easily get a BNF->parsec compiler, though < 1305299981 120501 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :yacc is hell to use < 1305299985 981996 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, possibly because I know yacc but not parsec < 1305299993 50118 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I know both, parsec is simpler < 1305299994 431465 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: Augh, you've made me want to figure out the number of possible Homestuck ships out of utter morbid curiosity just so I can boggle at the combinatorial ridiculousness of the resulting number. < 1305300002 489753 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, I shall google yaskell, I assume you wouldn't have mentioned it unless it exists < 1305300003 533645 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Thankfully my desire to spend NO TIME ON DOING THAT WHATSOEVER outweighs the morbid curiosity. < 1305300003 680219 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: 2^(number of characters) < 1305300006 946434 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: NOPE < 1305300012 382090 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: That only applies if you have one type of romantic relationship. < 1305300014 915684 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :ais523: or a BNF interpreter, implemented using Parsec < 1305300016 385527 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, LIAR! < 1305300022 293197 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: I didn't say (number of characters)^2 < 1305300036 490921 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I assume people can come up with 0-person and 1-person ships < 1305300045 902179 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because they've managed to come up with everything /else/ < 1305300063 815763 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: it's actually called Happy < 1305300067 90580 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: That would work for matespritship, but not moirallegiance, kismessisitude or auspisticism. < 1305300074 458945 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, hm < 1305300076 229695 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :And the last involves three elements. < 1305300076 677602 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Augh. < 1305300079 725448 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Do not want to think about this any further. < 1305300084 246910 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Bad thoughts. < 1305300089 611265 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: Do not use it. Use Parsec. This is the wisdom of ZOMGMODULES. < 1305300103 587418 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :`addquote Vorpal: it's actually called Happy Vorpal: Do not use it. Use Parsec. This is the wisdom of ZOMGMODULES. < 1305300104 654417 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​414) Vorpal: it's actually called Happy Vorpal: Do not use it. Use Parsec. This is the wisdom of ZOMGMODULES. < 1305300107 885325 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES strongly discourages the use of happiness. < 1305300113 730648 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, so why do you hate yacc syntax? < 1305300116 36883 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Also, protip: when saying phrases like "This is the wisdom of ZOMGMODULES" on IRC, you can tab-complete your own nick. < 1305300160 248723 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :what the fuck is this homestuck thing anyway? i always assumed he was a rapper < 1305300161 259850 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ZOMGMODULES: I've changed my nick just to be able to tab-complete a particular word before < 1305300178 212338 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oklofok, a web comic :P < 1305300185 811857 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: I don't like the interleaving of BNF++ and C. < 1305300191 615283 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oklofok, about... uh that's a bit compled < 1305300205 784945 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oklofok: Yes. < 1305300208 109330 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :oklofok: Homestuck is a rapper. < 1305300214 569435 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :He's the kismesis of Dr Who. < 1305300215 303657 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :yo they call me homestuck, i don't give no fuck < 1305300226 429645 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Dr Who's all up on my duck < 1305300235 236931 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : He's the kismesis of Dr Who. <-- which quadrant was that, I forgot < 1305300253 322299 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Hate. < 1305300261 165657 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, and left or right side? < 1305300267 480107 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Uh, bottom-left. < 1305300270 956200 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :aha < 1305300273 805896 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I am so glad my head contains this information. < 1305300275 161666 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :So glad. < 1305300278 637445 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hah < 1305300287 581628 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Also, clubs. < 1305300293 310257 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :SO GLAD THIS IS TAKING UP SPACE IN MY HEAD < 1305300294 554806 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :YOU HAVE NO IDEA < 1305300295 341886 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, anyway homestuck allows more than one relationship at once so... < 1305300296 801137 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :HOW GLAD < 1305300302 245561 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, yeah your logic doesn't work < 1305300344 8178 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: To summarise in less infuriatingly unrevealing terms, there are three two-pairing types and one three-pairing type, so I'm fairly sure the actual total number is ridiculous. < 1305300359 900794 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Especially if you count every single soldier as a character which OBVIOUSLY you do. < 1305300365 781348 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I think I'm gonna go join another channel now < 1305300368 123155 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :These are things that logical people do. < 1305300373 82822 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wait, there's a finite list of allowed sorts of ships? < 1305300378 419262 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, can we make an esolang out of this? < 1305300386 388584 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric ::D < 1305300392 89008 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :ais523's good attitude maybe saved me < 1305300396 676712 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you'd need to implement reproduction in order to make it TC, though, otherwise you'd only have finite storage < 1305300398 53764 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: Don't make me try and explain troll romance. It's basically a gigantic ploy by Andrew Hussie to troll every single one of his readers by bullshitting them. < 1305300400 864633 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, that only applies to the trolls though < 1305300403 48116 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :the humans... < 1305300417 363074 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : ais523: That would work for matespritship, but not moirallegiance, kismessisitude or auspisticism. < 1305300419 144966 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Moirallegiance probably still applies augh why am I humouring AH the bastard. < 1305300419 892884 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Erm, no. < 1305300431 516122 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ZOMGMODULES: ISN'T THIS CHANNEL GREAT RIGHT NOW IT TOTALLY IS < 1305300437 560491 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, that is... which quadrant? < 1305300447 28831 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :4^|characters| is the absolute upper bound on relationships. < 1305300447 511586 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :upper right? < 1305300449 888327 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: TOP-RIGHT X_X < 1305300454 14170 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :ais523: hurry up on that esolang < 1305300459 773518 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :`addquote i hope that isn't child pornography whew equally cute tho, have to admit < 1305300461 123388 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​415) i hope that isn't child pornography whew equally cute tho, have to admit < 1305300462 823776 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, yes I didn't remember the names for it < 1305300524 686165 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Excellent channel-killing move by me there < 1305300528 396391 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :I think we've officially hit rock-bottom < 1305300536 541425 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric ::D < 1305300553 846161 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I know I was once asked to kill a channel as people there didn't like the current conversation < 1305300558 56713 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :and cut off penises < 1305300565 284974 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :that's a horrible catch phrase < 1305300566 666916 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so I said "I mostly play Nintendo portables and Linux games", and that worked fine < 1305300570 60903 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :X-D < 1305300570 241892 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I doubt it'll work again, though < 1305300572 951411 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :loses its shock value < 1305300599 563594 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, what was the channel about? Not Nintendo portables and Linux games I guess? < 1305300604 23123 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it was about gaming generally < 1305300607 359821 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :it was [hash]luigiandalsonethack < 1305300617 363010 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :(Lui Giandal Sonet Hack) < 1305300624 846314 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure if even derailing a channel can cure me of my desire to be ontopic < 1305300637 872244 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :ais523: Says the guy just talking about Pokemon shipping. < 1305300646 439567 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott_, ah, I read that as "lugi" first what with the nintendo stuff, so the rest didn't parse for me < 1305300654 720996 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :i've seen a girl with the biggest tits ever today, and she was skinny too < 1305300660 124655 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :my day started well. < 1305300662 538542 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: I still have a desire to be ontopic < 1305300664 299147 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :Vorpal: Whoosh < 1305300668 501872 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's just kind-of hard in here < 1305300677 955935 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :but is it NP-Hard? < 1305300689 30194 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott_: I don't think that's a standard whoosh circumstance < 1305300692 74488 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, :D < 1305300700 635250 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's more missing the syntax of the joke, than the semantics < 1305300705 571660 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :ACTION tried killing the chat but didn't manage < 1305300721 689293 :elliott_!~elliott@91.104.253.77 PRIVMSG #esoteric :The power of mental ignore. < 1305300731 283756 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oh "and also" < 1305300732 257723 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305300768 261457 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, is there an ISO standard perhaps defining standard whoosh circumstance? < 1305300775 483033 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: I don't think so < 1305300786 610081 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :there should be < 1305300871 48240 :elliott_!~elliott@91.104.253.77 QUIT :Remote host closed the connection < 1305300912 306998 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1305300923 765081 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I was wondering if we'd scared you off < 1305300984 707756 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nope, X messed up. < 1305300988 531081 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Scare /me/ off? < 1305301009 996072 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I wonder if I'll be here forever < 1305301016 723721 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :even if I do prefer it when it's talking about esolangs < 1305301023 169283 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :cheater_: my dick gets np-hard when i'm soaked in pee-space < 1305301025 87986 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nowadays it's typically tolerable even when it isn't < 1305301039 943839 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :... < 1305301044 158809 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :ACTION attempts as well < 1305301045 194372 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :esolangs and off-colour complexity theory humour < 1305301051 63437 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i plan to stick around here until i've been here long enough that nobody can come up with any excuse not to op me any more < 1305301053 109883 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then < 1305301056 189554 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then the reckoning begins < 1305301059 233593 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :all will perish < 1305301069 485718 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :right after i laugh this off as a joke to get the final op bit of course < 1305301075 530161 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :isn't the excuse "this channel doesn't need any more ops"? < 1305301099 993085 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I am here under court order < 1305301139 812889 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Counter: "I'm so elder, people leave and never come back just because I tell them I'm banning them" < 1305301144 219091 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :SO WHAT DOES IT MATTER < 1305301157 681676 :SOLEIL!~SOLEIL@dax40-1-78-231-117-36.fbx.proxad.net JOIN :#esoteric < 1305301185 893426 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Good morning SOLEIL < 1305301189 679178 :SOLEIL!~SOLEIL@dax40-1-78-231-117-36.fbx.proxad.net QUIT :Quit: MegaIRC v4.06 http://ironfist.at.tut.by < 1305301205 754379 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Good night SOLEIL < 1305301211 607081 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :oklofok: i heard pgraham was so good, he doesn't need viagra, because he's np-hard! < 1305301347 484247 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :i umm < 1305301352 190822 :oklofok!~oklopol@dyn58-429.yok.fi PRIVMSG #esoteric :i have to go -> < 1305301813 900548 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: OK I hate what I have become but I will say that Homestuck has at the very least over 6448 possible shippings. < 1305301824 254463 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Counting only major characters. < 1305301831 343978 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm going to go get drunk and shoot myself. < 1305301838 452445 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I hate whatyou have become too < 1305301844 263746 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Me too ZOMGMODULES. < 1305301845 34966 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Me too. < 1305301876 289395 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :It's not a *very* specific hate though, because I have only inferred what any of this is or means. < 1305301887 490565 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :And I wish no more knowledge of it than that. < 1305301889 824628 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's all ais523's fault. < 1305301894 555884 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's all Pokemon's fault. < 1305301969 55690 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :My aglets have short life spans < 1305302051 567105 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :BACK TO HOW UGLY THIS HASKELL CODE IS < 1305302177 242958 :hagb4rd!~hagb4rd@koln-4db40f41.pool.mediaWays.net JOIN :#esoteric < 1305302308 41748 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: btw i agree re: pure's input is horrible < 1305302324 8029 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :assign a to gets and then evaluate a+a, it reads a line twice... augh < 1305302330 866538 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i mean, i get the motivation but < 1305302331 724255 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ugh < 1305302332 662648 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's just so < 1305302333 165475 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wrong < 1305302335 102431 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it makes no sense < 1305302508 355104 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: tehz's response at http://esolangs.org/wiki/Talk:Unparseable makes no sense, right? < 1305302512 86120 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :just checking it's not just me < 1305302576 575538 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :elliott, I assume a loop is a nested goto. < 1305302606 614187 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : My aglets have short life spans <-- why < 1305302610 759024 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :(foo)bar does foo, then bar, while (foo loop)bar does foo over and over again. < 1305302613 728686 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :elliott: TRY FELIX NAO < 1305302625 473834 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: YEAAAAAAHON < 1305302627 5789 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :... < 1305302628 501323 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: YEAAAAAANO < 1305302630 825402 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I think it's because they tend to get stepped on. Not sure < 1305302644 162109 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :"Felix has the best everything of all languages." -- Felix home page < 1305302678 271473 :hagb4rd!~hagb4rd@koln-4db40f41.pool.mediaWays.net QUIT :Ping timeout: 246 seconds < 1305302683 532189 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :But it's a real problem, it makes it impossible to keep my laces in without them, so I tend to walk around with my shoes undone. This wouldn't be a problem except for people always pointing it out < 1305302695 881056 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :,addquote < 1305302736 237501 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :re Unparseable, I could only make sense of "loop" if it means "block" < 1305302744 203038 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ZOMGMODULES, except it doesn't actually say that < 1305302760 608600 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Sgeo: do you think I would LIE about FELIX? < 1305302765 960386 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :"megathreadingng"? Really? < 1305302786 260821 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Felix's home page and Falcon's home page are actually the same page < 1305302802 745291 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : elliott: TRY FELIX NAO <-- every time people write "now" as "nao" I think of nethack.alt.org... < 1305302834 95817 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :"Felix provides the best contract programming system of any production language." if you want accuracy < 1305302846 495884 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : But it's a real problem, it makes it impossible to keep my laces in without them, so I tend to walk around with my shoes undone. This wouldn't be a problem except for people always pointing it out <-- use shorter laces so you don't step on them < 1305302860 243904 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :but the stuff about how it's a scripting language that compiles to C++ to take advantage of ZOMGOPTOMIZATIONS also tickles me < 1305302899 596554 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote Felix's home page and Falcon's home page are actually the same page < 1305302900 989212 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :scripting language. whole program analysis. together at last < 1305302901 70618 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​416) Felix's home page and Falcon's home page are actually the same page < 1305302914 764377 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote scripting language. whole program analysis. together at last < 1305302916 212127 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​417) scripting language. whole program analysis. together at last < 1305302918 447251 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : Felix's home page and Falcon's home page are actually the same page <-- that explains so much < 1305302942 214307 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : I think it's because they tend to get stepped on. Not sure < 1305302954 445124 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Sgeo, are you unable to tie shoelaces properly? < 1305302966 553328 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh god < 1305302967 818175 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Phantom_Hoover, either that or he uses way too long ones < 1305302968 899962 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :The laces should be well off the ground, unless they're pointlessly long. < 1305302986 265704 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric : ais523: tehz's response at http://esolangs.org/wiki/Talk:Unparseable makes no sense, right? <--- it took me rather aback, I think loops in Unparseable are like Perl's degenerate loop {}, which iterates exactly once < 1305303004 87257 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :also called a "block" < 1305303004 331311 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: TehZ says something stupid? < 1305303007 136903 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :OMG REALLY < 1305303010 14951 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I want to say that sometimes I don't tie my shoes, even when those things aren't damaged, but I have shoes that I'd prefer in those circumstances < 1305303013 436340 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and is only useful because it obeys loop control instructions like last and redo < 1305303014 881483 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION takes his aback back where it came from < 1305303015 598338 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, that would surely make it sub-tc, unless there is another way to make an infinite loop < 1305303020 146728 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :So I'm not sure how they get damaged < 1305303020 692836 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo: That's not answering PH's question < 1305303025 302468 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :baby got aback < 1305303048 499967 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Phantom_Hoover, I can tie my shoes just fine. Although I learned to do so a few years later than the other kids < 1305303049 528325 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: you can just to the equivalent of {redo;} from Perl < 1305303058 927771 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :iirc < 1305303063 55729 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I don't know much perl, what does redo do? < 1305303085 953524 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :goes back to the start of the loop, without checking the condition again (for any loop with conditions) or doing the for loop go-to-next-element bit < 1305303094 132079 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :basically, like gotoing a label just inside the loop < 1305303110 575636 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, so not exactly like continue; then? < 1305303112 279163 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305303124 166267 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nope; Perl has next which is exactly like continue < 1305303127 159233 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but it has redo as well, which isn't < 1305303138 587079 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :so { ... if(x) redo; } is a "repeat loop" < 1305303143 878092 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, does perl have goto in the C sense= < 1305303148 518275 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :s/=/?/ < 1305303169 471852 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :iirc it does < 1305303169 798688 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, ugly but I get it < 1305303186 670229 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal: it's like the opposite of Mouse's loop, which I actually like < 1305303209 356710 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, I'm not familiar with Mouse's loop < 1305303212 382451 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ACTION googles < 1305303221 695727 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I forget the syntax, but all loops are of the form: is while(1) { ... if (x) break; ... } < 1305303224 702324 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :*if < 1305303228 974134 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :*no < 1305303232 401812 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :s/is// < 1305303238 433181 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, that is also ugly :P < 1305303243 173873 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :it's elegant! < 1305303248 819640 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :the condition is there for a reason < 1305303264 482104 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, of course the proper way to do a loop is by tail recursion < 1305303278 519992 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :that is also the proper way to design a microprocessor < 1305303288 922040 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, tail recursion? hm < 1305303290 917094 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: Perl does have a C-style goto, but you aren't really supposed to use it < 1305303291 795595 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :but let's not get into that < 1305303296 97498 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :tail recursion is just low-level iteration in disguise < 1305303296 444433 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it also uses the goto keyword for tail-recursion < 1305303306 677773 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :in fact it's practically goto ;) < 1305303308 794416 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :that's the "good goto" in perl. i quite like that < 1305303319 665718 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : tail recursion is just low-level iteration in disguise <-- yes < 1305303319 830832 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: asterisk tail calls < 1305303333 368499 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, right < 1305303337 412293 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it can do other sorts of tail calls too < 1305303346 733570 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but tail recursion is the only time where you really get a gain from tail-calling < 1305303358 909390 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :only? < 1305303374 914174 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :i dunno, gimme a clever compiler... < 1305303375 681251 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, the rest of the time, it just hurts O(1) in stack space < 1305303400 661089 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : but tail recursion is the only time where you really get a gain from tail-calling < 1305303402 391861 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :not much of a gain, granted < 1305303403 263972 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :um, no < 1305303416 367976 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :with tail recursion, you can just replace it with a while one loop, basically < 1305303418 254639 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :unless your tail calls lead to themselves < 1305303424 808288 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :through chains of tail calls < 1305303428 629842 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :with mutually recursive functions, tail calls are impossible to optimise locally < 1305303429 65743 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ZOMGMODULES: that is tail recursion, by definition < 1305303432 891448 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :.. < 1305303433 853727 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :no it's not < 1305303439 477117 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :tail recursion is when you tail call yourself directly < 1305303441 747659 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, that is still tail recursion, but involving more than one function in the cycle? < 1305303442 161713 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :[asterisk]... < 1305303443 599666 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I consider mutual recursion purely via tailcalls to still be tail recursion < 1305303444 449378 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :mututally recursive tail recursion may or may not be recursion. < 1305303449 733228 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so we're just using different terminology here, I fear < 1305303451 374059 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: then you are using a different definition to everyone else. < 1305303453 771807 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :i don't have my dictionary with me < 1305303456 573781 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, does your computer have a numpad? < 1305303468 927375 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Your definition isn't really useful because your definition of "tail call" becomes kind of pointless because "tail recursion" is the only real useful sense < 1305303480 559755 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And you have no language to talk about the trivially-optimisable kind that Guido thinks are the only kind :) < 1305303483 416243 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: And no, it's a laptop. < 1305303485 29280 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: and that's exactly what I was been saying! < 1305303493 89525 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*I have been saying < 1305303496 63495 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :still, tail calls w/o recursion may permit inlining, or something < 1305303506 97605 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Then stop using a less universal language that nobody else is using :) < 1305303506 179802 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : also, does your computer have a numpad? <-- yes my desktop does, by laptop doesn't, unless you count the useless one accessed with the Fn key < 1305303508 778435 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :which might lead to different cache behavior < 1305303511 940361 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Less universal in that it can express less. < 1305303515 484852 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :which might lead to significant performance changes < 1305303517 978621 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: he was asking me. < 1305303524 199035 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: that response would have been correct if zzo38 had asked the question < 1305303527 150050 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: I'm still miffed Pure has modules. < 1305303534 779460 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, he never said a nick, so that isn't very clear < 1305303538 405855 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, how so? < 1305303544 577539 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :ais523: see my previous 3 lines < 1305303544 836458 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It was perfectly clear. < 1305303548 275188 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because anything zzo38 says is, by default, out of context < 1305303550 926821 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, but yes your question seemed very zzoish in that context < 1305303585 25179 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: Erm. < 1305303587 174077 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: Not modules. < 1305303588 512762 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : It was perfectly clear. <-- nope < 1305303589 109896 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: Macros. < 1305303591 659740 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm miffed it has macros. < 1305303592 516720 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: yup. < 1305303596 246164 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, nope < 1305303599 72405 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yep. < 1305303601 215012 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :(we can go on forever) < 1305303603 491616 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :who'd be miffed at something having modules? < 1305303604 287840 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :nope < 1305303608 175356 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as long as you weren't forced to use them < 1305303609 133293 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No, I assure you I can go on longer. < 1305303609 670054 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yup. < 1305303616 590709 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, no I said we, not I < 1305303624 672065 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :nope < 1305303625 356047 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Yeah, macros in Pure make no sense < 1305303628 641650 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :There is no way you have the same amount of patience for this I do. < 1305303629 741432 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yup. < 1305303637 605813 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: They're just a kludge for not having a good inliner :( < 1305303638 714738 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, nope < 1305303642 528583 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yup. < 1305303645 880467 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :And it's sort of an example of the non-design behind the language in general, for me < 1305303646 905349 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I suppose the issue is that I've been dealing with my PhD, where any situation in which the same function can appear on the call stack has to be considered to be recursion < 1305303649 547021 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :this is silly, nope < 1305303656 544631 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*can appear twice or more on the call stack < 1305303656 632529 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Strange how you know these are directed at you, I mentioned no nick < 1305303657 372230 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, anyway it wasn't clear to me < 1305303657 500245 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I keep seeing things in it, and saying, "... why?" < 1305303658 79216 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nope < 1305303659 997104 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :... < 1305303660 399000 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yup < 1305303665 793624 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :God I'm tired. < 1305303666 936702 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Heh. < 1305303669 11442 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : Nope <-- hah I won! < 1305303673 789115 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: No you didn't. < 1305303677 685053 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I contradicted myself immediately. < 1305303678 108790 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, yes I did < 1305303682 621227 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nope. < 1305303687 449605 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :yes < 1305303690 21752 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nope. < 1305303695 260574 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :I AM CONTRADICTING MYSELF RIGHT NOW < 1305303701 464042 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: nope. < 1305303703 867519 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :... yes indeed I did, and thats final < 1305303709 253572 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Nope. < 1305303727 633518 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, so you agree that you disagree on this? < 1305303729 83778 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott, Vorpal: sorry, I'm slow, I spent a while trying to work out the context for your latest stream of comments, and only recently realised that they weren't meant to have one < 1305303730 518973 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :other than the thread < 1305303738 386865 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: You lose I win. < 1305303742 815653 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, nope < 1305303746 926151 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303749 360320 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :nope < 1305303751 579714 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303754 34517 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, err? < 1305303756 323425 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :nope < 1305303759 878361 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :quality of the channel is increasing already < 1305303761 11065 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303768 425394 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, nope :D < 1305303773 289900 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303785 638997 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, nope, and what was this about now again? < 1305303789 622875 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303793 417774 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :nope < 1305303804 26501 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :nope < 1305303804 557520 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303806 190223 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : quality of the channel is increasing already <-- yes indeed < 1305303813 354723 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, nope < 1305303815 102660 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :indeed i imagine so < 1305303818 767066 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303823 166895 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, no you don't! < 1305303825 353744 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, nope < 1305303831 403291 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303835 393020 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :having said that, for whatever it's worth, yup < 1305303836 101968 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, no < 1305303839 549799 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303841 903458 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, nope < 1305303843 804379 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, no < 1305303847 214279 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303853 377474 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :well, perhaps < 1305303854 378353 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, yes to no < 1305303858 146139 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, right < 1305303860 853933 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: I win you lose. < 1305303863 822353 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, no < 1305303867 710524 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303891 62402 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :↕ < 1305303894 493237 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :anyway I have other things to do, *hits ctrl-c at /usr/bin/elliott* < 1305303901 118740 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :(god that would be a nice feature) < 1305303901 952585 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I win. < 1305303905 443453 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :no < 1305303908 82096 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Yup. < 1305303917 797258 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :win has been redefined to mean lose < 1305303924 973838 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, then elliott did < 1305303926 270633 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: nope. < 1305303939 946585 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :assertion has been redefined to mean apathy < 1305303945 296807 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, good idea < 1305303950 24602 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: nope. < 1305303967 600268 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :Vorpal has been redefined to be elliott < 1305303972 294824 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: nope. < 1305303973 899824 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :and vice versa < 1305303977 959319 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :err < 1305303982 697325 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's a stupid conversation between you lot < 1305303987 636880 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, yes < 1305303999 696860 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :it's a lovely day for a stupid conversation < 1305304003 111504 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : elliott, Vorpal: sorry, I'm slow, I spent a while trying to work out the context for your latest stream of comments, and only recently realised that they weren't meant to have one <-- so was that about this convo? < 1305304011 410477 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :it's also a stupid day for a lovely conversation < 1305304014 526746 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Still winning over here. < 1305304016 612517 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: you just made me literally facepalm < 1305304025 491748 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although not very hard, as I'm at work < 1305304042 60386 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, yes indeed since that was redefined to mean lose < 1305304046 226181 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nope. < 1305304058 175133 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : it's a lovely day for a stupid conversation <-- very true < 1305304072 322941 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, epon < 1305304091 905292 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nope. < 1305304097 708891 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :so who's eric the esot again < 1305304108 975084 :ZOMGMODULES!~cpressey@173.9.215.173 PRIVMSG #esoteric :TDD is best when the failing tests you intially write are completely random and have no bearing on your requirements < 1305304110 766756 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :and why are we in his channel < 1305304115 492429 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, mu < 1305304122 11847 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de PRIVMSG #esoteric :ZOMGMODULES: YES! < 1305304130 64167 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and lets drop the law of the excluded middle < 1305304138 867543 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ZOMGMODULES: haha < 1305304152 320344 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ZOMGMODULES, how familiar < 1305304211 400616 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, if you have time to do this convo, lets retarget your focus to computer components < 1305304224 85634 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ZOMGMODULES: are you the guy who comments a lot on arcane sentiment btw < 1305304231 783094 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: nope ;D < 1305304236 384651 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, dammit < 1305304249 429569 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, well I'm off, have to do some stuff, deadline and such < 1305304252 593410 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i'm waaaay too tired for that now anyway. you'd get a hideous monstrosity powered by hatred. < 1305304262 195393 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :maybe: you will get that anyway. perhaps. < 1305304729 400866 :variable!~variable@unaffiliated/variable QUIT :Ping timeout: 260 seconds < 1305304768 297828 :SgeoN1!~AndChat@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1305304864 233011 :SgeoN1!~AndChat@ool-18bf618a.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1305304878 314929 :SgeoN1!~AndChat@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1305305082 426549 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net JOIN :#esoteric < 1305305238 417933 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de QUIT :Ping timeout: 240 seconds < 1305305258 703444 :cheater_!~cheater@p5099e3f2.dip0.t-ipconnect.de JOIN :#esoteric < 1305305343 496275 :ais523!~ais523@unaffiliated/ais523 QUIT :Ping timeout: 276 seconds < 1305305498 731965 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1305305598 508746 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: Vorpal: got bored yet? < 1305305658 792840 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nope < 1305305744 469959 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, yep < 1305305751 421406 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nope < 1305305756 976864 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :... < 1305305777 368262 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : maybe: you will get that anyway. perhaps. <-- I will do a sanity check against some people I know :P < 1305306153 176840 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : case ss of < 1305306153 403377 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : [] -> reflect < 1305306153 483997 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : [_] -> reflect < 1305306153 484159 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : _ -> do < 1305306154 975955 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That < 1305306159 673563 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :May be the stupidest code I've ever written < 1305306230 225618 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: that isn't the whole expression, is it? < 1305306236 212085 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :presumably there's more after the do < 1305306253 390020 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yes < 1305306255 482641 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but it's irrelevant to the stupidity < 1305306269 19762 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I suppose you could write it as _:_:_ -> do { ... }; _ -> reflect < 1305306275 926955 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I'm not sure that that's any less stupid < 1305306281 626430 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :OR < 1305306285 494060 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :if length ss < two then reflect else do < 1305306297 564073 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that doesn't work on infinite lists < 1305306300 954891 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :whereas what you wrote does < 1305306302 752914 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :Which turns an O(1) algorithm into an O(n) algorithm < 1305306306 370576 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, it's O(n) rather than O(1) < 1305306333 167255 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm like a hundred percent certain GHC can optimise that < 1305306339 149886 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :You're wrong < 1305306346 281386 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :Optimizing it would change the semantics < 1305306351 119372 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Deewiant: I was about to say that < 1305306360 299157 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Does _|_ really count as semantics here < 1305306362 619978 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's kind of gross < 1305306364 503788 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Like, entirely gross < 1305306365 166603 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :It always does < 1305306377 588578 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well sure, but that's gross. < 1305306379 309641 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Like really gross. < 1305306389 54010 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Anyway if Integer is lazy then it's fine. < 1305306393 423613 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Er, Int. < 1305306403 650832 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hey, it's Int, the result can't be _|_ can it. < 1305306405 865563 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it isn't, as far as I know < 1305306406 446493 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It'll overflow eventually. < 1305306411 358321 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Which... might work. < 1305306418 207618 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :It doesn't :-P < 1305306420 712501 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and an overflow is also normally represented by bottom < 1305306423 362124 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I think Integer's laziness is actually unspecified. < 1305306425 664959 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :compareLength :: [a] -> Int -> Ordering < 1305306425 747280 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :compareLength _ n | n < 0 = GT < 1305306425 747458 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :compareLength [] 0 = EQ < 1305306425 747607 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :compareLength [] _ = LT < 1305306425 747710 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :compareLength (_:_) 0 = GT < 1305306428 7768 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :compareLength (_:as) n = compareLength as (n-1) < 1305306430 563474 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :elliott: Use this < 1305306437 542164 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Deewiant: standard library? < 1305306441 403800 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Wow, no, I prefer the case statement. < 1305306441 577797 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :No < 1305306450 661904 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : compareLength _ n | n < 0 = GT < 1305306454 192566 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Why would you ever pass a negative to that. < 1305306474 405371 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: in case it wasn't a constant < 1305306480 376655 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :I'd rather make it correct in case you do < 1305306490 144868 :variable!~variable@unaffiliated/variable JOIN :#esoteric < 1305306497 519182 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: It should take a natural as the second argument < 1305306511 255138 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: but that's strictly less useful < 1305306522 650052 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in fact, there's no real reason it couldn't take arbitrary reals (that could be notated in Haskell) < 1305306530 4811 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Shut up, Conal :) < 1305306534 820269 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And yes, there is; computable reals can't be compared like that. < 1305306535 777241 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :elliott: If you have lazy naturals, you can just use length < 1305306543 429221 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: I never said lazy naturals. < 1305306553 453865 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The fact that Haskell doesn't come with an unsigned Natural type is a flaw. :) < 1305306571 129376 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: they can be compared if they happen not to be equal < 1305306588 208736 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ais523: s/arbitrary/arbitrary computable/ < 1305306588 290794 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and if they are equal, the real must actually be an integer, and you know how to work with those too < 1305306601 412447 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: There's no way to determine it's an integer, though < 1305306602 566753 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :We are not not not dealing in uncomputable numbers here. < 1305306603 350506 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: that's why I had the disclaimer that they had to be expressible in Haskell < 1305306612 134991 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :BAH < 1305306612 817901 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :So < 1305306613 228874 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : and if they are equal, the real must actually be an integer, and you know how to work with those too < 1305306616 224388 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Is a non-sequitur < 1305306619 511376 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I know it is < 1305306622 409365 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was just feeling absurd < 1305306646 216140 :ZOMGMODULES!~cpressey@173.9.215.173 QUIT :Ping timeout: 258 seconds < 1305306651 246800 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm just a bit annoyed in that I'm implementing an arbitrary-computable-reals library in hardware at the moment < 1305306651 816733 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Man the ghc binary tarball is big. < 1305306653 264668 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :based on someone's paper < 1305306658 303185 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :more or less just to prove I can < 1305306673 413962 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, what are you doing in haskell atm? < 1305306692 555246 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: installing. < 1305306706 90422 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : I suppose you could write it as _:_:_ -> do { ... }; _ -> reflect <-- befunge? < 1305306730 160692 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :>_< < 1305306743 731441 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I guessed it was Befunge-related, but that was irrelevant to the question < 1305306749 165063 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so I didn't ask < 1305306761 53873 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Hey, Vorpal wanted to know what's a nice regex library for Haskell, ISTR you using one once and telling me it was good < 1305306762 142615 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :*Wow*, freshmeat.net is still around. < 1305306763 637639 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Go tell him likewise < 1305306774 669488 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this channel is a great one for answering programming questions, because it tells you the answer before it asks you why you're trying to do what you're doing < 1305306776 88517 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : case ss of < 1305306776 245074 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : [] -> reflect < 1305306776 326626 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : [_] -> reflect < 1305306776 326797 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : _ -> do < 1305306780 675298 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hahaha < 1305306780 785243 :Deewiant!~deewiant@cs186230.pp.htv.fi PRIVMSG #esoteric :Don't remember, maybe regex-tdfa < 1305306781 442081 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :rather than tell you you're trying something stupid < 1305306809 540830 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: isn't Parsec a nice regex library? < 1305306814 776651 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: :D < 1305306817 433317 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :regexes are special cases of parsers, after all < 1305306821 319471 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :well, doing normal stuff in stupid ways is normal here < 1305306824 378863 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : this channel is a great one for answering programming questions, because it tells you the answer before it asks you why you're trying to do what you're doing <-- often that question follows though, but I guess that is fine < 1305306839 144721 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :indeed, but it's asked out of curiosity rather than alarm < 1305306839 226593 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"How do I reassign the integer two in Python?" "Well, import ctypes, bind to the Python API, then use malloc to [...]" "OK, thanks" "Wait, why do you want to do this?" "BEST. IMPLEMENTATION. OF. FORTE. EVARRRRRRR" < 1305306843 556408 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: [caret] < 1305306844 713908 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, it has the downside however of sometimes telling you utterly complicated solutions < 1305306864 32655 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: that is, often, an upside < 1305306870 768152 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: indeed < 1305306882 34934 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, at least if your goal is to have a goo laugh yes < 1305306889 585458 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Goo laughs. < 1305306891 800213 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: or just implement something in a suitably insane way < 1305306894 362011 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :good* < 1305306898 670832 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, or that < 1305307004 765669 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, now I'm wondering how tightly linked to Haskell Parsec is < 1305307033 129522 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I think parsec exists for a bunch of languages other than haskell < 1305307043 10227 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's what I'd expect < 1305307068 606897 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. it's a monad but that really isn't a Haskell-exclusive concept, and it doesn't seem to require laziness < 1305307086 517594 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so long as you have some other way to not call a function argument immediately (say, call-by-name, thunking by hand, etc) < 1305307105 621927 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps Unlambda would be a good lang to port it to < 1305307213 622183 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :theory: every meta-layer of a system must be as powerful as the system itself, or it will inevitably either grow to be as powerful in the most ugly way possible, or be useless < 1305307230 491091 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :compare: haskell's type system vs. epigram's, cpp vs. lisp macros < 1305307285 593481 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what's the ubuntu package for opengl dev libraries again? < 1305307426 184329 :Gregor!Gregor@codu.org PRIVMSG #esoteric :Thomas Reiser (born December 19, 1963) is an American former computer entrepreneur, owner of Namesys, the primary developer of the ReiserFS and Reiser4 computer filesystems, and convicted murderer. // best phrasing ever < 1305307428 647901 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I can't find it with the typical searches < 1305307432 398585 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :even though I think I have it installed < 1305307464 136116 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's mesa or something I think < 1305307466 174936 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Yes :P < 1305307478 64038 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: mesa is the name of the impl, but I can't find the exact name of the package < 1305307522 286405 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :libgl1-mesa-dev? No... < 1305307528 318789 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Beh < 1305307530 58665 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Bleh < 1305307535 72570 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I think it might actually be that one < 1305307539 32037 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :despite the confusing description < 1305307560 58322 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That seems to be a non-DRI thing though odfgjdofigjdfg < 1305307561 522314 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :So complicated < 1305307570 290731 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION looks for an INSTALL in haskell platfomroermer < 1305307575 579038 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Aha < 1305307576 45967 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://www.vex.net/~trebla/haskell/haskell-platform.xhtml < 1305307580 955688 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :freeglut3-dev should grab it < 1305307611 864335 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: libgl1-mesa-swx11 appears to be for software rendering, -glx and -dri for hardware rendering, and -dev the dev libraries for both < 1305307614 446874 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Perl's build system is positively amazing. Not in a *good* way, but still. < 1305307631 534679 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: have you seen gcc's? < 1305307635 923528 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ais523: *vomit* < 1305307642 126899 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Perl's is much better. < 1305307649 984951 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :indeed < 1305307652 103411 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :In that I know for a fact that humans still understand it. < 1305307665 612747 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I still maintain C-INTERCAL's is the best autotools-based build system for any compiler < 1305307674 409274 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :I'll have to see it. < 1305307676 265941 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :mostly because hardly anyone understands autotools < 1305307678 190057 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, you mean it's crazy configure that can manually ask questions interactively? < 1305307684 440 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I spent about a month learning < 1305307684 787365 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :given some switch < 1305307688 325226 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: btw, I had thoughts about implementing ai-make < 1305307690 124955 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Vorpal: It's hand-written! < 1305307694 2770 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: ooh, go for it < 1305307695 618493 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, *wtf* < 1305307696 874233 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :With a hand-written in-shell makefile generator! < 1305307699 76144 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: except that it'd actually generate an autoconf/Tup system, or similar < 1305307700 364107 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, where did the hyhon come from? < 1305307705 513852 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, wonderful < 1305307707 608449 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: but also save a file with all your answers and things it's inferred, so it could update them < 1305307718 428481 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and it's OK for it to go via autoconf, if necessary < 1305307722 948318 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: (save things it's inferred so that it doesn't suddenly start thinking your program is a library without asking first) < 1305307723 677185 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*hyphen < 1305307752 304091 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :my hardware compiler currently doesn't distinguish between compiling programs and libraries < 1305307762 228374 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I was thinking that for finding C libraries, it'd look at header files you include, figure out what Debian package they're in, and then find pkg-config or .so files that that package also has < 1305307766 909912 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as you're going to have to write glue code anyway because hardware's kind-of useless if it doesn't have I/O < 1305307767 209783 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And determine the relevant one < 1305307788 878928 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, that might work < 1305307796 215468 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ACTION fetches from git < 1305307801 81922 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was planning to look for linker errors, then looking for libraries which exposed those symbols < 1305307824 976177 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: The idea is that it'd output autoconf checking code for those libraries, though < 1305307832 122692 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :So pkg-config is more "portable" in that sense < 1305307838 137856 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, I see < 1305307845 125228 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you want ai-make to generate a build system that works on any computer < 1305307848 106222 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :not just the one you happen to be on? < 1305307852 125911 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And looking for the Debian package which includes a header is probably a lot more efficient and less error-prone than scanning all your libraries < 1305307857 527256 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Yep. < 1305307870 56338 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, you'd have a database of Debian packages by symbols the libraries they contain expose < 1305307871 373171 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Then all we'd need is a build system generator generator. < 1305307879 164731 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :elliott: Minor issue: headers and .so files are in different packages. < 1305307879 722912 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :AKA, a compiled source generator generator generator. < 1305307884 435342 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :[asterisk]compiled binary < 1305307887 434024 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: Yeah yeah. < 1305307893 245512 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Still, symbols are more brittle than headers IMO < 1305307901 282748 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think they're less brittle < 1305307917 406399 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, it could always do both :) < 1305307921 59381 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as headers may cover multiple libraries, or vice versa < 1305307921 140998 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :http://a8.sphotos.ak.fbcdn.net/hphotos-ak-snc6/227721_10150189670889681_738479680_6991603_7524340_n.jpg < 1305307923 95240 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :*sigh* < 1305307924 688048 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :both sounds like the best approach < 1305307933 428173 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Reddit, will you ever cease to ruin my day? < 1305307954 88602 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :A word to anyone who dares to write an alternate configuration system: support the same damned variables as Autoconf. Believe it or not, the variables to let you override bits of the configuration logic are a *damned good idea*. < 1305307980 920591 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: incidentally, as pikhq_ found, autoconf and tup go really well together < 1305307986 313995 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what is tup? < 1305307993 477186 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: it's the most awesomest build system ever < 1305307996 55173 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :tup is a Make replacement that doesn't suck. < 1305307996 594905 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the arrows go up, so it's fast < 1305307999 614874 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and autoconf specifically, as opposed to autotools generally? < 1305308004 617561 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yes, just autoconf < 1305308008 214096 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fair enough < 1305308011 957103 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :automake is unnecessary, since tupfiles are fine to write by hand in the first place :) < 1305308013 694856 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Well, autoheader could work with it as well. < 1305308015 659386 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :anyway, because tup has built-in support for configuration files with things like CFLAGS in < 1305308019 238716 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and tracks dependencies on these variables < 1305308020 889301 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think automake is pretty incredible, but possibly unnecessary < 1305308025 996786 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can just have autoconf output one of those < 1305308026 229657 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :And libtool could as well if you're mad. < 1305308032 785378 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :rather than generate the actual build guts, which is hideous < 1305308038 254799 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so it's literally just finding configuration variables < 1305308046 844061 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :incredible as in possibly not a good thing, but impressive nonetheless < 1305308050 829825 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :OK, the implementation details are still utterly broken and horrific in every way, but it's good < 1305308052 282578 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, makes sense < 1305308054 994533 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :in every other aspect, that is < 1305308064 152701 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :can tup handle things like yacc which output multiple files? < 1305308072 128909 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ais523: Sure, just list 'em. < 1305308079 387746 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm, I'm not sure < 1305308084 677961 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :: foo.y |> !yacc |> foo.c foo.h < 1305308087 642385 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :IIRC multiple-output is in an old experimental branch < 1305308089 982517 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: oh, does that actually work? < 1305308098 78147 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Arguably, yacc doing that is a misfeature, anyway ;) < 1305308102 443769 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: it is < 1305308108 861812 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :elliott: The multiple-output experimental branch is for multiple *unmentioned* outputs. < 1305308111 925948 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the other thing is that yacc actually outputs at fixed filenames < 1305308116 552507 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :elliott: For e.g. Java. < 1305308118 429195 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is also a misfeature < 1305308137 868893 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but unless you include a reimplementation of yacc in your build system, one you have to work around < 1305308140 99669 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :(it generates a fuckton of .class files) < 1305308152 300409 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: Ah. < 1305308157 605210 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(autotools has yl-wrapper, whose only purpose is to wrap yacc and lex in order to change their calling convention into something sane) < 1305308166 645474 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: anyway, the basic gist of tup is that it's log-time, rather than linear-time like make and everything else < 1305308183 982999 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :http://www.independent.co.uk/news/world/europe/british-woman-murdered-in-tenerife-2283687.html < 1305308189 429574 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: because it stores file -> things that depend on it in its graph, not output -> things it depends on < 1305308190 494509 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :... Wait, wait, wait, yacc outputs at *fixed filenames*? < 1305308191 148189 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I wonder if you could easily do what missing does, too < 1305308193 787117 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :"Everybody is shocked. It's a very safe area. You can usually go anywhere you want in the day or at night. This is really not normal." < 1305308194 745060 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: lex.yy.c < 1305308203 144440 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: so it can go from things that changed, to things it needs to rebuild, directly < 1305308206 803190 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :whereas make has to traverse the whole graph < 1305308208 270117 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :which is just stupid < 1305308210 564904 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think bison probably has some way to override that < 1305308214 370652 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :That makes it just about impossible to handle parallel builds of two yacc sources. < 1305308215 575383 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Beheadings are really quite rare around here. < 1305308217 437524 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but yacc is really stupid < 1305308219 714389 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and indeed, it does < 1305308225 473683 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :only way is to do them in different directories < 1305308228 261444 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: also, it has a "rebuild every time any file changes with inotify" console thing, which is a killer feature :) < 1305308233 504086 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :pikhq_, you could rename *really quickly*. < 1305308240 562542 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Phantom_Hoover: Race condition! < 1305308244 780198 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: there has to be some way to combine that with flymake < 1305308249 191826 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :for an even more killer feature < 1305308262 164759 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :pikhq_, pretend it can't happen. < 1305308283 403128 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: you can trivially avoid race conditions simply by replacing the scheduler < 1305308293 770133 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: well, it could probably work with flymake directly, with just some sort of wrapper to intercept the output < 1305308298 718908 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :come to think of it, I actually wanted to do that recently, just can't remember why < 1305308306 799038 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :possibly it's for the best < 1305308319 168291 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it may have been in a hypothetical that wans't true, or even a dream < 1305308324 819394 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*wasn't < 1305308338 877457 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :elliott: BTW, I've found that it works a *bit* better to have autoconf generate a top-level Tuprules.tup. < 1305308346 730980 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: Really? Why? < 1305308402 536439 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :elliott: Slightly less of a pain than doing in Tuprules.tup "CFLAGS=@(CFLAGS)", so you can append to it for specific targets. < 1305308409 776621 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Ah. < 1305308455 84396 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Though, actually, it'd work better to just make the !cc rule support CFLAGS_%f. < 1305308458 69880 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :So never mind! < 1305308558 56083 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :anyway, I had an idea for a language recently, where instead of defining types like you do in Haskell or OCaml, they get implicitly defined by switch or match statements < 1305308592 328005 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. you write match x with | A _ -> false | B _ -> true | C x -> x, and it's of type A 'a + B 'a + C bool < 1305308599 651453 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :umm, the first x is < 1305308612 739332 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I shouldn't really use two different variables of the same name in examples < 1305308620 482741 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :* B 'b < 1305308783 222707 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Mrrf, I wonder if MaybeT is really the best thing here < 1305308868 65767 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Shiro/Monad.hs:25:10: < 1305308868 460738 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Duplicate instance declarations: < 1305308868 542786 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : instance Monad m => Applicative (StateT s m) < 1305308868 542948 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : -- Defined at Shiro/Monad.hs:25:10-46 < 1305308868 543050 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : instance (Functor m, Monad m) => Applicative (StateT s m) < 1305308868 637772 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : -- Defined in Control.Monad.Trans.State.Strict < 1305308870 569482 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :FINALLY < 1305308871 535420 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is there a ListT? < 1305308952 228003 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes, but the common version is wrong < 1305309031 331974 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is there an uncommon but correct version? < 1305309143 875722 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: yes < 1305309158 55478 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :now that makes me wonder why people don't use it < 1305309215 21003 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : anyway, I had an idea for anyway, I had an idea for a language recently, where instead of defining types like you do in Haskell or OCaml, they get implicitly defined by switch or match statementsa language recently, where instead of defining types like you do in Haskell or OCaml, they get implicitly defined by switch or match statements <-- nice < 1305309243 841051 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :mostly for compiler writing, where you want a parse-tree type with something like 100 slightly different variants < 1305309256 111473 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which differ in the amount of extra info they carry along, what sort of nodes they have, etc < 1305309302 673260 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : now that makes me wonder why people don't use it < 1305309305 218570 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :they do, when they need ListT < 1305309307 764316 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :which is rarely < 1305309929 608127 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, btw for new computer: I need one serial port, or getting an usb converter that will work with TI Blacklink (which iirc is rather timing sensitive) < 1305309957 421097 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I found myself rather wanting a Set monad in OCaml < 1305309958 160882 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Serial port. Nice. < 1305309961 986621 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I just used List instead < 1305309969 961907 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: sets are only monads in haskell with an extended type class < 1305309985 806750 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I don't know what that means < 1305309990 934182 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, well, is serial port hard to get hold of these days? I have no idea < 1305310118 46144 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it is < 1305310134 323392 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I like serial ports too, because they're simplest to interface to hardware you build yourself < 1305310150 646185 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, damn, do you think it will work with an usb converter, given the timing sensitivity? < 1305310162 565401 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Motherboards will still have them I think :P < 1305310165 634108 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, anyway I meant on a desktop < 1305310166 445868 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :...maybe. < 1305310170 176618 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nah who am I kidding. < 1305310175 864271 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, on a laptop I know it is near impossible < 1305310185 387381 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: I'm not sure, but it depends on what sort of clock rates you're talking about < 1305310186 381244 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, converter it is then, surely that is possible to get hold of? < 1305310197 471526 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I don't know what baud rate it uses < 1305310198 470468 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Dunnask me < 1305310199 874350 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :USB can manage really high clock rates, so the sensitivity might be small in comparison < 1305310208 781539 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if you're measuring it in baud at all, though, you'll be fine < 1305310221 700492 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :baud rates go up to about 152000 bits/second, USB is much faster than that < 1305310269 935783 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, well since it goes over serial port it must be baud? < 1305310287 237462 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, besides baud is just number of symbols / second iirc < 1305310292 122099 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it depends on if it's using the serial port as a serial port < 1305310297 303249 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :which works fine up to any value < 1305310300 348303 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or whether it's just forcing it to act like a bunch of GPIOs < 1305310309 667514 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, hm, it could be the latter < 1305310316 101880 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I wouldn't put it past it < 1305310323 324361 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I've seen the latter quite a bit < 1305310330 672668 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :awfully hacky, ofc < 1305310344 301029 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I seen that done to the parport too < 1305310347 126890 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :that was great < 1305310359 871261 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(in other news, I've heard you can actually get motherboards with GPIO ports, nowadays; I have no idea how people are meant to be able to get at them to actually use them as such, though < 1305310361 437143 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :) < 1305310383 215474 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, presumably it isn't for the consumer market < 1305310391 46952 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :possibly < 1305310410 896335 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although, among the leet gamer market, I bet you could advertise them as a feature and they'd buy it just because it was a feature, not because it was relevant < 1305310464 541890 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :The blacklink version uses the serial port as gpio pins to speak the TI link protocol directly to the calc. < 1305310480 978623 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :But it's not really all that timing-sensitive. < 1305310505 496637 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :At least it doesn't need to be; of course that might depend on the software. < 1305310567 257658 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :The grey serial-cable variant includes electronics to translate so that it speaks the regular serial protocol to computer-side. < 1305310617 481655 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :bleh, way to go Wikipedia < 1305310629 383676 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was trying to check if humans had lymph nodes behind their ears < 1305310634 17805 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and after reading the article, I still have no idea < 1305310692 481171 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I think possibly they do, if I understand "sternocleidomastoid", and the sentence that contains it, correctly < 1305310780 654595 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Good *God*. No-op build of Mozilla takes 20 minutes. < 1305310809 958020 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : I was trying to check if humans had lymph nodes behind their ears <-- pretty sure they do < 1305310820 663083 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :thanks < 1305310836 661064 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, but don't quote me on that < 1305310845 864197 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's some weird lump behind one of my ears, and I was looking for an explanation; I guessed it was most likely a lymph node, but didn't know if they were found there < 1305310857 261083 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I get that when I have a cold sometimes < 1305310877 340728 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: is that the build system trying to prove to itself that nothing needs changing? < 1305310885 39813 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ais523: Yes. < 1305310898 780931 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :As is necessary in almost all build systems. < 1305310920 550042 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :yes yes, we know you are a fan of tup < 1305310923 290935 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's pretty amazing < 1305310954 578276 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, how long does a full build of mozilla take? < 1305310976 976563 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Not going to check! < 1305310984 719846 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, much longer I guess < 1305311002 863450 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :I seem to recall it being something like 40 minutes on Gentoo, though. < 1305311025 571469 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, so... half the time spent at checking if anything changed? < 1305311033 393263 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :something is seriously wrong < 1305311042 559322 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, make shouldn't be that bad if done correctly < 1305311059 66790 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Vorpal: Recursive make fucks everything up. < 1305311077 217499 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :mozilla uses that < 1305311078 979330 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :wtf < 1305311089 476387 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :It's extensively common, actually. < 1305311093 658021 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, at least cmake generates non-recursive make :) < 1305311099 787978 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Automake's documentation seems to still encourage it. < 1305311118 26113 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, cmake is better than automake in that aspect then < 1305311130 946182 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Even non-recursive make fucks it up. < 1305311132 559982 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Make doesn't scale. < 1305311148 475805 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :elliott: Yeah, but recursive make fucks it up *more*. < 1305311158 524707 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :recursive make is a fundamentally broken concept < 1305311168 969048 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ACTION nods < 1305311170 843028 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and the hacks designed to make it slightly less broken still don't help much < 1305311212 853560 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: the tup paper has interesting things to say about recursive make ;D ;D ;D ;D < 1305311235 602483 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: you didn't even scarequote "interesting" < 1305311257 584863 :SgeoN1!~AndChat@ool-18bf618a.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1305311276 629193 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: They actually are interesting :) < 1305311280 275100 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :why would people ever use recursive make? < 1305311286 590776 :SgeoN1!~AndChat@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1305311296 75948 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: because it's easy at first < 1305311302 218167 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: because non-recursive make is difficult to write and maintain for very large projects < 1305311306 238988 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :this is because make is broken < 1305311318 855022 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, recursive make is the sort of thing that would easily fall into jwz quote territory < 1305311431 851712 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Recursive make is even *worse* with parallel builds being common. < 1305311451 29163 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :The recursion has to be serialised. < 1305311470 966516 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, or break < 1305311485 393462 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :And it can still break. < 1305311495 713495 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :it is sad and quite shocking that last I looked make -j2 did not work on erlang runtime source < 1305311513 194673 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :it tried to compile erlang code before it built the erlang compiler iirc, or something like that < 1305311535 991286 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :There is one thing that make builds from a clean source necessary: incomplete knowledge of dependencies. < 1305311538 154402 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :okay, erlang was originally made to be distributed, not multi-core, but still < 1305311549 519427 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :And, surprise surprise, recursive make makes that inherent. < 1305311581 279509 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: make's failure to track dependencies on configuration variables also forces explicit clean builds < 1305311590 327226 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :elliott: Ah, right, true. < 1305311601 659145 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : pikhq_: make's failure to track dependencies on configuration variables also forces explicit clean builds <-- does tup do that? < 1305311629 681043 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Vorpal: It also tracks dependencies on build commands. < 1305311650 707074 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, I presume tup is out of source build by default. So I guess one could set up tup to auto-build with several different build targets? < 1305311671 878520 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :It doesn't really handle out-of-source build, actually. < 1305311676 52035 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, why < 1305311681 664777 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: C-INTERCAL's build system manages a full circle, tracking dependencies on everything relevant, automatically < 1305311685 698296 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, tup is pretty useless to me until it does < 1305311687 538080 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :except, I think, the versions of autotools you have installed < 1305311691 997969 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and the compilers < 1305311703 191148 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, what about the linker? < 1305311703 273260 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but, say, if you modify the build system, it rebuilds the build system < 1305311703 937792 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :It only tracks dependencies on files in the source tree. < 1305311716 531716 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi QUIT :Ping timeout: 250 seconds < 1305311724 281320 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: well, OK < 1305311745 193666 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, well, to me tup would be useless as of now then, I often do multiple builds of stuff I develop, one for 32-bit, one for 64-bit, and various different config flags < 1305311750 394173 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Otherwise, it'd actually have to check for changes over the *entire filesystem*. < 1305311755 777623 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, doing that in tree with multiple tress = terrible < 1305311769 390589 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, you would obviously specify a source tree and a destination tree < 1305311775 450935 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :so no that isn't required < 1305311786 977115 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Though I think there is a branch of tup for supporting multiple build variants... < 1305311790 183863 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Lemme look into that. < 1305311829 719617 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :tup while interesting doesn't really seem mature. < 1305311830 499703 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`translate de en merkbefreit < 1305311832 497601 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​and the merkbefreit < 1305311833 583581 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :at least not to me < 1305311837 178446 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de JOIN :#esoteric < 1305311841 26994 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, translateto iirc < 1305311843 7704 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I bet I've messed up the syntax there < 1305311846 90453 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`translateto de en merkbefreit < 1305311847 297069 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​und merkbefreit < 1305311851 748498 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :err < 1305311854 833739 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`translateto en de merkbefreit < 1305311855 229518 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :maybe not < 1305311856 90533 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​The merkbefreit < 1305311862 733002 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`translate merkbefreit < 1305311864 68976 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :​merkbefreit < 1305311866 633567 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm < 1305311876 398168 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : pikhq_: make's failure to track dependencies on configuration variables also forces explicit clean builds <-- does tup do that? < 1305311877 880652 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yes :P < 1305311878 578865 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, maybe try google translate web page, it is less confusing :D < 1305311891 803995 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : pikhq_, I presume tup is out of source build by default. So I guess one could set up tup to auto-build with several different build targets? < 1305311892 835721 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : pikhq_, well, to me tup would be useless as of now then, I often do multiple builds of stuff I develop, one for 32-bit, one for 64-bit, and various different config flags < 1305311894 434428 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :this is being worked on < 1305311896 568305 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :although not out-of-tree < 1305311897 209930 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, right < 1305311901 365167 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :out of tree is the stupidest way to do it :) < 1305311902 789860 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Vorpal: The other build systems, though mature, are *broken*. < 1305311903 964728 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : tup while interesting doesn't really seem mature. < 1305311908 55314 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"remember, free" < 1305311911 240342 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it works fine for small-to-medium sized projects. < 1305311911 858031 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that doesn't fit the context < 1305311924 84095 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Literally fundamentally *broken*. < 1305311947 969304 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think make is fundamentally broken when used properly, although it's suboptimal < 1305311950 928983 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : Vorpal: The other build systems, though mature, are *broken*. <-- sure, but I consider not doing multiple build variants, such as different compilers, from the same source a showstopper to myself < 1305311995 972289 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, so what do you suggest? A subdir builds/ with various named variants in it? < 1305311998 183167 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :that would work < 1305312019 27693 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: the way C-INTERCAL does that is with multiple out of tree builds < 1305312034 80154 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, same as I do for cfunge. < 1305312035 600067 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: it's a directory per build in the variants system being worked on, IIRC < 1305312041 187475 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I forget the exact details read the list :P < 1305312062 134999 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, ick doesn't use automake does it? < 1305312064 646782 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :just autoconf? < 1305312089 485629 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :* Cannot join #esoteric-minecraft (You are banned). < 1305312089 567618 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :It's genuinely not *that* hard to make a Makefile that works with autoconf. < 1305312091 260732 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :* Cannot join #esoteric-minecraft (You are banned). < 1305312093 718559 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Just a lot of edgecases. < 1305312101 893784 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it uses automake too < 1305312104 771454 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but not the other parts of autotools < 1305312107 923363 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, ah, it didn't use to? < 1305312109 476952 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :iirc < 1305312118 183466 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ais523: Well, that is most of autotools. < 1305312129 91505 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: yep, it uses the two major parts but not any of the little ones < 1305312135 21207 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :other than aclocal, but that's needed for automake to work < 1305312155 457389 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :what are the small ones now again, libtool? < 1305312155 662310 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :autoheader is nothing but a nicety, libtool is revolting, I dunno about the others. < 1305312157 770087 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :anything else? < 1305312161 296916 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :autoheader. < 1305312167 673315 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, what does autoheader do? < 1305312175 629841 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :It generates a config.h.in from configure.ac. < 1305312185 975955 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cheater666: appeal to PH. < 1305312191 603503 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oh, I thought autoconf did that < 1305312193 525394 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, I use autoheader < 1305312203 659381 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but that's for generating the input to autoconf < 1305312209 569454 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's a build system generator generator < 1305312210 890085 :mtve!~mtve@65.98.99.53 QUIT :Ping timeout: 260 seconds < 1305312212 956691 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :So, pretty much you don't use libtool. < 1305312215 293647 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, no I don't < 1305312219 203266 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I used autoheader once, but no longer < 1305312220 436246 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Which is simply right and proper. < 1305312224 824842 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :to work as a starting point < 1305312232 402134 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, what was the point of libtool < 1305312238 925459 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :or at least the intended point < 1305312239 7997 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Gregor, how do you get the line-based links for glogbot? < 1305312246 945153 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: to build shared libraries in a vaguely portable way < 1305312251 817501 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Vorpal: To abstract building libraries. < 1305312277 179593 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, so it deals with ELF .so vs. a.out .so vs. PE .dll? < 1305312280 444331 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Doing that right would actually still be nice, but libtool is fundamentally the *wrong solution*. < 1305312280 548211 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and so on < 1305312294 592395 :ais523_!93bcc029@gateway/web/freenode/ip.147.188.192.41 QUIT :Quit: Page closed < 1305312304 59348 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Vorpal: It does so by making a shell script wrapper for the compiler, linker, install, etc. < 1305312311 904519 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, exit windows then < 1305312320 246157 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: I haven't looked into how libtool works < 1305312327 588595 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :elliott, PH hates me because you hate me, so no. < 1305312328 574940 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ais523: It is a giant shell script. < 1305312340 510495 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ais523: With some macros for automake and autoconf to run it. < 1305312351 981478 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, like configure then (giant shellscript) < 1305312358 384203 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :Vorpal: Hand-written. < 1305312359 752908 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cheater666: He's the one that banned you and I have been unable to formulate a valid reason to reverse this ban, so your appeal channel is PH. < 1305312363 182655 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, okay... < 1305312368 276623 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, what about autoconf itself < 1305312371 606292 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :isn't that shell? < 1305312375 135476 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :or is it m4? < 1305312385 843718 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :autoconf is just a small shell script wrapper around M4. < 1305312386 147804 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I mean as in /usr/bin/autoconf < 1305312389 519710 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305312400 214837 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :The TI link protocol (to go back to that) is rather idiosyncratic, so I might mention it here. It's two-data-wire ("red" and "white") half-duplex bidirectional thing, both lines with pull-up resistors, so the line's high unless either end drives it down. To send a bit, one side drives one of the lines down (depending on the bit value) and waits for the other end to ack by driving the other line down; then the sender releases the first line, and finally the receiv < 1305312404 461296 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :elliott: there's no appeal, just an anmerkung. < 1305312405 21347 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :pikhq_: not quite; autoconf is a shell script /generated by/ m4 < 1305312410 842768 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, m4 seems horrible btw < 1305312413 119729 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net PRIVMSG #esoteric :ais523: autoconf itself? < 1305312419 834364 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, configure, I mean < 1305312423 120892 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cheater666: That's not my problem. < 1305312426 932385 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :$ wc -l /usr/bin/autoconf < 1305312427 102399 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :492 /usr/bin/autoconf < 1305312439 650491 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :elliott: exactly < 1305312439 823528 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pikhq_, while not gigantic, I wouldn't call that small < 1305312443 530936 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: that probably doesn't count < 1305312447 229038 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cheater666: Then? < 1305312451 64650 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :for me, /usr/bin/autoconf is a wrapper that picks a version of autoconf < 1305312462 988517 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, for me it doesn't seem to be < 1305312466 780240 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :elliott: then, and in other moments too < 1305312466 861549 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :based on the version the file wants < 1305312479 135947 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :#! /bin/sh < 1305312479 407265 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :# Generated from autoconf.as by GNU Autoconf 2.65. < 1305312479 489503 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :# Generated from autoconf.in; do not edit by hand. < 1305312479 489702 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :$ wc -l /usr/bin/autoconf2.59 < 1305312480 129174 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :haha < 1305312480 760088 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :271 /usr/bin/autoconf2.59 < 1305312490 779515 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cheater666: Then I am not sure why you pasted that line twice. < 1305312494 723100 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: haha indeed < 1305312506 601001 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi JOIN :#esoteric < 1305312518 112125 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I wonder which of those files it was really generated from < 1305312527 677338 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, maybe autoconf.as was generated from autoconf.in? < 1305312532 7039 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it's obviously a two-stage generation < 1305312539 889454 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I'm scared < 1305312549 796619 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :anyway, for me, autoconf2.59 is a shell script with no "generated from" messages, but it /looks/ like it was autoconf-generated < 1305312555 648222 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and all it does, apart from options, is run autom4te < 1305312563 447576 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, anyway I only have one autoconf here, not versioned variants < 1305312567 95229 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which was "generated from autom4te.in" < 1305312576 34430 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but is clearly written in Perl < 1305312577 277483 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, this is ubuntu 10.04 < 1305312599 105458 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :we get what OS you use already < 1305312622 390792 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so autoconf, for me, appears to be a shell script wrapper around a shell script wrapper around a Perl wrapper around m4 < 1305312626 129289 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :two of which are autogenerated < 1305312635 364654 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, a perl wrapper? :D < 1305312653 478295 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's a bit more complex than a wrapper, actually < 1305312655 97147 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, be happy fork() is fast on linux! < 1305312664 492412 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, where did you find it? < 1305312666 106403 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's acting as a wrapper, but doing more than wrappers normally do < 1305312669 205882 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and in /usr/bin < 1305312679 8933 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :where I normally look for executables < 1305312685 448760 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, my autoconf ends with: exec "$AUTOM4TE" "$@" < 1305312686 914730 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305312693 299158 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: indeed, so does mine < 1305312708 332579 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :/usr/bin/autom4te is indeed perl < 1305312716 664667 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :generated < 1305312720 780787 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ACTION , against his better judgement, looks at xkcd. < 1305312728 882456 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :That space eats at my soul. Anyway. < 1305312734 6633 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :It's as godawful as ever. < 1305312745 131847 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Phantom_Hoover, times out for me < 1305312758 895962 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :You are indeed fortunate. < 1305312764 747407 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, the perl thing seems to be the actual logic of the program < 1305312778 104160 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, it calls m4 on the .ac files and so on it seems < 1305312788 644508 :KingOfKarlsruhe!~chatzilla@p5B14DBE4.dip.t-dialin.net JOIN :#esoteric < 1305312797 907565 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :except the logic is mostly in the m4 < 1305312799 752395 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, so I guess the perl one can be considerd the re-generating program proper < 1305312801 284217 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305312818 84042 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :handle_m4 ($req, keys %{$req->macro}) < 1305312818 291374 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : if $force || ! $req->valid; < 1305312829 898758 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :perls syntax is ugly < 1305312835 951475 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and it's control flow weird < 1305312843 413951 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's just a reverse if < 1305312845 342743 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :http://www.xkcd.com/896/ < 1305312847 259721 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I know < 1305312850 918252 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, but I don't like it < 1305312854 205074 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is there any particular reason why the arguments to if shouldn't be the other way round? < 1305312855 127829 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's a terrible reverse if < 1305312856 703274 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :What is it with Munroe thinking he's inspirational. < 1305312859 755465 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's autoconf's fault, not perl's < 1305312869 927839 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but yes, I agree that one would be clearer written the normal way round < 1305312895 637930 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :$force || !$req->valid and handle_m4 ($req, keys %{$req->macro}) < 1305312907 103311 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, that second argument to handle_m4 is worrying < 1305312907 610687 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, that lacks the word "if" < 1305312917 253994 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it uses "and", the forwards equivalent to if < 1305312920 363548 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, what does the second argument do < 1305312945 288720 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it takes the property "macro" of $req, interprets it as a pointer to a hash, dereferences it, and takes the keys < 1305312953 418158 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I'm struggling to think that a well-defined system would find that operation useful < 1305312965 745133 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, *ouch < 1305312967 336896 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :* < 1305312974 461234 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :sub handle_m4 ($@) < 1305312974 669195 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :{ < 1305312974 758031 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : my ($req, @macro) = @_; < 1305312975 491212 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305312983 270727 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :that I hate too with perl < 1305312991 318614 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :the mess it makes of parameters < 1305313021 234599 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :it complicates reading the source immensely to not force the parameter list to be in a specific place < 1305313037 547236 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :let's be honest, it's always on the first line of the function. < 1305313044 883907 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, most often yes < 1305313057 598584 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :A sub with a prototype (the "($@)" bit), how modern. < 1305313059 414347 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I seen it after an if case or such < 1305313067 757750 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :fizzie, yes that makes it worse < 1305313097 72352 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I seen things like looking at the first argument to decide what to do with the next few arguments < 1305313113 824289 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fizzie: prototypes in Perl are a bad idea for the same reason C++ operator overloading is a bad idea < 1305313114 717792 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, this wasn't in something like printf either < 1305313120 490474 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they make it almost impossible to figure out what a given line of code does < 1305313126 347189 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or in the case of Perl, in fact, how it parses < 1305313126 895463 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, they do? < 1305313139 815900 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, shouldn't it help static analysis? < 1305313147 29157 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, it hinders < 1305313153 759077 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Yes, the fact that the prototypes affect parsing is quite horreeble. < 1305313158 611479 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I must know how perl manages to fuck prototypes that badly < 1305313164 888858 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Parsing of all calls, that is. < 1305313167 82676 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I dread the answer, but I need to know < 1305313175 971899 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think there's a pathological case somewhere where prototypes make the difference between a slash being interpreted as a division sign, or a regex delimeter < 1305313186 534986 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, ...................... wtf < 1305313203 673827 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's not surprising Vorpal < 1305313207 18637 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :at least without prototypes, calls are parsed consistently < 1305313215 57756 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It is obvious given what prototypes are < 1305313221 942097 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :anyway here is the whole handle_m4 http://sprunge.us/RTES < 1305313224 103179 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Honestly I wish people would pick on the actually perverse aspects of Perl < 1305313224 999052 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No, wait < 1305313225 775193 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :it looks quite nasty < 1305313230 267688 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I wish Vorpal would oh never mind < 1305313237 368098 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, would what? < 1305313240 181694 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, paste it? < 1305313244 88533 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but what prototypes are, are instructions to parse calls to the functions in a certain way < 1305313251 709894 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, can you tell me from that what it does to the second argument? < 1305313260 179345 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, anyway you could easily check it on your own system < 1305313292 925774 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: $@ tells it to keep the second argument as an array rather than decomposing the array into individual arguments < 1305313306 389380 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, that second argument was the one you found worrying above < 1305313313 834884 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, so can you explain why it does it now < 1305313321 621323 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: I already explained what it did < 1305313326 558910 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I wasn't worried about its parsing < 1305313329 118696 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, yes but why I meant < 1305313337 379982 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :why != what < 1305313338 438921 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just that it expressed an operation that, although well-defined, I was scared was useful < 1305313349 680155 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305313350 962770 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, you want me to read the entire source code just to explain one line? < 1305313367 258622 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, well that function is like 30 lines or so, probably less < 1305313372 850246 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and most is a xsystem call < 1305313375 881684 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :whatever xsystem is < 1305313407 830479 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it's not a built-in function < 1305313413 225749 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah okay < 1305313422 333149 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :my guess is it's a wrapper around system(), which is similar to C's system() < 1305313432 525299 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, it is called twice in that code, but not defined < 1305313433 515151 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305313447 334145 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :it seems to include stuff from /usr/share/autoconf < 1305313449 34867 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it might be a library function < 1305313451 498796 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :yeah < 1305313457 646196 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :from a library I don't have memorised < 1305313457 955076 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :use Autom4te::General; < 1305313459 684920 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and so on < 1305313462 306968 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :An unbackslahed @ will just gobble all arguments and force list context; they still end up as separate elements in the @_ list, like they would in that call without prototypes. < 1305313510 57120 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, ah, xsystem is in /usr/share/autoconf/Autom4te/FileUtils.pm < 1305313537 106799 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :Same as C, but fails on errors, and reports the C<@argv> < 1305313537 281653 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :in verbose mode. < 1305313540 771599 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :says the pod < 1305313548 104906 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :or whatever it is called < 1305313549 982642 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :perldoc? < 1305313612 720657 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I'm scared, wc -l in /usr/share/autoconf/Autom4te/*.pm gives 3559 lines < 1305313625 597443 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why is that scary? < 1305313629 631282 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :plus 1086 for /usr/bin/autom4te < 1305313639 471542 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, if most of the logic is in the m4 part... this is absurd < 1305313642 351399 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's typical for most programming languages of about that complexity, and programs of about that complexity < 1305313653 605619 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it's mostly going to be stuff for dealing with files, directories, shells, etc < 1305313662 330878 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as in, actually finding everything relevant and running it < 1305313664 76767 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :wc -l /usr/share/autoconf/autoconf/*.m4 < 1305313667 193579 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :15397 total < 1305313669 38363 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ouch < 1305313669 887003 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Pod is the format/markup language; perldoc's the documentation-handling tool. < 1305313686 645972 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :fizzie, ah okay < 1305313727 369554 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :to put it another way, perldoc is the program with which you process pod files < 1305313734 470790 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which might contain interspersed Perl < 1305313745 191938 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :can I run it on the .pm file? < 1305313767 713524 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :# Some old m4's don't support m4exit. But they provide < 1305313767 851276 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :# equivalent functionality by core dumping because of the < 1305313767 932916 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :# long macros we define. < 1305313768 389205 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Yes. < 1305313768 673769 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :wtf < 1305313776 26872 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :that comment is so... absurd < 1305313850 884472 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :define([m4_undefine], defn([undefine])) < 1305313851 592630 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :m4_undefine([undefine]) < 1305313853 694588 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :... < 1305313856 396921 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric ::D < 1305313857 956841 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: http://www.perlmonks.org/?node_id=663393 < 1305313902 770200 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, and that's just renaming the builtin undefine function < 1305313918 926963 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I seen that proof btw < 1305313925 157460 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, it does the same for define and defn < 1305313927 105157 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: look at the bit about prototypes again < 1305313931 351054 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I have no clue what defn is for < 1305313939 48491 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"definition of" < 1305313951 31456 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :you know m4? < 1305313951 882324 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :obviously, defining m4_undefine in terms of undefine wouldn't work if you then redefined undefine < 1305313958 212463 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :instead, it's defined as the definition of undefine < 1305313963 167231 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and yes, although I'm a bit rusty on the matter < 1305313968 133040 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : instead, it's defined as the definition of undefine <-- augh < 1305314017 760106 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: what's so augh about htat? < 1305314019 179095 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*that? < 1305314058 981468 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, the logic of m4 I guess < 1305314071 37713 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :# m4_car(ARGS...) < 1305314072 7503 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think that's elegant. < 1305314072 347660 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :# m4_cdr(ARGS...) < 1305314074 103387 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :huh < 1305314085 123818 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :m4_define([m4_car], [[$1]]) < 1305314085 269598 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :m4_define([m4_cdr], < 1305314085 351621 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], < 1305314085 433586 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : [$#], 1, [], < 1305314085 433755 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : [m4_dquote(m4_shift($@))])]) < 1305314090 127351 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, is that elegant too? < 1305314094 229997 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, the m4 definition of # is beautifully insane < 1305314097 961438 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Perfectly readable < 1305314100 822335 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it doesn't actually introduce a comment, like you might think < 1305314108 740510 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :instead, it causes the entire line to be copied literally, including the # < 1305314115 930214 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I know, it uses del or something for that iirc? < 1305314121 282825 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :dnl for comments < 1305314123 788551 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305314125 739283 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :dnl it was < 1305314126 247335 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it means "discard newline" < 1305314127 152256 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305314131 588904 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but it also discards everything in between too < 1305314133 327769 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, what about # then < 1305314143 158707 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :# doesn't mean "discard newline" < 1305314146 746603 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I said what it did earlier < 1305314151 894440 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305314155 528879 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305314158 596073 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I missed your line < 1305314168 903285 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there are various other things that don't mean "discard newline", too < 1305314181 50850 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in fact, quite a lot of things don't < 1305314210 768352 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, is this also perfectly readable? http://sprunge.us/OZgU < 1305314236 645472 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: that's not really very bad at all < 1305314249 993160 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's just fully parenthesized < 1305314254 117010 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :if you say so < 1305314262 594251 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the really bad things are the bits which use multiple levels of quoting < 1305314309 675601 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, what paradigm is m4? < 1305314324 785240 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it's like cpp taken to the extreme < 1305314327 600912 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I see several functional functions defined by helper stuff to autoconf < 1305314335 154394 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :there is a map here for example < 1305314357 80659 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and a foreach < 1305314392 841042 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :m4_define([_m4_foreach], < 1305314392 978110 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :[m4_if([$#], [3], [], < 1305314393 59754 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : [m4_pushdef([_m4_f], _m4_for([4], [$#], [1], < 1305314393 141505 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : [$0_([1], [2],], [)])[_m4_popdef([_m4_f])])_m4_f($@)])]) < 1305314393 141595 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :m4_define([_m4_foreach_], < 1305314393 828505 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :[[$$1[$$3]$$2[]]]) < 1305314395 947751 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :huh? < 1305314398 466316 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's basically based on substitution, and it's easy to go functional from there < 1305314400 396976 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :much like TCL < 1305314405 406788 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah I see < 1305314412 543144 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yep, that's a better example of m4 insanity < 1305314419 73576 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, what does it do < 1305314426 594016 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the amount of quoting shenanigans going on there is making my headhurt vaguely < 1305314427 984807 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I don't know < 1305314430 931813 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305314438 469239 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :vaguely knowing m4 isn't enough to actually be able to /read/ it < 1305314439 38849 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : elliott, is this also perfectly readable? http://sprunge.us/OZgU < 1305314440 943849 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, headhurt? < 1305314447 674278 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Are control structure implementations ever pretty < 1305314452 568108 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, :D < 1305314469 684972 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, see the short example I pasted inline < 1305314489 544955 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's pretty. < 1305314496 364482 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the example pasted inline is much more insane than either of the other two things you pasted < 1305314510 563360 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, ais523 take m4_case then: http://sprunge.us/ddHj < 1305314531 84573 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, please rate insanity of it < 1305314532 457330 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's not as bad < 1305314539 431889 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :it looks worse to me < 1305314540 156870 :SgeoN1!~AndChat@ool-18bf618a.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1305314550 776389 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's [[$$1[$$3]$$2[]]] that really got me going "wtf" internally < 1305314558 480581 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, ah... < 1305314569 835313 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, any clue what that bit could possibly mean? < 1305314580 997723 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it looks like it's a doubly-quoted or triply-quoted something < 1305314586 536070 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hah < 1305314589 60115 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :designed to unquote at different stages < 1305314593 938409 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ouch < 1305314599 453988 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :sort-of like the stuff people get up to in /// < 1305314604 499634 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, what about the [] stuff there? < 1305314606 777289 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :what does that do < 1305314612 984823 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :[] is what autoconf redefines quotes to < 1305314626 982813 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's `' by default, but those are really bad quotes to have if you want to mess around with shellscript < 1305314630 40559 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, no I meant the specific empty [] in what I pasted < 1305314635 206604 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't know either < 1305314639 242958 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's part of the reason I'm so confused < 1305314652 193840 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah, perhaps it's to stop the text generated by unquoting twice merging with the next token < 1305314661 70512 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, [] interfers with if [ "$x" -eq 5 ] and so on though < 1305314670 484277 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just use test < 1305314679 457594 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305314681 859438 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :test is used rather than [] everywhere in autoconf just to avoid clashing with the quote marks < 1305314691 128769 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think [] were chosen as they match and aren't really necessary in shellscript < 1305314700 185025 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :m4_define([_m4_map_args_pair__], < 1305314700 327745 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :[[$$1([$$2], [$$3])[]]]) < 1305314700 409899 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :m4_define([_m4_map_args_pair_end], < 1305314700 491796 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :[m4_if(m4_eval([$3 & 1]), [1], [[m4_default([$$2], [$$1])([$$3])[]]])]) < 1305314703 468642 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, what about those? < 1305314722 295961 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: has this become a session of "paste random m4 and rate its insanity levels"? < 1305314728 725496 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as that isn't a massively interesting game, really < 1305314732 476205 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :aww < 1305314746 7307 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, but yeah m4 seems quite insane indeed < 1305314782 136221 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, it gets more boring in the higher level layers of autoconf btw < 1305314799 584905 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :mostly it is the stuff I can read from .ac files < 1305314846 722114 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, the stuff you write in aclocal.ac/configure.ac isn't really m4, it is a language defined in m4 by prepending a crapload of definitions. Am I right? < 1305314859 195314 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :also... /usr/share/autoconf/autoconf/erlang.m4 this scares me < 1305314886 485047 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :why does autoconf have stuff to deal with c, fortran and erlang < 1305314891 462710 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I guess c++ stuff is in the c one < 1305314897 38076 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: it is m4, but with good libraries < 1305314903 63462 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :sometimes you write more or less directly in m4, or in sh < 1305314913 321675 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's basically sh preprocessed by m4 < 1305314917 459454 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, mostly sh + autoconf for what I done < 1305314990 972467 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, I think that they tried literate m4 (except with # at start of lines) in one file... It features a nicely numbered TOC < 1305315001 389782 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :haha < 1305315015 45376 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :someone go write a file in literate cpp < 1305315019 881547 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, though the effort ends about halfway, where it seems quite non-literate after that < 1305315062 991980 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm a number of files has TOCs, but only one seems to start off in literate style < 1305315107 3271 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :i expect zzo to come up with literate phpini < 1305315110 613897 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ouch this embedded sed script is horrible to read < 1305315117 368342 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :what with all the escaping < 1305315141 589146 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, btw you don't need ` in shell script, $() is much more readable anyway < 1305315154 471278 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and also nonportable < 1305315158 328750 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :autoconf is written in /portable/ sh < 1305315163 197501 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, it is POSIX however < 1305315166 911188 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :to everything but csh/tcsh, as those two are completely irredemable < 1305315177 959431 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: if you insisted on POSIX, you wouldn't need autoconf in the first place < 1305315182 594413 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :insisting on POSIX is missing the point entirely < 1305315186 194762 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oh right < 1305315222 458787 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, actually, vxworks is certified posix, considering that, I think one might need autoconf :P < 1305315237 580695 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Vorpal: so is Windows < 1305315243 444147 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, exactly < 1305315252 566590 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, or was rather < 1305315256 276099 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I doubt they renewed that < 1305315260 35536 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :except for interix < 1305315271 901612 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523, so one still needs autoconf then < 1305315653 956136 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1305315716 453725 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 252 seconds < 1305315739 701973 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305315761 461467 :pikhq_!~pikhq@174-22-149-141.clsp.qwest.net QUIT :Ping timeout: 246 seconds < 1305315766 677846 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net JOIN :#esoteric < 1305317568 773878 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :textify :: ByteString -> ByteString < 1305317568 967656 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :textify = B8.unlines . reverse . takeWhile (/= B.empty) . reverse . map (fst . B.spanEnd (== space)) . B8.lines < 1305317572 969839 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The kind of composition dreams are made of. < 1305317713 349455 :KingOfKarlsruhe!~chatzilla@p5B14DBE4.dip.t-dialin.net QUIT :Quit: ChatZilla 0.9.86.1 [Firefox 3.6.17/20110420140830] < 1305317898 664624 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, too short < 1305317930 182216 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric ::i Handle lists GHC.MVar.MVar GHC.IO.Handle.Types.Handle__ < 1305317942 693158 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric ::i GHC.MVar.MVar GHC.IO.Handle.Types.Handle__ is too wide for the screen to display < 1305317943 682056 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric ::D < 1305317946 492921 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, ^ < 1305317954 436217 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :(:t GHC.MVar.MVar GHC.IO.Handle.Types.Handle__ can be displayed however) < 1305317964 146350 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wat? < 1305317966 894097 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :wait, that was just an error < 1305317969 744714 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :nvm < 1305317972 718778 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :but :i GHC.MVar.MVar GHC.IO.Handle.Types.Handle__ < 1305317977 774398 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :goes outside my terminal width < 1305317980 527110 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :what are you doing < 1305317992 503196 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, looking at types < 1305318034 777787 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, but come on this is silly: http://sprunge.us/iQZV < 1305318076 431276 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, don't you agree that side scrolling is absurd < 1305318094 820232 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I can't even read that type < 1305318096 802637 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Ouch. < 1305318098 930487 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, what does ! in there mean < 1305318112 71478 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :as in !dev -> GHC.IO.Handle.Types.HandleType [...] < 1305318116 194181 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :Vorpal, i find the indenting annoying in haskell < 1305318119 506005 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Strictness annotations. < 1305318122 155792 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305318123 501757 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :all sorts of indenting. < 1305318125 761452 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And, uh. < 1305318130 186095 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You're not meant to understand that. < 1305318131 113062 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No mortal is. < 1305318139 792221 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think a lot of type synonyms got together to produce that type. < 1305318152 125162 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Wait, is it strictness. < 1305318153 619098 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hmm. < 1305318162 918810 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yeah no that type is just insanely fucked, wow. < 1305318166 392089 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, what about the foreach thingy in it < 1305318166 652264 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, it is strictness. < 1305318168 601937 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Since it's a constructor. < 1305318176 690189 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :What foreach < 1305318184 475573 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :err forall < 1305318185 347675 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :There's a forall, that's just universal quantification, usually implicit < 1305318187 193365 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :typo < 1305318193 450048 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(a -> a) == (forall a. a -> a) < 1305318194 853684 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, yeah why isn't it implicit here < 1305318200 982258 :cheater666!~cheater22@ip-80-226-206-241.vodafone-net.de PRIVMSG #esoteric :forall < 1305318202 575329 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Because it's a GADT. < 1305318210 453461 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, now I'm lost < 1305318215 954331 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :isn't that an extension? < 1305318220 930639 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yes. < 1305318222 854560 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's GHC internals. < 1305318226 768268 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :They can do whatever they like. < 1305318230 575007 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305318232 517728 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :This is what you get for poking around. :p < 1305318239 89165 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, yeah :P < 1305318248 866475 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, anyway how does the ! strictness annotation work? < 1305318259 905567 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It simply means that the constructor argument is evaluated strictly. < 1305318261 16253 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :just like < 1305318267 179960 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :myCons x y z = y `seq` RealCons x y z < 1305318271 225588 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's the same as < 1305318276 548317 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :data Foo = RealCons x [exclamation mark]y z < 1305318283 269517 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :except that you could just use RealCons directly < 1305318284 494745 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you get the idea < 1305318292 737572 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and that's just that for GADTs < 1305318296 48019 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, ah, but will it have any effect if I put ! on a type signature of myself? < 1305318301 296283 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yes. < 1305318304 578135 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, no. < 1305318307 722462 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Constructor signature, yes. < 1305318310 554513 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305318315 345185 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Which you only find in GADTs. < 1305318319 723646 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I see < 1305318323 83383 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Normally you'd just put it before the field name in regular old ADT syntax. < 1305318334 905150 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I see < 1305318353 22954 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, anyway that thing is badly fucked < 1305318364 684270 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No it isn't. < 1305318370 111638 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It just uses a lot of type synonyms. < 1305318380 767926 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's like decompiling the type. < 1305318384 94653 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Look at the source. :p < 1305318387 952336 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or don't, because it won't make any more sense. < 1305318406 791737 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I don < 1305318414 299952 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :don't* even know where the source is < 1305318419 245666 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :not on this system anyway < 1305318419 617734 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Uh. < 1305318422 440478 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :haskell.org/ghc/... < 1305318440 37096 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or apt-get source ghc[six] < 1305318442 451897 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I meant... "presumably it is in some weird runtime internal part of it" < 1305318462 160359 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No, that'll just be in the low-level library part thing. < 1305318464 559042 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Doesn't look like C code. < 1305318468 754888 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I mean, christ, IO is defined in Haskell. < 1305318477 439987 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, oh, I thought GHC.foo was runtime stuff? < 1305318483 301523 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, what parts *are* in C then < 1305318486 809216 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :seq I assume < 1305318489 24111 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The RTS. < 1305318491 593200 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No, seq isn't. < 1305318495 893453 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :*how* < 1305318501 461218 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Bang patterns. < 1305318503 846115 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305318506 314970 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, isn < 1305318513 221413 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :s/isn// < 1305318513 448169 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hm, wait. < 1305318516 762054 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It may actually be internal in GHC. < 1305318523 74662 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It doesn't need to be if you have bang patterns, though. < 1305318543 420725 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, anyway, which stuff would be in pure C, certainly (+) for Int I guess? < 1305318582 332483 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No, I'd expect that to be in the compiler backend... < 1305318585 669023 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305318602 958080 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, so which functions are in the ever-elusive RTS? < 1305318611 166173 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Uhh, the GC is. < 1305318615 532951 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't think you understand what the RTS is. < 1305318622 422349 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :probably not < 1305318632 69123 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :the ffi I guess is in the compiler backend < 1305318649 721029 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, so the RTS is just the GC? Nothing else? < 1305318667 958761 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :X_X < 1305318669 453518 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :RTFSource < 1305318676 672976 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, you told me not to above! < 1305318685 28298 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I said it wouldn't make any more sense. < 1305318688 285885 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305318688 672240 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Which is true, it won't. < 1305318695 81415 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://www.haskell.org/ghc/dist/7.0.3/ghc-7.0.3-src.tar.bz2 < 1305318706 481531 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305318747 780360 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The rts/ directory may be relevant. :p < 1305318755 60803 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And not a line of Haskell in site. < 1305318793 936449 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, did you mean in sight? < 1305318798 126121 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yes. < 1305318799 38237 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Typo. < 1305318801 389958 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :right < 1305318815 275445 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, one last question tonight (excluding possible follow up questions): at which level does IO (as in getline and so on) leave the world of haskell and enter the realm of C? Does it use the ffi perhaps? Or does it use special compiler support? < 1305318828 130893 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :(or perhaps runtime) < 1305318830 696513 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The question is incoherent. < 1305318837 583934 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, how so? < 1305318853 871 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :In that I simply do not understand it and suspect your understanding of things is wrong in a way that I can't describe. < 1305318893 292884 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, basically when getLine for example is evaluated in main, at some point it must translate into a call to for example the read() syscall < 1305318907 399411 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :after various buffering and so on < 1305318917 260255 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, are you with me so far? < 1305318931 102403 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I really think source diving is the best idea here. < 1305318934 879116 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm not the best explainer. < 1305318942 602506 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, but do you know the answer? < 1305318961 932909 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I know basically how it works; not the low-level details, but I'm fairly sure I have a semi-decent grasp on that part. < 1305318971 790248 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Note that the libraries folder contains "low-level" Haskell stuff too. < 1305319023 979070 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, anyway the question is really quite simple: how does a call to getLine leave the world of 100% haskell and call libc? Does it do it through the FFI stuff of haskell or is it done in some other way? < 1305319041 238433 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :RTS. < 1305319070 888864 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, was that RTS = RunTimeSystem? Or RTS = Read The Source? < 1305319098 966822 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :First. < 1305319118 769304 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, hm weird they don't simply use the FFI, that seems neater somehow < 1305319127 759624 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No, it wouldn't. < 1305319136 567937 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Since the FFI has to leave magic-Haskell-land too. < 1305319146 383895 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And why would GHC tie itself to C's API? < 1305319189 282622 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, well yes, but if this used the FFI that would mean a more unified way to do it, but I guess if you want to port it to platforms without a standard library it makes sense to put it in the RTS < 1305319228 243515 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :now I want to see ghc on bare metal :D < 1305319238 5486 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Been done. < 1305319245 243309 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://programatica.cs.pdx.edu/House/ < 1305319245 478009 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, ooh, nice < 1305319277 508689 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :pretty < 1305319375 324434 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :night → < 1305319378 179432 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Oh, and < 1305319381 596802 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :yes? < 1305319381 679124 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #)) < 1305319386 61687 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :is the IO monad itself. < 1305319390 951306 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, hm... nice < 1305319393 277282 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(libraries/ghc-prim/GHC/Types.hs) < 1305319398 875508 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, State#? < 1305319406 649903 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: It's this magic thing. < 1305319406 744056 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :and uh what is the lone # there < 1305319409 806658 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's used for both IO and ST. < 1305319416 477191 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And it's (# a, b #). < 1305319417 989054 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Unboxed tuple. < 1305319422 434749 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :aha < 1305319424 216779 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i.e. equivalent to just pushing two things on the stack. < 1305319437 528444 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I'm a bit surprised haskell allows that < 1305319437 768327 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's basically a glorified messed up unboxed strictstate monad. < 1305319440 826430 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :[asterisk]strict state < 1305319441 920202 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: It doesn't. < 1305319443 894986 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's GHC. < 1305319448 543521 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, ah < 1305319462 272532 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, so a language extension, presumably considered unsafe too? < 1305319467 392185 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's not really unsafe. < 1305319473 546564 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm okay < 1305319474 500743 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But yes, it's an extension. < 1305319488 423268 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, doesn't the compiler automatically try to unbox stuff iirc? < 1305319511 764578 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sort of not really. < 1305319522 793548 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oh, that makes me sad < 1305319531 637426 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :easy to optimise some stuff that way < 1305319540 140266 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It does. < 1305319546 276429 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But not zealously because that would be dumb. < 1305319554 168568 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :unsafePerformIO :: IO a -> a < 1305319554 250762 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :unsafePerformIO m = unsafeDupablePerformIO (noDuplicate >> m) < 1305319554 250928 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :{-# NOINLINE unsafeDupablePerformIO #-} < 1305319554 251029 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :unsafeDupablePerformIO :: IO a -> a < 1305319554 251141 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :unsafeDupablePerformIO (IO m) = lazy (case m realWorld# of (# _, r #) -> r) < 1305319562 3266 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :noDuplicate :: IO () < 1305319562 178470 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :noDuplicate = IO $ \s -> case noDuplicate# s of s' -> (# s', () #) < 1305319565 725837 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :wow < 1305319581 428873 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :what is dupable IO? < 1305319587 393226 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :No such thing. < 1305319600 129371 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :This version of 'unsafePerformIO' is slightly more efficient, < 1305319600 275424 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because it omits the check that the IO is only being performed by a < 1305319600 357240 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :single thread. Hence, when you write 'unsafeDupablePerformIO', < 1305319600 357336 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :there is a possibility that the IO action may be performed multiple < 1305319600 357377 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :times (on a multiprocessor), and you should therefore ensure that < 1305319600 632551 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it gives the same results each time. < 1305319607 499806 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :aha < 1305319616 85182 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :noDuplicate just does magic to prevent that. < 1305319635 577412 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, what is that lazy function? < 1305319670 255106 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's even IN THE DAMN MANUAL. < 1305319673 63727 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305319689 341236 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I tried :i lazy in ghci, but I guess it is in a different package < 1305319705 420736 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's not a function. < 1305319712 195646 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305319724 25094 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, it might be but it doesn't act like one. < 1305319737 647359 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, so where is it then, haskell.org times out for me atm... < 1305319750 587294 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm finding it in the quagmire that is the manual. < 1305319807 859918 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: http://www.haskell.org/ghc/docs/7.0.3/html/libraries/base-4.3.1.0/GHC-Exts.html#g:7 < 1305319825 298061 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ACTION waits for it to load < 1305319830 599698 :invariable!~variable@unaffiliated/variable JOIN :#esoteric < 1305319836 61483 :variable!~variable@unaffiliated/variable QUIT :Quit: /dev/io failed < 1305319845 721481 :invariable!~variable@unaffiliated/variable NICK :variable < 1305319846 420759 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I wonder why it is so slow today < 1305319852 272482 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :WFM < 1305319879 211540 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, huh, "it is lazy in its first argument, even though its semantics is strict." what does that even mean < 1305319883 233566 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Magic. < 1305319905 850633 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305319942 443888 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(I# x) `plusInt` (I# y) = I# (x +# y) < 1305319944 874617 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :WELL THAT EXPLAINS IT THEN < 1305319960 168475 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(+#) :: Int# -> Int# -> Int# < 1305319960 439424 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(+#) = let x = x in x < 1305319964 350079 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I HAVE A FEELING THIS WAS ADDED JUST FOR HADDOCK < 1305319973 731482 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(In fact I know it was: < 1305319974 106263 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :{- < 1305319974 217344 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :This is a generated file (generated by genprimopcode). < 1305319974 299080 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It is not code to actually be used. Its only purpose is to be < 1305319974 299255 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :consumed by haddock. < 1305319974 653101 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-} < 1305319976 645786 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :) < 1305319998 308290 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, elliott where is the plusInt stuff from? < 1305320013 907167 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :err why two "elliott" < 1305320016 355685 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I need sleep < 1305320018 848360 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :GHC.Exts. < 1305320028 468769 :mtve!~mtve@65.98.99.53 JOIN :#esoteric < 1305320064 925811 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :plusInteger :: Integer -> Integer -> Integer < 1305320065 147755 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :plusInteger i1@(S# i) i2@(S# j) = case addIntC# i j of < 1305320065 229645 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (# r, c #) -> < 1305320065 229716 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : if c ==# 0# < 1305320065 229787 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : then S# r < 1305320065 483620 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : else plusInteger (toBig i1) (toBig i2) < 1305320067 276790 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :plusInteger i1@(J# _ _) i2@(S# _) = plusInteger i1 (toBig i2) < 1305320069 367589 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :plusInteger i1@(S# _) i2@(J# _ _) = plusInteger (toBig i1) i2 < 1305320071 598096 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :plusInteger (J# s1 d1) (J# s2 d2) = case plusInteger# s1 d1 s2 d2 of < 1305320073 709196 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : (# s, d #) -> J# s d < 1305320075 635897 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :IT IS ALL CLEAR NOW < 1305320099 375906 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, I like +#, I wonder what that does < 1305320101 650815 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Heh -- GHC.Integer.GMP.Internals uses the FFI. < 1305320107 844319 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :foreign import prim "integer_cmm_plusIntegerzh" plusInteger# < 1305320108 49447 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : :: Int# -> ByteArray# -> Int# -> ByteArray# -> (# Int#, ByteArray# #) < 1305320113 657932 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Adds unboxed ints. < 1305320113 990917 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, nice < 1305320118 94619 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :aha < 1305320168 2028 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Seems I lied; GHC doesn't default to utf-eight, it determines it based on the locale. < 1305320174 549859 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1305320186 202351 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, LC_CTYPE? < 1305320199 159130 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Dunno. < 1305320208 291266 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :(+#) = let x = x in x < 1305320209 743322 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hm < 1305320219 146407 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :oh yeah for the doc gen < 1305320243 432562 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, that is a weird placeholder < 1305320259 889081 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's just "fix id" without any dependencies :P < 1305320266 185474 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Purest infinite loop. < 1305320303 859523 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, couldn't they simply make it (+#) = x or some such? < 1305320316 594507 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :err well < 1305320327 320719 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :(+#) a a = a < 1305320329 223340 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :or such < 1305320345 755463 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :well, a b < 1305320347 64272 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :rather < 1305320365 377492 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott, anyway, night < 1305320369 466662 :Vorpal!~AnMaster@unaffiliated/anmaster QUIT :Quit: ZNC - http://znc.sourceforge.net < 1305320633 407790 :ajf|offline!~~ajf@78.129.159.151 NICK :ajf < 1305321200 583406 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :LispIDE fails in the same way as newLISP-GS < 1305321205 166832 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :ACTION mindboggles < 1305321220 882431 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :have you tried ctrl+j < 1305321233 838218 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :? < 1305321294 124512 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :to newline and indent < 1305321315 673604 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :if the issue all along has been taht you fail at emacs bindings < 1305321316 142946 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then < 1305321317 123042 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :LOL < 1305321373 579755 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Ctrl-J does nothing in newLISP-GS, and does newline but not indent in LispIDE < 1305321413 866994 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :(I have no problems with how emacs indents, although I didn't know about C-j < 1305321442 597534 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :have you tried < 1305321444 604421 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pressing the tab key < 1305321468 217526 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :have you tried not using newLISP-GS or LispIDE < 1305321479 106676 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :elliott, yes.. it tabs. Unintelligently < 1305321483 278116 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I want intelligent tabbing < 1305321505 438660 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :monqy, but it's just so tempting to try something other than emacs... but everything sucks < 1305321506 326626 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :newLISP-GS? < 1305321514 690947 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :emacs is rad you should use emacs < 1305321519 975357 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric : I'm cool with vim < 1305321521 404519 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Phantom_Hoover, IDE that newLISP comes with < 1305321523 666953 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or vim < 1305321524 705967 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :either is cool < 1305321537 3997 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :emacs is probably cool too but I'm not good at the keybindings < 1305321537 249928 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :as is something that isn't either < 1305321537 941082 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :So, in other news, I am now on exam leave. < 1305321541 923149 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but fuck newlisp-gs < 1305321543 279493 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :and I like hjkl < 1305321546 597381 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom_Hoover: ill leave YOUR exams < 1305321548 262871 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hjkl is great < 1305321549 875869 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :With almost a fortnight until the next exam. < 1305321563 163000 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I should probably try to get Racket working in emacs < 1305321574 891938 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :But doing that would mean breaking my reliance on Lispboxen < 1305321588 484866 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Racket or Chicken < 1305321592 192520 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :lispboxen? < 1305321618 977467 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :monqy, I played with ClojureBox a while ago, and am now playing with LispBox. It's a Lisp packaged together with emacs < 1305321638 111556 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is it a good lisp < 1305321656 9526 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :It itself isn't a Lisp. It comes with Clozure Common Lisp < 1305321671 52643 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :is that a good lisp < 1305321682 193120 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :monqy, I'm not CL-savvy enough to compare CLs < 1305321996 373950 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Sgeo, are you on Windows? < 1305322001 662509 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Yes < 1305322007 679468 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Oh. Carry on. < 1305322012 569540 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :There's no hope for you anyway. < 1305322075 655316 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :(I was *going* to suggest using SBCL with manually-configured SLIME like normal people, but you clearly can't use SBCL and your Emacs setup is not something I want to think about right now.) < 1305322098 509491 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :There's a Windows port of SBCL < 1305322100 96644 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :I think < 1305322161 279688 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It sucks. < 1305322352 148155 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :try not using windows < 1305323317 602243 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :any dutch people in here? < 1305323350 837433 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :... < 1305323388 947478 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :WHAT ELLIOTT < 1305323393 629784 :augur!~augur@129.2.129.32 PRIVMSG #esoteric :WHY ARE YOU ALWAYS JUDGING ME < 1305323404 363922 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :wat < 1305324599 525580 :augur!~augur@129.2.129.32 QUIT :Remote host closed the connection < 1305324744 546927 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1305325103 725643 :hiato!~nine@clam.leg.uct.ac.za QUIT :Ping timeout: 248 seconds < 1305325216 414963 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Bwahahaha < 1305325231 641649 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Ha ha ha < 1305325234 343389 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Since I stopped following Dresden Codak, the latest arc still hasn't pulled itself out of single digits. < 1305325411 822474 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Oh my god it's even better than that. < 1305325425 166336 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :In the 3 months or so since I stopped reading, there have been a whole two comics. < 1305325531 388847 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :Ever since making the comic full-time, his update schedule has *dropped*. < 1305325545 414277 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :Yes, THIS IS HIS DAY JOB. < 1305325596 479765 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :...waitwhat? < 1305325628 565739 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Ha ha ha < 1305325641 99667 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :Phantom_Hoover: Dresden Codak *is his day job*. < 1305325648 114065 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :...how... < 1305325653 376489 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Oh, wait, nerds. < 1305325657 982159 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :Yes. < 1305325660 842048 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :Nerds like merch. < 1305325669 518417 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Easiest people on the planet to wring cash from. < 1305325696 435044 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :Not really. You have to actually have something that appeals to them. Which isn't as easy at it seems. < 1305325704 649069 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :However, with that accomplished, you're getting fucktons. < 1305325726 973172 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :What does he even *do* all day? < 1305325748 374350 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :Be OCD about the art. < 1305325812 347815 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Clearly, since the plots and characters are paper-thin. < 1305325826 782564 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1305325854 74409 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :It *does* show that he is used to writing one-offs. < 1305325919 610486 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :His plots and characters are perfectly fleshed out for that context. His longer plot(s?) seem to really push it, though. < 1305325978 946994 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :One does not need plots and characters for one-offs. < 1305326022 266240 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :They help, though. Only minimal development is needed on them, though. < 1305326136 577659 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I would debate whether the caricatures developed by one-offs really count as characters. < 1305326147 21824 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Or if basic setting counts as plot. < 1305326220 179424 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :*Anyways*, point is, he seems just straight-up not used to writing well-developed stories. < 1305326229 855006 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Naturally. < 1305326267 258511 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net PRIVMSG #esoteric :And his art has an obscene amount of attention to detail. < 1305326267 594518 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I'm sure this extends to a more general point, but the only other strip I can think of off-hand that went from one-offs to plots is Casey & Andy, and it doesn't really fit. < 1305326471 903751 :MigoMipo!~John@84-217-4-178.tn.glocalnet.net QUIT :Read error: Connection reset by peer < 1305326718 947849 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Conclusion: Dresden Codak will be put in the Library of Crapness on Mars. < 1305326835 101194 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Also, people who cannot draw men so draw women instead and claim that they're men will be exiled to Phobos, but that's an irrelevant aside. < 1305327280 52057 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Quit: Leaving. < 1305327381 410253 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Apparently the Akagi manga has no women because the author cannot draw women very well < 1305327550 871739 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi QUIT :Ping timeout: 250 seconds < 1305327904 643826 :quintopia!~quintopia@unaffiliated/quintopia QUIT :Ping timeout: 252 seconds < 1305328254 815336 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi JOIN :#esoteric < 1305328602 473410 :quintopia!~quintopia@unaffiliated/quintopia JOIN :#esoteric < 1305328759 279237 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Goodnight < 1305329018 269212 :elliott!~elliott@unaffiliated/elliott QUIT :Ping timeout: 246 seconds < 1305329166 378341 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory QUIT :Remote host closed the connection < 1305329190 754103 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1305329589 63763 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :Did Valve deliberately include a non-paradox in a poster of paradoxes? < 1305329664 155427 :monqy!~chap@pool-71-102-217-117.snloca.dsl-w.verizon.net PRIVMSG #esoteric :did they? < 1305329715 69872 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :"Does a set of all sets contain itself?" is not a paradox < 1305329804 296356 :pikhq_!~pikhq@174-22-166-48.clsp.qwest.net JOIN :#esoteric < 1305329825 27611 :pikhq!~pikhq@71-219-226-64.clsp.qwest.net QUIT :Ping timeout: 260 seconds < 1305330005 473903 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net PRIVMSG #esoteric :http://cloud.steampowered.com/ugc/594685399013523781/6ADB57123D73270F2957B9EE32B6DFF91A1C0AEE/ < 1305330261 312878 :FireFly!~firefly@unaffiliated/firefly QUIT :Quit: swatted to death < 1305330407 528386 :ajf!~~ajf@78.129.159.151 PRIVMSG #esoteric :Sgeo: it is a paradox < 1305330746 416001 :ajf!~~ajf@78.129.159.151 PRIVMSG #esoteric :!c printf("%d", sizeof(type)); < 1305330749 903940 :EgoBot!Gregor@codu.org PRIVMSG #esoteric :​Does not compile. < 1305330776 548785 :ajf!~~ajf@78.129.159.151 PRIVMSG #esoteric :!c const size_t a = 7; printf("%d", sizeof(a)); < 1305330779 9976 :EgoBot!Gregor@codu.org PRIVMSG #esoteric :​8 < 1305330792 999992 :ajf!~~ajf@78.129.159.151 PRIVMSG #esoteric :!c const size_t a = 12; printf("%d", sizeof(a)); < 1305330794 892447 :EgoBot!Gregor@codu.org PRIVMSG #esoteric :​8 < 1305330802 176004 :ajf!~~ajf@78.129.159.151 PRIVMSG #esoteric :hm. < 1305330902 724638 :pikhq_!~pikhq@174-22-166-48.clsp.qwest.net PRIVMSG #esoteric :type is undefined, so sizeof(type) will fail. < 1305330903 636034 :pikhq_!~pikhq@174-22-166-48.clsp.qwest.net PRIVMSG #esoteric ::) < 1305331109 950489 :Lymia!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :!c int i;for(i=0;i<1000;i++){((unsigned char*)main)[i]=42;} < 1305331111 840172 :EgoBot!Gregor@codu.org PRIVMSG #esoteric :​./interps/gcccomp/gcccomp: line 52: 32648 Segmentation fault /tmp/compiled.$$