< 1345766420 235583 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :one is that v qvqa'g erpbtavmr gur dhrel fgevat ohvyqvat nf hafnsr vzzrqvngryl < 1345766460 290096 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :and also v unq gb cbxr nebhaq va fdyvgr qbpf gb svaq bhg ubj gb rssrpgviryl nqq ebjf gb n fryrpg, pbagebyyvat bayl gur cneg bs gur dhrel v qvq < 1345766468 669932 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe I should switch back to urxvt, which has built-in rot13. < 1345766473 213122 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :it does?? < 1345766481 225118 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ctrl-right-click < 1345766488 578502 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :At least my installation does. Maybe it's a script that comes with it. < 1345766500 909334 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :jesus < 1345766502 600310 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :that's ridiculous < 1345766550 148327 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`run echo urxvt | tr a-z n-za-m < 1345766553 669406 :HackEgo!codu@codu.org PRIVMSG #esoteric :hekig < 1345766571 153460 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :vad hekigt < 1345766573 501253 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :^rot13 shachaf@carbon < 1345766573 880319 :fungot!fis@selene.zem.fi PRIVMSG #esoteric :funpuns@pneoba < 1345766598 59048 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^rot13 hydrogen helium lithium beryllium boron < 1345766598 684492 :fungot!fis@selene.zem.fi PRIVMSG #esoteric :ulqebtra uryvhz yvguvhz orelyyvhz obeba < 1345766631 293470 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :shachaf: your name rot13s to funpuns? seriously? < 1345766642 229957 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^rot13 nitrogen oxygen fluorine neon < 1345766642 915853 :fungot!fis@selene.zem.fi PRIVMSG #esoteric :avgebtra bkltra syhbevar arba < 1345766650 693430 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :shachaf: that is amazing < 1345766664 200841 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^rot13 kmc oerjan < 1345766664 778113 :fungot!fis@selene.zem.fi PRIVMSG #esoteric :xzp brewna < 1345766672 358636 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :^rot13 keegan < 1345766672 827602 :fungot!fis@selene.zem.fi PRIVMSG #esoteric :xrrtna < 1345766691 841913 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :furrfu < 1345766695 106685 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :^rot13 ørjan < 1345766695 597899 :fungot!fis@selene.zem.fi PRIVMSG #esoteric :øewna < 1345766701 900342 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Oh, you didn't know? < 1345766707 770773 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :no < 1345766715 963621 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :is this why you like puns so much < 1345766733 230003 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe it's my name because my mother likes puns so much. < 1345766740 893738 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Apparently I suck at understanding hints < 1345766760 803240 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(She was very pleased when I pointed it out, maybe 13 years later.) < 1345766771 787375 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sgeo: What was your hint? < 1345766810 48438 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :^rot13 Filip < 1345766810 520198 :fungot!fis@selene.zem.fi PRIVMSG #esoteric :Svyvc < 1345767054 361792 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: A lot of these puzzles are tricky to exploit, but things that would've never come up when writing the code in the first place, or reviewing someone else's code. < 1345767108 815705 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Mostly because the whole thing is flawed in a lot of ways -- just most of them happen not to be exploitable. < 1345767166 997805 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I'm scared that I may end up writing that sort of code < 1345767173 795967 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess that doesn't apply to all of them. < 1345767309 849406 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :shachaf: I don't really agree < 1345767326 399829 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :well, i agree that the examples are a bit contrived < 1345767349 55998 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :but they are holes you see in real programs, and things you would want to look for in review < 1345767368 468228 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Right. < 1345767393 946019 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess what annoys me is the idea of reviewing exclusively for security holes, rather than other design issues. < 1345767403 888492 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But of course the latter can be a much bigger change. < 1345767422 900111 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :well, other design issues are outside the scope of this challenge :) < 1345767428 709766 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :maybe i'm missing the context of your complaint < 1345767469 584784 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :having lots of other issues makes it a more realistic challenge < 1345767511 795452 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's true. < 1345767541 773839 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :and i think there is value in reviewing just for security holes < 1345767547 832966 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :having a separate person thinking about that all the time < 1345767564 44751 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure. < 1345767569 628126 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :with the caveat that they should be allowed to say "i don't see a hole in your code, but it's so poorly designed that i deem it insecure anyway' < 1345767584 769909 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :but this should be a higher bar than merely ugly code < 1345767619 829028 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :it's difficult as a reviewer to find that middle ground of "i would do this a different way, and i find your way gross, but i won't make you redo it" < 1345767689 88104 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe I just mean that I'd rather have a challenge where there's some security hole but the puzzles still seem like "good code". < 1345767702 913841 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :yeah < 1345767707 309665 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Even though that might be less realistic. :-) < 1345767713 72856 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :well i don't think the code in this set is too bad < 1345767740 488682 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :except for the PHP levels, because they are written in PHP < 1345767754 35461 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Can anyone write good code in PHP, kmc? < 1345767772 631923 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :http://underhanded.xcott.com/ Related < 1345767775 817823 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :"""Do not tell me that “good developers can write good code in any language”, or bad developers blah blah. That doesn’t mean anything. A good carpenter can drive in a nail with either a rock or a hammer, but how many carpenters do you see bashing stuff with rocks? Part of what makes a good developer is the ability to choose the tools that work best.""" < 1345767781 936647 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :FreeFull: yeah, i like that thing < 1345767791 679651 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i have plans to run an updated and more free-form version of it < 1345767825 40528 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Can God create a programming language so terrible that even God can't write good code in it? < 1345767831 718502 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(And is Rasmus Lerdorf God?) < 1345767842 860526 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION wants eve and mallory's secrets < 1345767853 977632 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sgeo: They are available. < 1345767859 736679 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you can get bob's secret you can get them. < 1345767860 987259 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :shachaf: that would explain a lot < 1345767863 87553 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :dinner, bbl < 1345767870 37736 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :shachaf, working on it < 1345767913 336547 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :shachaf: A programming language that doesn't allow you to write any code would fulfill that purpose < 1345767943 792706 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :FreeFull: You don't think there's such a thing as "code so bad it doesn't even compile"? < 1345768004 185848 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :shachaf: With this language, no code compiles < 1345768026 479914 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Exactly. < 1345768030 620890 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh. < 1345768043 903586 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION got it backwards. < 1345768103 886698 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Well, brainfuck will compile anything < 1345768113 194205 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Ok] < 1345768253 618242 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I would think that yes God can create a programming language so terrible that even God can't write good code in it. < 1345768382 215390 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :And yes one way is one that no code is valid. < 1345768949 544286 :kinoSi!~kinosi@27-96-32-84.ipq.jp QUIT :Read error: Connection reset by peer < 1345768951 71277 :TeruFSX!~quassel@174-20-4-203.mpls.qwest.net JOIN :#esoteric < 1345768977 23004 :kinoSi!~kinosi@27-96-32-84.ipq.jp JOIN :#esoteric < 1345769187 297359 :ion!ion@heh.fi PRIVMSG #esoteric :PHP < 1345769235 876595 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Argh < 1345769460 203178 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Ok, kmc went afk < 1345769464 200856 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :no wonder he's not helping me < 1345769518 566169 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :There's one blatantly obvious flaw in this code, and it's taunting me with my inability to abuse it < 1345769605 847999 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Just realized I have other things I really need to do < 1345770889 431947 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1345771370 577284 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1345773442 25816 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net JOIN :#esoteric < 1345773479 774922 :pikhq_!~pikhq@71-34-136-187.clsp.qwest.net QUIT :Ping timeout: 260 seconds < 1345773487 644616 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sgeo: Why are you unable to abuse it? < 1345773519 650305 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :shachaf, well, it only allows one SQL statement, but kmc gave me a hint about that, but right now working on something more important < 1345773541 131172 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Surely you mean FDY statement! < 1345773659 268481 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :-_- < 1345774045 774347 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is a monad always covariant in its argument? < 1345774069 617327 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I guess it would have to be since you can write fmap. < 1345774273 449819 :Tod-Autojoined!~Tod@166-70-93-209.ip.xmission.com JOIN :#esoteric < 1345774329 599408 :vxhex!~rico@unaffiliated/vxhex JOIN :#esoteric < 1345774395 286849 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i think that's more correctly stated as "Is Monad covariant in its argument?" < 1345774421 635816 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is it? I mean "are instances of Monad covariant in their argument". < 1345774426 14580 :TodPunk!~Tod@166-70-93-209.ip.xmission.com QUIT :Ping timeout: 244 seconds < 1345774428 343951 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :For example, Reader is covariant in its argument. < 1345774437 320109 :TodPunk!~Tod@166-70-93-209.ip.xmission.com JOIN :#esoteric < 1345774448 488426 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :what do you mean? < 1345774471 51294 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :do you mean (Reader t)? < 1345774482 24410 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Er, yes. < 1345774493 12285 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sorry. (Reader t) is the instance of Monad, though. < 1345774496 455360 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i don't know what "covariant" means in Haskell in general < 1345774503 461971 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :the usual meaning relates to subtyping, which Haskell lacks < 1345774511 869839 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :but a "covariant functor" is a particular kind of thing < 1345774522 893803 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :and every Monad is a covariant functor, yes < 1345774530 118401 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :it's the usual sort of functor captured by the Functor class < 1345774536 250876 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Right. < 1345774542 964902 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :and yeah, i think your phrasing is more correct < 1345774550 39335 :Tod-Autojoined!~Tod@166-70-93-209.ip.xmission.com QUIT :Ping timeout: 256 seconds < 1345774550 211868 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :don't know what mine would mean -_- < 1345774568 818163 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think saying that a type is covariant in a means that a only appears only to the left of an even number of ->s < 1345774608 634613 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you look at -> as the branch of a tree, that is. < 1345774623 756189 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So "a" is covariant in "a", and so is ((a -> r) -> r) < 1345774644 569483 :copumpkin!~copumpkin@unaffiliated/copumpkin NICK :dishonestbob < 1345774645 515165 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But not (a -> r) < 1345774665 81884 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :oh, so you're asking whether the implementation of every monad (the RHS of data Foo t = ...) must satisfy this? < 1345774684 129945 :Tod-Autojoined!~Tod@166-70-93-209.ip.xmission.com JOIN :#esoteric < 1345774698 401171 :dishonestbob!~copumpkin@unaffiliated/copumpkin NICK :copumpkin < 1345774726 803164 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Right. < 1345774747 570249 :TodPunk!~Tod@166-70-93-209.ip.xmission.com QUIT :Ping timeout: 240 seconds < 1345774757 818157 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And I think it does, and any covariant functor (i.e. Functor) must satisfy it in general. < 1345774768 335643 :Tod-Autojoined!~Tod@166-70-93-209.ip.xmission.com QUIT :Client Quit < 1345774784 632760 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Whereas a contravariant functor (i.e. Contravariant) must satisfy the reverse. < 1345775230 927185 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :edwardk says that for newtype Search f a = Search { optimum :: f a -> a }, instance Contravariant f => Monad (Search f) < 1345775259 918418 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And that this is a fun exercise to prove, or something. < 1345775278 504237 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :it's not too hard to write, iirc < 1345775281 963673 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric :djinn can probably do it < 1345775297 502768 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn-add newtype Search f a = Search (f a -> a) < 1345775297 724612 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Cannot parse command < 1345775301 645278 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn-add data Search f a = Search (f a -> a) < 1345775340 236866 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn ((a -> b) -> f b -> f a) -> (c -> d) -> Search f c -> Search f d < 1345775340 418872 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Error: kind error: (KVar 5,KVar 2) < 1345775359 458178 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn ((a -> b) -> f b -> f a) -> (c -> d) -> (f c -> c) -> f d -> d < 1345775359 630298 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :-- f cannot be realized. < 1345775376 695572 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I already wrote this, actually. < 1345775407 474542 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn ((a -> b) -> f b -> f a) -> a -> (f a -> a) -> a < 1345775407 667076 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :f _ a _ = a < 1345775425 627971 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn ((a -> b) -> f b -> f a) -> a -> f a -> a < 1345775425 818649 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :f _ a _ = a < 1345775432 143545 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm. < 1345775448 18428 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn ((a -> b) -> f b -> f a) -> (f (f a -> a) -> a) -> f a -> a < 1345775448 183814 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :-- f cannot be realized. < 1345775456 695463 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oops, c and d. < 1345775463 486570 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn ((a -> b) -> f b -> f a) -> (f (f c -> c) -> c) -> f c -> c < 1345775463 632588 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :-- f cannot be realized. < 1345775502 583637 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn-add class Covariant f where contramap :: (a -> b) -> f b -> f a < 1345775507 574249 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ah, djinn supports classes. < 1345775519 152248 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn Contravariant f => (f (f c -> c) -> c) -> f c -> c < 1345775519 320193 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Error: Class not found: Contravariant < 1345775524 927872 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION sighs. < 1345775528 838162 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@djinn Covariant f => (f (f c -> c) -> c) -> f c -> c < 1345775529 21880 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :-- f cannot be realized. < 1345775535 8007 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION stops djinnspamming. < 1345775755 609520 :TodPunk!~Tod@166-70-93-209.ip.xmission.com JOIN :#esoteric < 1345775876 201069 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :we found a level where shachaf and i have completely different solutions :) < 1345775881 388084 :vxhex!~rico@unaffiliated/vxhex PART :#esoteric < 1345775886 921966 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :and probably mine is an unintended hole :) < 1345776371 712752 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: They were talking in the CTF channel earlier about fixing some unintended holes. Maybe yours was one of them. < 1345776385 850578 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :The Functor class is only for endofunctors of (->) category. < 1345776399 453416 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I would try to find out but I think I got my level 6 into an unusable state. < 1345776445 121960 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :do you know which unintended holes? < 1345776506 354797 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No -- the channel was mostly (a) people asking for spoilers, (b) people giving spoilers, and (c) people talking about when the servers that went down will be back up. < 1345776527 995445 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I only cared about (c) so I tried to avoid reading spoilers about other levels. < 1345776533 543946 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :That newtype Search f a = Search { optimum :: f a -> a } I have also called Algebra (as a F-algebra is). I also think that if f is Predicate you get the "infinite search" monad that someone else described, and I think also (CodensityAsk Predicate) is also the same, too! < 1345776734 523338 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: No, it's not an algebra when f is contravariant. < 1345776755 62600 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :shachaf: Well, yes, you are correct; nevertheless it is what I called that type. < 1345776785 505814 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"infinite search" is where it gets its name, though, yes. < 1345776788 262594 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Contravariant functor would be a functor from (->) category to its opposite, or vice versa. Therefore it is a functor and follows the same laws as a functor because it is a functor. Actually, there are other things can you can simply say, this must be a functor, etc < 1345776803 617051 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know whether (CodensityAsk Predicate) is also the same, too as well. But it's possible. < 1345776822 823179 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :shachaf: I think I have once proven that it is the same, by the Yoneda lemma. < 1345776835 179683 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know what CodensityAsk is. < 1345776873 682871 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :newtype CodensityAsk f x = CodensityAsk { runCodensityAsk :: forall z. f z -> (x -> z) -> z }; < 1345776897 310013 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :It is always a Monad. If f is Comonad then (CodensityAsk) is also a MonadPlus. < 1345776909 763599 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :It is always a Monad. If f is Comonad then (CodensityAsk f) is also a MonadPlus. < 1345776954 214083 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :There is also CodensityAskT which every "z" in that definition would be "m z" instead < 1345777001 669190 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :OH GOD I HATE MYSELF THIS CODE WHICH IS GOING TO BE IN PRODUCTION USE HAS SEVERAL FUNCTIONS THAT ARE IDENTICAL EXCEPT FOR THE NAME I SHOULD REFACTOR IT BUT I PROBABLY WON'T < 1345777041 631191 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Sgeo: Yes you should refactor it, and then if it need multiple name, then depending on the programming language you can do something about that (such as, in C, you can define a macro) < 1345777082 568250 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can define macros in C/C++! < 1345777181 326540 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net JOIN :#esoteric < 1345777285 853467 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I sometimes make those kind of mistake too, but then usually try to fix it < 1345777301 480571 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I'm basically abusing function names to act as a dispatch mechanism < 1345777310 185250 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Since I thought these functions might greatly vary < 1345777315 569812 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :And one or two do < 1345777318 496572 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :But the rest are the same < 1345777337 88925 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :How would they act as a dispatch mechanism, and what programming language is it? < 1345777447 928183 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Tcl < 1345777469 708331 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I call a function named partially by a variable < 1345777474 195960 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :As in, checkfeed-$method < 1345777485 457977 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :And then checkfeed-etag, for example, is one function < 1345777523 126784 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Does Tcl have first-class functions? If so, can you assign them as same using an assignment? < 1345777769 406915 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I wouldn't call them first-class as such < 1345777805 334950 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :But you can call a function whose name you only know at runtime quite comfortably, and you do have anonymous functions, although require a funcall-like command to use them < 1345778246 914227 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I can't help wondering if CLOS functionality would come in very useful here < 1345778550 391703 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :"recreational substances" is a great category if you take it to mean more than just drugs < 1345778581 305210 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :drugs, propane, helium, pudding, spray paint, lube < 1345778656 685585 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Those are even recreational chemicals! < 1345778677 900910 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :The big problem with refactoring is I don't get to touch the code that often < 1345778690 73044 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I mean I do, but there's not often reason to work on it unless I'm adding a feature < 1345778704 676554 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :And deployment is annoying, becuase it consists of giving the code to the person actually running it < 1345778771 869305 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i don't think pudding is a chemical < 1345778794 696731 :Nisstyre!~yours@oftn/member/Nisstyre QUIT :Quit: Leaving < 1345778814 827442 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :True. < 1345778835 778261 :Nisstyre_!~yours@c-208-90-102-250.netflash.net JOIN :#esoteric < 1345778842 216889 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :spray paint is pretty complicated too < 1345778851 921784 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Easiest thing to do would be to make the dispatcher check for the existence of the function it would call, and if it doesn't exist, call a default one < 1345778875 374577 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"dispatcher"? I just call that program "diff". < 1345778890 182894 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(Or maybe that's patch -R.) < 1345778900 965968 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :whoa, dude, I haven't used patch in years! < 1345778911 530205 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Version control has taken over the world. < 1345778921 438375 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i still use patch a lot < 1345778947 886514 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :For what? < 1345778949 27003 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :like when i'm preparing a markdown document, but i want some custom tweaks to the generated html < 1345778971 6928 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That sounds like an unreliable system. < 1345778991 753594 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :yeah but it doesn't have to work 100% automatically every time < 1345779036 372342 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I was thinking in particular of "applying other people's patches to things". < 1345779043 966868 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or "releasing patches". < 1345779098 266138 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :WEB can automatically apply changes from an external file. < 1345779276 897720 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :shachaf, I did that once or twice < 1345779287 534175 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or, well, used diff < 1345779443 771244 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I'm in AceHack http://patch-tag.com/r/ais523/acehack/snapshot/current/content/raw/doc/fixes36.0 < 1345779464 542508 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, http://blog.sigfpe.com/2006/10/monads-field-guide.html are nice pictures. < 1345779560 458962 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :monochrom says: seq is a suggestion. pseq is an order. < 1345780166 768141 :TeruFSX!~quassel@174-20-4-203.mpls.qwest.net PRIVMSG #esoteric :random question: what does Muller brainfuck do if you go past the cell limit? < 1345780534 687277 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i miss monochrom's puns :/ < 1345780547 763511 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@quote monochrom < 1345780547 949931 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :monochrom says: most people tend to deny the usefulness of useful alternative perspectives --- their entrenched vested interests demand it. as they grow older they also have more influence and power < 1345780548 96024 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :over "the state of the art" to preserve their self-fulfilling prophecy that "the alternative is useless" --- by controlling what practice looks like, they can control what looks useless. < 1345780598 30418 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION suspects that's not a pun. < 1345780600 855229 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@quote monochrom < 1345780601 38309 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :monochrom says: isTrue = (unsafeCoerce :: Either a b -> Bool) . (unsafeCoerce :: Maybe c -> Either a b) . (unsafeCoerce :: Bool -> Maybe c) < 1345780652 917584 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@quote monochrom < 1345780653 74241 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :monochrom says: All pointless debates can be settled by going polymorphic. < 1345780660 557912 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Would that work for any types in place of Either a b and Maybe c? < 1345780683 499165 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Presumably. < 1345780684 820555 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@quote monochrom < 1345780685 6100 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :monochrom says: Welcome to #haskell, where @remember's are in majestic stereo! < 1345780716 164708 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :And does it actually have to maybe type with type? As in, it becomes a Maybe c and then the thing accepts a Maybe c, do those have to match? < 1345780733 439881 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Or can it just be Bool in one end and out the other, regardless of whether the types in between fit? < 1345780753 665587 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The types definitely have to match. < 1345780779 180673 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :unsafeCoerce :: A -> B is a real function that only accepts a value of type A and only returns a value of type B < 1345780803 928620 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It just happens to have a dubious implementation. < 1345780986 984581 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 QUIT :Read error: Connection reset by peer < 1345781136 846933 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net PRIVMSG #esoteric :unsafeCoerce :: a -> b < 1345781167 960220 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net PRIVMSG #esoteric :Type variables start with lower case letters. < 1345781170 95389 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, but once you explicitly give its signature as (Int -> Char), it'll be :: Int -> Char < 1345781178 188091 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which is what I meant by A and B. < 1345781203 854390 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net PRIVMSG #esoteric :unsafeCoerce :: IO a -> a < 1345781708 631306 :MoALTz!~no@host-92-2-140-86.as43234.net JOIN :#esoteric < 1345782229 486037 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Are Canadian $1 coins made of plastic? < 1345782259 161683 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :You tell me. < 1345783237 894294 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I don't know. That is why I ask. < 1345783453 857836 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :But you're in Canada! < 1345783456 405546 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :You can check! < 1345783470 114541 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Light Table looks interesting < 1345783547 312422 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I cannot tell if it is plastic or just a different kind of metal. I do not currently have one of the new $1 coins, and when I did, I did not know. Someone told me it is plastic although I am unsure, and he told me later, he is also unsure. < 1345783704 327928 :MoALTz!~no@host-92-2-140-86.as43234.net QUIT :Ping timeout: 276 seconds < 1345783917 758070 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :lem_lemma :: (Not a -> b) -> (a -> b) -> b < 1345784064 856920 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :did you do that shachaf < 1345784070 191067 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Do what? < 1345784078 110986 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's just the church encoding of lem. < 1345784089 692164 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :invite lambda into lw < 1345784110 86941 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In a manner of speaking. < 1345784135 596336 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Law of excluded middle does not apply in intuitionistic logic, though. < 1345784527 404649 :SimonRC!~sc@217.155.91.250 QUIT :*.net *.split < 1345785531 753813 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I said I proved that (CodensityAsk Predicate) is actually the same as the infinite search monad; actually, I have only proven that the type is equivalent, not that the monad is equivalent. However, it seems to be equivalent monad from testing it. < 1345785609 947344 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: You should make a CTF! < 1345785671 612694 :quintopia!~quintopia@unaffiliated/quintopia QUIT :Ping timeout: 252 seconds < 1345785709 395227 :quintopia!~quintopia@unaffiliated/quintopia JOIN :#esoteric < 1345785924 37886 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Maybe that church encoding of lem can be made using (Kleisli (Cont r)) instead of (->) category? You will already have Peirce's law (callCC). < 1345785965 170850 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, in Haskell you would use Cont. < 1345785977 360666 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I just want to avoid all the syntactic nonsense that comes with it. < 1345786457 639017 :impomatic!~digital_w@87.114.182.202 JOIN :#esoteric < 1345786718 134211 :copumpkin!~copumpkin@unaffiliated/copumpkin NICK :yeasayer < 1345786743 971276 :yeasayer!~copumpkin@unaffiliated/copumpkin NICK :copumpkin < 1345787936 61093 :asiekierka!~asiekierk@078088172191.elblag.vectranet.pl JOIN :#esoteric < 1345788318 868752 :copumpkin!~copumpkin@unaffiliated/copumpkin NICK :AgentOfChaos < 1345788472 359491 :AgentOfChaos!~copumpkin@unaffiliated/copumpkin NICK :copumpkin < 1345789884 353103 :Tod-Autojoined!~Tod@166-70-93-209.ip.xmission.com JOIN :#esoteric < 1345789901 792589 :TodPunk!~Tod@166-70-93-209.ip.xmission.com QUIT :Read error: Connection reset by peer < 1345789965 971739 :epicmonkey!~epicmonke@188.134.41.211 JOIN :#esoteric < 1345790463 360393 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1345790467 130471 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I don't like Clojure's ->, especially since there's a nice reader macro for lambda < 1345790489 901948 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :It should be easy to write an actual function -> that threads a value through the rest of the arguments as functions < 1345791875 341101 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net PRIVMSG #esoteric :> map ($2) [(+) 1, (*) 3] < 1345791876 317365 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [3,6] < 1345792135 186534 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric : &(map #(% 2) [(partial + 1) (partial * 3)]) < 1345792135 370131 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric : ⇒ (3 6) < 1345792172 315932 :zzo38!~zzo38@24-207-49-17.eastlink.ca QUIT :Remote host closed the connection < 1345792401 876328 :epicmonkey!~epicmonke@188.134.41.211 QUIT :Ping timeout: 245 seconds < 1345792455 371723 :SimonRC!~sc@217.155.91.250 JOIN :#esoteric < 1345793519 171557 :asiekierka!~asiekierk@078088172191.elblag.vectranet.pl QUIT :Remote host closed the connection < 1345794007 298189 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl JOIN :#esoteric < 1345795478 330344 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl QUIT :Ping timeout: 240 seconds < 1345796153 125277 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Ping timeout: 260 seconds < 1345796187 287958 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1345796358 475005 :AnotherTest!~tim@94-224-21-229.access.telenet.be JOIN :#esoteric < 1345796897 14555 :epicmonkey!~epicmonke@host-224-60.dataart.net JOIN :#esoteric < 1345797258 536633 :atriq!~Taneb@host-78-148-8-212.as13285.net JOIN :#esoteric < 1345797643 593289 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Can anyone link me that XKCD with the guy talking to the guy on the phone < 1345797650 771735 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :The first guy isn't on the phone < 1345797663 731237 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :TWIST: The second guy isn't on the phone either < 1345797671 477834 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Then who was phone? < 1345797673 625262 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(As they say.) < 1345797729 302461 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :hello yes this is dog < 1345797816 697723 :itidus20!~itidus21@120.148.51.163 PRIVMSG #esoteric :hello dog, are you after human rights? < 1345797837 232606 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net PRIVMSG #esoteric :phon < 1345797929 244204 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Phone me a phoneme. < 1345797989 928257 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I < 1345797991 300476 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :wow < 1345798003 150527 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :TV Tropes now has an interstitial on all outbound links. < 1345798026 774600 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :Warning people of the dangers of the internet? < 1345798029 968393 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :They're the moral police afterall < 1345798056 434286 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :I think they just want people like me to stay trapped < 1345798066 334033 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Outbound links are my way out of there < 1345798504 220353 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1345798697 375061 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1345799037 562531 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :I just realised that the only reason I'm smiling is because the alternative is crying < 1345799041 520044 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric ::) < 1345799052 604626 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION grins madly < 1345799077 391679 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION fails < 1345799094 885451 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION chews another piece of bread < 1345799292 484831 :sirdancealot!~sirdancea@98.82.broadband5.iol.cz QUIT :Read error: Connection reset by peer < 1345799390 596066 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :I... < 1345799414 746239 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :You... < 1345799414 977309 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :I think the best thing to do right now is try to get 100% on Avalancha on Medium on Guitar Hero 3 < 1345799559 996255 :sivoais!~zaki@199.19.225.239 QUIT :Ping timeout: 265 seconds < 1345799636 317300 :heroux!~heroux@5070823C.static.ziggozakelijk.nl JOIN :#esoteric < 1345800101 866329 :knott_rays!~androirc@37-219-56-8.nat.bb.dnainternet.fi JOIN :#esoteric < 1345800111 133875 :knott_rays!~androirc@37-219-56-8.nat.bb.dnainternet.fi PART :#esoteric < 1345800520 991500 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl JOIN :#esoteric < 1345801060 831293 :sivoais!~zaki@199.19.225.239 JOIN :#esoteric < 1345801427 588495 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Well, I'm feeling a bit better now < 1345801621 826230 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :A bit shaky, though < 1345802156 542892 :atriq!~Taneb@host-78-148-8-212.as13285.net QUIT :Ping timeout: 252 seconds < 1345803916 690198 :ineiros!~itniemin@li271-145.members.linode.com QUIT :Remote host closed the connection < 1345803937 996395 :ineiros!~itniemin@li271-145.members.linode.com JOIN :#esoteric < 1345804128 396986 :derdon!~derdon@p4FD953D1.dip.t-dialin.net JOIN :#esoteric < 1345804133 623395 :itidus20!~itidus21@120.148.51.163 PART #esoteric :"Leaving" < 1345804582 988131 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl QUIT :Read error: Connection reset by peer < 1345804925 398857 :atriq!~Taneb@host-78-148-8-212.as13285.net JOIN :#esoteric < 1345805148 212504 :impomatic!~digital_w@87.114.182.202 QUIT :Quit: http://RetroProgramming.com < 1345805811 988102 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ion: Why is your nick "ion"? < 1345805825 907068 :ion!ion@heh.fi PRIVMSG #esoteric :shachaf: Why not? < 1345805845 489168 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Opportunity cost. < 1345808076 368298 :MoALTz!~no@host-92-2-140-86.as43234.net JOIN :#esoteric < 1345809034 306993 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :"These are no _ordinary_ subterranean mecha-narwhals!" < 1345809080 575699 :AnotherTest!~tim@94-224-21-229.access.telenet.be QUIT :Read error: Connection reset by peer < 1345809194 172558 :AnotherTest!~tim@94-224-21-229.access.telenet.be JOIN :#esoteric < 1345809344 241420 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :oerjan, :) < 1345809376 821070 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :I'm going to think outloud here for a bit, if that's okay with everyone? < 1345809395 442966 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :The intellectual and cultural ancestors of Homestuck: < 1345809424 542843 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :" The let special form is used here for efficiency in the event that the first parameter, number, is passed as an expression instead of a simple value." < 1345809455 656473 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Yes. Efficiency is totally the reason you want something to evaluate only once in an impure language. < 1345809455 839824 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :The most obvious is Problem Sleuth, Andrew Hussie's previous work, which had elements of choose-your-own-adventure/interactive fiction and film noir. < 1345809488 69244 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Problem Sleuth also has many references to Jail Break, another of Andrew Hussie's works. Jail Break is just silly. < 1345809494 531132 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :(to be expanded upon) < 1345809535 129270 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :While there are few if any Bard Quest references in Problem Sleuth, there are a handful in Homestuck, for instance Gamzee's god tier outfit. < 1345809600 318288 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Within Homestuck, there are references to Arthurian mythology, especially that Dave Strider encountered Caledfwlch, the Welsh name for Excalibur < 1345809631 786557 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :There are also Lord of the Rings references, such as Strider possessing a broken sword < 1345809669 530817 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Lord of the Rings was influenced by Norse mythology < 1345809707 887303 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :And Old English (Anglo-Saxon) stories < 1345809757 516607 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :There are references to the Gospels, such as Jake kissing the head of Dirk, and "Being the Salome to [his] John the Baptist" < 1345809789 140610 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Other elements of Abrahamic mythology are touched upon < 1345809792 541377 :mig22!~miguelort@bb116-15-1-16.singnet.com.sg JOIN :#esoteric < 1345809827 774071 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Such as the Angels being feared creatures, as they were throughout the Bible < 1345809840 923078 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Graeco-Roman mythology is referenced especially with the Denizens < 1345809858 119158 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :For instance, Dave's denizen is Hephaestus, who was a Greek god < 1345809894 873970 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :The works of Oscar Wilde, Mark Twain, Shakespeare, Snoop Dogg, and many others are referenced < 1345810409 160767 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t (0$0<$>) < 1345810410 191550 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : The operator `<$>' [infixl 4] of a section < 1345810410 338068 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : must have lower precedence than that of the operand, < 1345810410 484066 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : namely `$' [infixr 0] < 1345810587 91500 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t print <$> readInt <$> getLine < 1345810588 458161 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Overlapping instances for Show < 1345810588 617132 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ((Char -> Bool) -> (Char -> Int) -> ReadS String) < 1345810588 763736 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use of `print' at :1:0-4 < 1345810605 627534 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION swats lambdabot -----### < 1345810633 199011 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why would you print <$> readInt <$> getLine? < 1345810646 713859 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :beats me http://www.reddit.com/r/haskell/comments/ypyx4/why_does_print_readint_getline_return_an_ioio/ < 1345810693 146643 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, so if my program compiles but doesn't work, I just need to put join $ in front of it? < 1345810719 620918 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i can see why it is _wrong_, but my housemate is playing music so loudly i cannot get my brain to infer why it _does_ type < 1345810755 338584 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@ty readInt < 1345810755 904771 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(and it looks to me like the comments use the wrong associativity for <$>) < 1345810756 255664 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Num a) => a -> (Char -> Bool) -> (Char -> Int) -> String -> [(a, String)] < 1345810767 252914 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't think that's the readInt you're thinking of. < 1345810777 594268 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh duh < 1345810781 905850 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :grmbl < 1345810784 170182 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@ty read <$> getLine < 1345810785 246538 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Read a) => IO a < 1345810785 392950 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Oh god I've hit that issue before < 1345810788 478399 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@ty print <$> read <$> getLine < 1345810789 550878 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :IO (IO ()) < 1345810792 420851 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :See? < 1345810805 404898 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t let readInt = read :: String -> Int in print <$> readInt <$> getLine < 1345810806 730625 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :IO (IO ()) < 1345810813 616399 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(print :: a -> IO () in this case.) < 1345810815 154248 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Therefore, Haskell's type system should be taken out and shot. < 1345810817 657275 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So you get iO (IO ()) < 1345810839 692267 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Of course, join (print <$> x) == x >>= print < 1345810853 440092 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok that makes sense, the first <$> just becomes . < 1345810857 223950 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :It lets through wrong programs! This is a travesty! < 1345810865 46649 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :oerjan: No, it doesn't need to. < 1345810876 766998 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :YES IT DOES < 1345810878 379557 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :<$> is infixr < 1345810888 989014 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: um i just checked it's not < 1345810896 754259 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, right. < 1345810900 946489 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But if it was it would still work! < 1345810910 534131 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :quite possibly < 1345810911 270265 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :<$> IS SO ASSOCIATIVE, IT ASSOCIATES ACROSS DIFFERENT TYPES! < 1345810913 331812 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(It's true.) < 1345810929 944622 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh it does tend to do that < 1345810934 691322 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(x <$> y) <$> z == x <$> (y <$> z), when both type-check. < 1345810939 640981 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Even if it's different instances of <$> < 1345810943 897363 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Of Functor < 1345811173 345648 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: MUST... ESCAPE < 1345811861 621517 :kmc_!~keegan@c-76-119-235-30.hsd1.ma.comcast.net JOIN :#esoteric < 1345812152 46769 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net QUIT :*.net *.split < 1345812152 431957 :ion!ion@heh.fi QUIT :*.net *.split < 1345812152 432186 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net QUIT :*.net *.split < 1345812499 394549 :ion!ion@heh.fi JOIN :#esoteric < 1345812552 129190 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net JOIN :#esoteric < 1345812772 996133 :mtve!~mtve@65.98.99.53 QUIT :*.net *.split < 1345812779 133352 :mtve!~mtve@65.98.99.53 JOIN :#esoteric < 1345813638 569467 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1345815098 37395 :epicmonkey!~epicmonke@host-224-60.dataart.net QUIT :Ping timeout: 244 seconds < 1345815838 545852 :mig22!~miguelort@bb116-15-1-16.singnet.com.sg QUIT :Quit: mig22 < 1345816051 313039 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Dear god Leeds is far south < 1345816252 108135 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Far out, man. < 1345816375 490113 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Halifax is about halfway between me and ais523 < 1345816611 927935 :monqy!~swell@pool-71-102-219-42.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1345816699 255715 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Quit: Computer has gone to sleep. < 1345816853 681448 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :halifax, as in nova scotia's halifax? < 1345816995 644919 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :As in the Halifax that's about halfway between Birmingham and Hexham < 1345817011 769973 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Yorkshire, I think < 1345817073 49181 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric ::/ < 1345817153 917227 :Tod-Autojoined!~Tod@166-70-93-209.ip.xmission.com QUIT :Quit: This is me, signing off. Probably rebooting or something. < 1345817163 569605 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :That Halifax is about halfway between me and somewhere off the west coast of Mexico < 1345817164 235437 :TodPunk!~Tod@166-70-93-209.ip.xmission.com JOIN :#esoteric < 1345817167 654710 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :God, I'm far north < 1345817186 594634 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Actually, I'm not that far North, it's just California < 1345817287 532788 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :if someone was double the distance that separates me from halifax, in the same direction, he'd be a little bit on the damp side. < 1345818034 493799 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1345818371 431464 :nortti!nortti@smar.fi NICK :[]{}\|-_`^ < 1345818380 266332 :[]{}\|-_`^!nortti@smar.fi NICK :[]{}|\-_`^ < 1345818402 379633 :[]{}|\-_`^!nortti@smar.fi NICK :nortti < 1345818942 156867 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Why is my num lock button flashing < 1345818945 296100 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :WHAT COULD THIS MEAN < 1345818993 751688 :nortti!nortti@smar.fi PRIVMSG #esoteric :kernel panic < 1345819052 503396 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Wouldn't a kernel panic stop IRC from working? < 1345819073 142866 :nortti!nortti@smar.fi PRIVMSG #esoteric :yes < 1345819084 305551 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Probably not a kernel panic, then? < 1345819092 134319 :nortti!nortti@smar.fi PRIVMSG #esoteric :yeah < 1345819097 315222 :nortti!nortti@smar.fi PRIVMSG #esoteric :what os? < 1345819137 623635 :kmc_!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :pernel kanic < 1345819140 737705 :kmc_!~keegan@c-76-119-235-30.hsd1.ma.comcast.net NICK :kmc < 1345819151 333809 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Ubuntu < 1345819157 739448 :nortti!nortti@smar.fi PRIVMSG #esoteric :ok. < 1345819168 287926 :nortti!nortti@smar.fi PRIVMSG #esoteric :there is your problem < 1345819204 280961 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :I think my problem is the cable that snapped when the right hinge for the screen broke < 1345819258 312407 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric ::t (>>=) :: [a] -> (a -> [a]) -> [a] < 1345819259 318846 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. [a] -> (a -> [a]) -> [a] < 1345819270 163554 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric ::t concatMap < 1345819271 188216 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. (a -> [b]) -> [a] -> [b] < 1345819286 408895 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric ::t concatMap `asTypeOf` (=<<) < 1345819287 384944 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. (a -> [b]) -> [a] -> [b] < 1345819301 157247 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Wait < 1345819306 662524 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Long story short, I'm having trouble explaining mapcat to someone in #clojure < 1345819311 443568 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Although they're now saying they get it < 1345819325 826700 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :It maps then squishes? < 1345819336 664570 :cheater!~cheater@p4FD0E552.dip.t-dialin.net JOIN :#esoteric < 1345819341 799822 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :I don't know Clojure, though, so I couldn't say < 1345819374 150708 :kinoSi!~kinosi@27-96-32-84.ipq.jp QUIT :Read error: Connection reset by peer < 1345819400 833093 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :mapcat is concatMap < 1345819401 305388 :kinoSi!~kinosi@27-96-32-84.ipq.jp JOIN :#esoteric < 1345819448 693912 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :Okay, it turns out Numlock is actually switching on and off again repeatedly < 1345819512 605564 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :644444464646464646464646464464646464646464664 < 1345819523 636738 :nortti!nortti@smar.fi PRIVMSG #esoteric :why? < 1345819530 927031 :atriq!~Taneb@host-78-148-8-212.as13285.net PRIVMSG #esoteric :I don't know! < 1345819539 900811 :boily!~boily@mtl.savoirfairelinux.net QUIT :Quit: Poulet! < 1345819696 264927 :Zuu!zuu@unaffiliated/zuu JOIN :#esoteric < 1345820331 458026 :soundnfury!~edward@109.176.207.75 QUIT :Quit: quIRC < 1345820355 623258 :soundnfury!~edward@109.176.207.75 JOIN :#esoteric < 1345820468 929103 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric ::t (<*>) < 1345820469 956077 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (f :: * -> *) a b. (Applicative f) => f (a -> b) -> f a -> f b < 1345820474 358152 :Gregor!codu@codu.org QUIT :Excess Flood < 1345820481 904478 :Gregor!codu@codu.org JOIN :#esoteric < 1345820520 401757 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 QUIT :Ping timeout: 276 seconds < 1345820667 167629 :Gregor!codu@codu.org PRIVMSG #esoteric :I present the most spurious patch ever: http://pcc.ludd.ltu.se/jira/browse/PCC-401 < 1345822197 425326 :atriq!~Taneb@host-78-148-8-212.as13285.net QUIT :Ping timeout: 276 seconds < 1345822213 608252 :heroux!~heroux@5070823C.static.ziggozakelijk.nl QUIT :Ping timeout: 252 seconds < 1345822673 241786 :heroux!~heroux@5070823C.static.ziggozakelijk.nl JOIN :#esoteric < 1345823787 977410 :ogrom!~nask@gprs-inet-65-29.elisa.ee JOIN :#esoteric < 1345824906 81713 :copumpkin!~copumpkin@unaffiliated/copumpkin NICK :ThreeFixt < 1345824944 472276 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :Gregor: :) < 1345824981 648706 :ThreeFixt!~copumpkin@unaffiliated/copumpkin NICK :copumpkin < 1345825366 395852 :atriq!~Taneb@host-84-13-75-172.opaltelecom.net JOIN :#esoteric < 1345826583 621016 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Rich Hickey appears to be convinced that allowing uncoordinated reads is a good idea. For some reason, that bothers me. < 1345826605 865203 :atriq!~Taneb@host-84-13-75-172.opaltelecom.net PRIVMSG #esoteric :Uncoordinated read? < 1345826644 15059 :ogrom!~nask@gprs-inet-65-29.elisa.ee QUIT :Quit: begone < 1345826645 225958 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Reading STM refs outside of a transaction, for instance. < 1345826726 269352 :atriq!~Taneb@host-84-13-75-172.opaltelecom.net PRIVMSG #esoteric :Okay < 1345826738 431201 :atriq!~Taneb@host-84-13-75-172.opaltelecom.net PRIVMSG #esoteric :I've never done any STMy type things < 1345826826 931495 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :how does that differ from reading a STM ref in a transaction which consists only of that operation? < 1345826963 597179 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :kmc, I guess it doesn't particularly, except that requiring the transaction might... discourage idiots from doing it that way? < 1345826969 597874 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I guess you're right < 1345826969 902397 :Gregor!codu@codu.org PRIVMSG #esoteric :The fact that requiring it to be in an STM makes you think. < 1345826971 5564 :ogrom!~nask@gprs-inet-65-29.elisa.ee JOIN :#esoteric < 1345826998 524307 :Gregor!codu@codu.org PRIVMSG #esoteric :Also in principle there could be architectures where transactional memory is distinct from general memory, but that's unlikely. < 1345827521 619157 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :In Clojure, println is available in dosync < 1345827530 265375 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :"that would be a lot of overhead when it's generally not needed" < 1345827538 93003 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :(about defining println with io!) < 1345827558 415337 :atriq!~Taneb@host-84-13-75-172.opaltelecom.net QUIT :Ping timeout: 244 seconds < 1345828371 390087 :atriq!~Taneb@host-84-13-75-172.opaltelecom.net JOIN :#esoteric < 1345830238 598781 :variable!root@freebsd/developer/variable QUIT :Read error: Connection reset by peer < 1345831243 142149 :variable!root@freebsd/developer/variable JOIN :#esoteric < 1345831413 522277 :Vorpal!~Vorpal@unaffiliated/vorpal JOIN :#esoteric < 1345831463 8199 :atriq!~Taneb@host-84-13-75-172.opaltelecom.net QUIT :Read error: Connection reset by peer < 1345831913 834734 :coppro!~scshunt@taurine.csclub.uwaterloo.ca PRIVMSG #esoteric :blargh < 1345832165 178116 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :hi < 1345832419 398851 :atriq!~Taneb@host-84-13-69-197.opaltelecom.net JOIN :#esoteric < 1345832529 322347 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1345832758 937926 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :appelsiinit kerkiän < 1345832857 662077 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That's good. < 1345832918 799569 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :what does appelsiinit päähän mean? < 1345832940 20973 :zzo38!~zzo38@24-207-49-17.eastlink.ca JOIN :#esoteric < 1345832945 755929 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"Oranges to the head". < 1345832959 353166 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Head being the body part. < 1345832995 208976 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Like, "hatut päähän" could be "put on your hats". < 1345833010 553660 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It sounds like the same thing except for oranges. < 1345833032 216188 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :google translate translates päähän as "from the" < 1345833059 726333 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :I suppose it would be appelsiini X päähän or something, to mean oranges from the X? < 1345833156 181229 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"päähän" is the illative ("into", in most cases) case of pää 'head'. < 1345833205 523793 :ogrom!~nask@gprs-inet-65-29.elisa.ee QUIT :Quit: begone < 1345833422 705111 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :At least primarily. There's a different -han/-hän suffix (illative is -an/-en/etc., just changes a bit to work with "pää") it could also be, but I'm not exactly sure how that'd translate. It wouldn't fit in after the oranges, anyway. < 1345833423 658444 :ion!ion@heh.fi PRIVMSG #esoteric :Pää can also mean “side”, as in “this side of the room”. < 1345833446 79863 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :http://en.wiktionary.org/wiki/-han that one. < 1345833474 623408 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes, I guess. Or I'd say more like "end" as in "this end of the room". < 1345833506 340179 :ion!ion@heh.fi PRIVMSG #esoteric :Indeed < 1345833580 544958 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric ::0g,:93+`#@_1+ < 1345833673 387612 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :does anyone know what difference there is between properly ejecting and just yanking out an usb stick with write cache disabled, and no open files, under windows 7? I know there is one (long story, can tell it if you want), but I don't know what it is. < 1345833727 684811 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :the universe implodes if you remove usb devices without completing the wizard < 1345833738 827355 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :olsner, what wizard? < 1345833747 672516 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :the eject devices wizard? < 1345833767 658988 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :olsner, eh, no need for that thing on windows 7, you can just right click the device in explorer and select eject < 1345833831 909583 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :olsner, anyway there is a difference, in one case the embedded controller we use at work accepts it to load the code from, in the other it doesn't. < 1345833832 94743 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :FreeFull: "Output character on row 0, column corresponding to top of stack; if TOS > 12, stop; otherwise increment by 1 and continue"? < 1345833856 998441 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Quine, then? < 1345833924 46375 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :A random quine from the web < 1345833957 469955 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It's very reasonable, though I suppose a purist would say a g-quine is just boring. < 1345833977 121909 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :fizzie, huh? < 1345833988 701198 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :FreeFull: Huh? < 1345833999 522324 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Uh, I mean, Vorpal: Huh? < 1345834009 818208 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Huh.) < 1345834015 973468 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :g? < 1345834025 809730 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Goedel? < 1345834026 254943 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :FreeFull: One that uses 'g'. < 1345834029 147602 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :fizzie, why would a g-quine be boring? < 1345834030 684418 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Oh < 1345834055 337219 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Vorpal: "Too easy," I believe is the reasoning. < 1345834065 659402 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Since it can just read the source. < 1345834079 433155 :AnotherTest!~tim@94-224-21-229.access.telenet.be QUIT :Quit: Leaving. < 1345834101 675117 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :fizzie, ah < 1345834109 576867 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Not that the "-based ones are really any unboringer, I suppose. < 1345834132 584271 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :I have to yet write a quine < 1345834184 551439 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :hmm, I had an interesting idea related to quines a while ago, but I can't remember what it was < 1345834259 512006 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :olsner: If you still have a binary of your idea, and it's related to quines enough, maybe running it will recover the original idea. < 1345834271 750552 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :no, the idea was only in my head < 1345834292 441089 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :olsner: Was it a program that prints a program in another language, that prints the original program? < 1345834313 902986 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :it shouldn't have been because I've read about programs like that before < 1345834327 209626 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Yeah, they're pretty cool < 1345834369 865636 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Ruby → Python → Perl → Lua → OCaml → Haskell → C → Java → Brainfuck → Whitespace → Unlambda < 1345834373 203624 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :And then back to Ruby < 1345834472 407484 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :once the program has managed to get out of ruby, why would it want to get back? < 1345834492 388400 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :I don't know < 1345834522 608321 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :To escape Unlambda? < 1345834564 648773 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :FreeFull, do you have a link to that quine? < 1345834746 556753 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :http://d.hatena.ne.jp/ku-ma-me/20090916/p1 < 1345834792 422043 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :heh < 1345834889 862515 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :It's surprisingly short < 1345835035 665214 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :wc -c says 1945 bytes < 1345835109 987256 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :I don't have ruby, ocaml or lua installed, so meh < 1345835124 579163 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :nor do I have a whitespace interpreter < 1345835170 451554 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Ruby 1.9 seems to error on it < 1345835184 992990 :Vorpal!~Vorpal@unaffiliated/vorpal PRIVMSG #esoteric :ouch < 1345836210 904457 :Slereah!~jackal@ANantes-259-1-194-61.w90-49.abo.wanadoo.fr JOIN :#esoteric < 1345836244 489527 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1345836289 408397 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :butts < 1345836293 626573 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :butts < 1345836323 703160 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :we all empathize with your tourette's, kmc < 1345836334 140826 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :I don't < 1345836346 13265 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :except olsner < 1345836360 410886 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that's because he's swedish < 1345836370 584599 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :is that code supposed to have yen symbols all over < 1345836375 41318 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :or is this some character encoding fuckery < 1345836382 256605 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :oh, that could be backslashes < 1345836394 630441 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :yeah they are actually backslashes < 1345836401 325492 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :in fact when i copy-paste one it's a backslash, wtf < 1345836410 546929 :Slereah_!~jackal@ANantes-259-1-194-61.w90-49.abo.wanadoo.fr QUIT :Ping timeout: 252 seconds < 1345836423 529693 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i've heard about that japanese encoding quirk before < 1345836425 982112 :Slereah_!~jackal@ANantes-259-1-219-65.w83-195.abo.wanadoo.fr JOIN :#esoteric < 1345836440 30868 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :I think they assigned characters just before backslash became the second most useful character in ascii < 1345836442 818051 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :or something like that < 1345836473 773778 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well backslash _is_ one of characters that was commonly nationalized < 1345836476 897004 :Slereah!~jackal@ANantes-259-1-194-61.w90-49.abo.wanadoo.fr QUIT :Ping timeout: 245 seconds < 1345836483 669010 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :[|]{\} afair < 1345836502 527453 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i think \ was used for Ø in norway < 1345836508 915642 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :us stages coup in iran in response to nationalizing backslash < 1345836532 252572 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :the infamous backslash backlash < 1345836544 924731 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :kmc: i see you've nationalized backslash to mean oil < 1345836575 581541 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :$ echo '[|]{\}' | iconv -f iso646-no < 1345836575 987292 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :ÆøÅæØå < 1345836629 430615 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :int main() æ printf("Hei, verden!Øn"); å < 1345836637 544424 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :XD < 1345836639 614147 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :interesting! iso646-se gives ÄöÅäÖå < 1345836671 673503 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :olsner: which means they used consistent encodings rather than going by each alphabet's order < 1345836680 466145 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :so that's like from the 7-bit days? < 1345836683 943216 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yeah < 1345836697 550544 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :yep, ISO 646 is the international standard for ASCII and its variants < 1345836725 87375 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :UTF-.875 < 1345836753 622915 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Are there any interesting theorems in plain typed-lambda-calculus Curry-Howard? < 1345836769 727486 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :callcc not included. < 1345836795 89762 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :this is also why [\] are considered to be upper-case versions of {|} by some IRCds < 1345836812 814010 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :because they are ÄÖÅ and äöå respectively in iso646-fi < 1345836831 408566 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :olsner: :) < 1345836906 679124 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: simply typed lambda calculus is equivalent to intuitionistic propositional logic restricted to -> afaik. < 1345836920 902702 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :oerjan: Right. < 1345836940 879405 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :a theorem _about_ it is that it is PSPACE-complete to check propositions for theoremhood < 1345836964 886901 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(unlike NP-completeness for boolean logic) < 1345837019 188706 :derdon!~derdon@p4FD953D1.dip.t-dialin.net QUIT :Remote host closed the connection < 1345837121 199811 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I was wondering if it would make a good puzzle game on its own if expressed in the right way. < 1345837127 736409 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But then I couldn't think of many interesting puzzles. < 1345837141 680913 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it should be on the level of sokoban, by complexity alone < 1345837172 508138 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :shachaf: did you see http://logitext.mit.edu/main < 1345837181 650556 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can make puzzles that are a lot of work to solve, but I'm wondering if you can make ones that are interesting. < 1345837209 610883 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Polymorphism and rank-n types and so on can be permitted if they make it more interesting. < 1345837213 320817 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Nope. < 1345837285 371472 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :polymorphism means at least hindley-milner, so doubly exponential time iirc < 1345837295 936270 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, that's ezyang's thing. < 1345837305 217929 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :He may have mentioned it before. < 1345837312 942874 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it was reddited < 1345837321 376751 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I missed that. < 1345838130 163679 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I find that sort of proof with turnstiles and \frac{...}{...} pretty hard to read. < 1345838187 414780 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 QUIT :Ping timeout: 276 seconds < 1345838397 488457 :Vorpal!~Vorpal@unaffiliated/vorpal QUIT :Ping timeout: 240 seconds < 1345838459 184917 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: made a comment out of our earlier discussion http://www.reddit.com/r/haskell/comments/ypyx4/why_does_print_readint_getline_return_an_ioio/c5y85z4?context=1 < 1345838486 170083 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :We had a discussion? < 1345838494 137054 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :a brief one :P < 1345838498 596466 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, yes. < 1345838515 339462 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Something tells me that in C++, allocating sizeof(SomeClass) bytes and then casting the result to SomeClass* is a bad way of creating an object. < 1345838544 278867 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :it doesn't create an object; the constructor doesn't get called < 1345838548 331054 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :but you can use placement new for that < 1345838596 533080 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I like it. < 1345838648 22444 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :SomeClass *x = malloc(sizeof(SomeClass)); new (x) SomeClass(); < 1345838661 510919 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :allocating and casting is a bad way, but it's not illegal or anything < 1345838681 651262 :ion!ion@heh.fi PRIVMSG #esoteric :Huh, i don’t think i’ve ever seen that syntax. < 1345838694 115439 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i think it's undefined behavior, unless the object is Plain Old Data < 1345838711 14735 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Placement new is undefined behavior? < 1345838719 386726 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :using an object without calling the constructor < 1345838727 9527 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh. < 1345838729 490838 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Makes sense. < 1345838744 345455 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :even if there's no explicit constructor code, there might be other stuff that needs to happen behind the scenes < 1345838753 195068 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :for example an object with virtual methods will likely need a vtable pointer < 1345838764 606460 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :right, I meant with placement-new to call the constructor, otherwise you're obviously getting uninitialized bytes anyway < 1345838802 816949 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :even if you're okay with all the explicitly named data fields being uninitialized, it's still undefined behavior < 1345838809 62727 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is it valid to cast it in one place and then use placement new in another place? < 1345838834 818390 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :probably, but not 100% sure < 1345838851 951615 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :SomeClass *x = malloc(...); doesn't compile, by the way (I think). < 1345838860 582220 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :oh, right, not in C++ < 1345838886 629110 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ion: Do you know the syntax "foo.template bar()"? < 1345838905 707640 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :ion: http://www.parashift.com/c++-faq/placement-new.html < 1345838965 948504 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :void Foo::reset() { this->~Foo(); new (this) Foo(); } < 1345839004 561397 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :eww, destroying this and then constructing a new object in the same place < 1345839021 590215 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1345839051 940470 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I'm beginning to wonder why, exactly, I'm using malloc() for objects at all... < 1345839116 941707 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :it's not a thing to do for no particular reason < 1345839130 779222 :ion!ion@heh.fi PRIVMSG #esoteric :shachaf: Nope < 1345839135 129515 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :if you want to do that safely you can implement new to call malloc instead < 1345839146 349267 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :otoh, most likely that's exactly the implementation you already have < 1345839176 616442 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I'm declaring a class representing a header. I'm then allocating enough memory to hold the header and some additional data, then creating the header, and putting a pointer to the additional data in the header. < 1345839179 157852 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :what's even more fun is that you can overload "operator new" < 1345839193 196101 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :The only benefit to this is that the header and the data are next to each other. < 1345839198 375391 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :so that within "new (x) SomeClass()", x could be an object rather than a raw pointer < 1345839203 195831 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :such an object can implement a memory pool < 1345839206 244098 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :http://www.parashift.com/c++-faq/memory-pools.html < 1345839224 211935 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :I think you can also overload new in SomeClass such that new SomeClass does that < 1345839232 187516 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :And I don't think it's at al important that the header and the data be next to each other. The computer doesn't care too much. < 1345839249 78366 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :since there is no placement delete, overriding placement new is limitedly useful < 1345839287 535192 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Placement delete... < 1345839298 261101 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Remove a specific object from a specific location? < 1345839339 756054 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :well, delete-with-custom-arguments is more what I meant < 1345839340 436505 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :olsner: no, it lets you implement memory pools, and overloading "operator delete" plays an important role in that < 1345839353 38183 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :the link i just gave explains how < 1345839366 323923 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :you can define a delete operator with arguments, but afaik it's impossible to call it < 1345839402 345312 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :olsner: Presumably you can use the regular delete operator, since you know where the pool is. < 1345839553 536026 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :sure, if you're willing to waste a pointer for each allocation you can store the Pool* there and override global delete < 1345839645 216595 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :the thing is, you can define and use a hundred news each with different frobs and wobnickles, but you don't really know which of them are known by delete foo < 1345839760 597771 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Did you see http://byorgey.wordpress.com/2012/08/24/unordered-tuples-and-type-algebra/ ? < 1345839772 305231 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(I don't remember if you were involved in the discussion about that a while ago.) < 1345839782 231700 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :There. Now I'm doing this the non-stupid way instead of the stupid way. < 1345839801 129173 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Instead of allocating the whole thing at once and using placement new, I'm just using malloc() on the individual pieces individually. < 1345839805 239884 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :overrides of "placement delete" *look* like they'll do the right thing, but they only actually get called when constructors throw < 1345839878 69804 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :shachaf: no < 1345840107 50236 :Nisstyre!~yours@oftn/member/Nisstyre JOIN :#esoteric < 1345840841 254706 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Quit: Computer has gone to sleep. < 1345841713 245462 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :So, now we've got a simple object system. < 1345841723 364136 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :There is one object, called Class, of type Class. < 1345841796 26620 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :a very classy system < 1345841830 738133 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I guess classes ought to have superclasses. Class's superclass will probably be Object. Object's class can also be Class, and Object's superclass can also be Object. < 1345841851 266122 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :will there be a method? < 1345841864 73203 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Then again, metaclasses are pretty much mandatory. < 1345841870 722898 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :There will be methods at some point. < 1345841909 456069 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :we need a classless society < 1345842169 196622 :ion!ion@heh.fi PRIVMSG #esoteric :we need an assless society < 1345842238 106544 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :we need a lassless society < 1345842405 312863 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :We need a lossless society. < 1345842421 302553 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :The extra bandwidth and disk space required would be worth the increase in reliability. < 1345842967 736787 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :JathObject*& JathClassObject::superclass() {return strongPtrs[SUPERCLASS];} < 1345842980 687514 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I can't shake the feeling that I'm doing something horribly wrong. < 1345843170 747680 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :j_Class_class->_class = j_Class; < 1345843173 857947 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :"Class" is no longer a word. < 1345843182 762174 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i wrote a program to figure out when the wait at the Registry of Motor Vehicles will be shortest < 1345843300 465676 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :kmc: now investigate what will happen if _everyone_ uses such a program. < 1345843345 536296 :atriq!~Taneb@host-84-13-69-197.opaltelecom.net QUIT :Remote host closed the connection < 1345843732 874417 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Presumably, it would not increase or decrease the speed at which people are served, so it would probably make everyone's wait time the same. < 1345843762 554277 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Except that it would eliminate times at which there are no customers. < 1345843780 566134 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Okay, so we've got objects, which have classes; and classes, which are objects and have superclasses. < 1345843813 430534 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :well most people have constraints on when they can go < 1345843836 421579 :tswett!~tswett@unaffiliated/tswett PRIVMSG #esoteric :True. < 1345843880 692655 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: How does it figure that out? < 1345844160 618063 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :the RMV lists wait times on their website < 1345844175 750677 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :updated every minute or so < 1345844189 727434 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :and indeed it's available in an extremely scrapeable AJAXy format at http://www.massdot.state.ma.us/DesktopModules/BranchMapDNN/GetWaitTimes.aspx?Town=Boston < 1345844470 340223 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :there is bike share all over Cambridge now < 1345844683 171033 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :How does that work? < 1345844715 504573 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :which? < 1345844743 591146 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Bike share. < 1345844755 869061 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :http://www.thehubway.com/ < 1345844761 708741 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :same as most city bike share programs < 1345844771 354216 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :they have stations around the city with electronically-locking bike racks < 1345844806 530013 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :you pay for a subscription (1 day, 3 days, or 1 year), which gives you the right to check out a bike for 30 minutes for free < 1345844809 373624 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, they had something similar in Tel Aviv when I was most recently there. < 1345844813 936125 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :(you can return it to a different station than the one where you got it) < 1345844820 934661 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :you pay more if you want more than 30 min < 1345844839 974699 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :the bikes are kinda crap though < 1345844848 300286 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :also they have no solution for helmets < 1345844856 662656 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yep. < 1345844910 239557 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(I ended up using the thing in Tel Aviv.) < 1345844933 240642 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i could actually use this, since my bike is broken at the moment < 1345844933 528299 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That was my experience. < 1345844960 257672 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :what was your experience? < 1345844966 385287 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Also once they didn't have enough bicycles at a station, so we had to manage with two bicycles for three people. < 1345844974 259599 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The bicycles weren't very good and we didn't use helmets. :-) < 1345844978 255662 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :that sounds inconvenient < 1345845040 225731 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :the amount of tourist-gouging in the pricing is always entertaining < 1345845065 91125 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :a yearly pass costs the same as 17 day passes < 1345845086 36674 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That doesn't seem unreasonable. < 1345845104 430273 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION ought to get a bicycle. < 1345845109 232379 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, I have a bicycle. But it's in WA. < 1345845172 939954 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :west antarctica < 1345845280 386255 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Code like "cmpq $36,%rax; jl .Lc1jq; cmpq $36,%rax; jne .Lc1jo" is redundant, right? < 1345845326 467123 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean the second cmpq < 1345845349 387232 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :At least to me it seem it is but I don't know exactly how the instructions operate. < 1345845350 769697 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :For no good reason I've been contemplating Brainfuck stuff again. < 1345845359 700223 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :down that path lies only pain < 1345845366 753833 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Another possibility is if the second cmpq is a jump target < 1345845383 457923 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :pikhq: What kind of Brainfuck stuff? < 1345845388 500533 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :Namely, how to get a really damned compact threaded code compilation of it. < 1345845388 646629 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: That's true, but I assume it would have a label in that case. < 1345845423 843447 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :shachaf: Yes I would think so. But without seeing the rest of the program I wouldn't know for sure. < 1345845436 752745 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: This is code being generated by GHC. < 1345845465 598175 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :which backend? < 1345845490 292152 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The default one. < 1345845494 309103 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :-fasm, I guess. < 1345845500 760649 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe this is one of the optimizations that -fllvm would do. < 1345845510 13561 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Does GHC ever compile a code where jump target addresses are computed from arithmetic? < 1345845528 577469 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :If not, then you should complain about such a code like you wrote < 1345845612 251270 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, it looks like -fllvm generates similar code. < 1345845678 854992 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Will it generate a LLVM code or a native code, though? < 1345845696 720128 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean the x86 code generated by LLVM. < 1345845702 818948 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm just looking at the output of ghc-core here. < 1345845748 303445 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Then improve LLVM. LLVM seem to be missing many optimizations as far as I know. < 1345845754 972387 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :First, I've got a single byte *ludicrously* packed. Next, I'm trying to figure out how I can get loops more compactly expressed... < 1345845778 22897 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I bet pikhq can fit a byte into 7 bits. < 1345845781 847473 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :6 on a good day. < 1345845786 9946 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :pikhq: Explain more specifically? < 1345845794 193861 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :it all comes down to how hard you shove < 1345845801 395494 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :What I'm thinking is that each loop can get expressed as a function, and any loops with identical bodies are the same function... < 1345845849 676948 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Are you trying to make program to compile a brainfuck code into another program? < 1345845920 182947 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :zzo38: Two bits indicate whether you've got a tape add, a movement, or something else. If it's something else, then we've got the rest of the bits to express that. Otherwise, the rest of the bits indicate how much you add to the tape cell, or how far you need to move. < 1345845942 570873 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :zzo38: Trying to get it to a ludicrously compact expression for no good reason *at all*. < 1345845961 570678 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :zzo38: For, like, an interpreter or something. < 1345845963 983543 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :pikhq: OK. Yes that makes sense and I have thought of similar things too, and possibly some other people have also done something similar. < 1345845985 320202 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :It's silly, but it's Friday and I don't have much else going on. So. :P < 1345846029 677219 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :Anyways, with just compacting the opcodes like that I've got LostKng.b in 216k. < 1345846072 16135 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I have been told that LLVM will not optimize brainfuck programs very good compared to other programs, perhaps optimization of pointer arithmetic and so on? < 1345846089 743650 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net PRIVMSG #esoteric :And I think making it so loop bodies only ever get expressed once could do better still... < 1345846197 946272 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net JOIN :#esoteric < 1345846211 497589 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Other ideas I have thought of for optimization in LLVM would be constraint analysis, BCD optimization (for target architectures which support it), analysis of representation of enumerations, etc < 1345846221 331729 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net PRIVMSG #esoteric :As well as shoving references to particularly common ones inside of the byte, so e.g. [-] could be a single byte per instance as well as 2 more bytes per program. < 1345846228 521743 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :And self-modifying code, too. < 1345846259 735040 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :pikhq_: You could also make [-] a special case if it would seem to help < 1345846279 412989 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net PRIVMSG #esoteric :About the only benefit this would have, of course, is letting you run LostKng.b from L1. :P < 1345846296 45577 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :pikhq_: Another optimization is that sequences -+ +- <> >< +, -, should never occur. < 1345846307 149329 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net PRIVMSG #esoteric :zzo38: I already handle those. < 1345846324 563892 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :<>< is very fishy brainfuck < 1345846329 757812 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Therefore the packed representation should become unable to represent such sequences. < 1345846345 654498 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net PRIVMSG #esoteric :I think the packed representation is theoretically capable of it. < 1345846367 167324 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net PRIVMSG #esoteric :But it's never actually expressed. < 1345846388 832455 :pikhq!~pikhq@71-34-137-110.clsp.qwest.net QUIT :Ping timeout: 248 seconds < 1345846417 640627 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net PRIVMSG #esoteric :Once I'm done with this I'll probably make a simple interpreter, and have a LostKng binary in $tiny. < 1345846547 918313 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Phew, Stripe stroped. < 1345846626 144544 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Another thing I was thinking of is to make a Famicom-based software synthesizer in .NSF, possibly using FDS and MMC5 expansions so that you can use the 8-bit PCM, hardware multiplication, and extra RAM (using FDS expansion makes most of the ROM area into RAM, so combining it with PCM reading from the ROM area you might be able to make RAM PCM too). < 1345846881 391653 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net PRIVMSG #esoteric :Hah. And gzip'd, LostKng is 40k after this... < 1345846881 768623 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :fizzie: ? < 1345846895 682029 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net PRIVMSG #esoteric :(vs. 88k otherwise) < 1345847033 654269 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :kmc: As in, "done". < 1345847183 928709 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :congrats < 1345847204 118506 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :fizzie, what stripe < 1345847215 424703 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I need to get back to that. < 1345847333 252216 :oerjan!oerjan@sprocket.nvg.ntnu.no TOPIC #esoteric :May contain strawberries | Just a remote control and some old gum | atriq is Taneb, just so you know | any topic history can be faked | except this | http://codu.org/logs/_esoteric/ < 1345847339 862675 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :Phantom_Hoover: stripe-ctf.com i assume < 1345847507 288806 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The above, yes. < 1345848515 480872 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :they had some fun levels < 1345848521 906121 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i think i learned more than in the previous ctf < 1345848563 80778 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Ditto, due to the different topic. < 1345848574 599533 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Which solution did you have for level 6? < 1345848625 419034 :ion!ion@heh.fi TOPIC #esoteric :May contain strawberries | Soy strawberries are more ethical | Just a remote control and some old gum | atriq is Taneb, just so you know | any topic history can be faked | except this | http://codu.org/logs/_esoteric/ < 1345848636 122940 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :shachaf: A script-embedderistic one. < 1345848667 72437 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :OK, so the same as mine, I assume. < 1345848670 926437 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc did something else. < 1345848717 579096 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :shachaf: I saw a mention in the interwebs that there was a cookie-mungling-with-secrets-from-error-message solution that the Stripe folks patched out (by disabling the error messages in question). < 1345848731 686971 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yep, that. < 1345848750 166510 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: ☝ < 1345848773 587241 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :yeah, that's what i did < 1345848979 661906 :zzo38!~zzo38@24-207-49-17.eastlink.ca TOPIC #esoteric :May contain: soy strawberries, people, computer programming, esoteric, THX deep note, ecliptic longitude, some CPU bugs, nonsensical analogies and theories, constructible with compass and ruler, matrix of solidity, lovecraftian horrors, and no tea. | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki/Special:RecentChanges < 1345849177 676730 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :no tea? how naughty. < 1345849207 818768 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :May contain tea, and no tea. < 1345849238 635440 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :If you want tea you have to make tea. < 1345849261 471188 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :fizzie: O, yes, I forgot that now you have to fix it < 1345849360 291936 :fizzie!fis@unaffiliated/fizzie TOPIC #esoteric :May contain: soy strawberries, people, computer programming, esoteric, THX deep note, ecliptic longitude, tea, some CPU bugs, nonsensical analogies and theories, constructible with compass and ruler, matrix of solidity, lovecraftian horrors, and no tea. | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki/Special:RecentChanges < 1345849373 532958 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I put it in the middle in order to not be as obvious. < 1345849377 620188 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :OK < 1345849382 393528 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Yes that is good put it middle < 1345849393 232789 :ion!ion@heh.fi TOPIC #esoteric :May contain: soy strawberries, people, computer programming, esoteric, THX deep note, ecliptic longitude, tea, some CPU bugs, nonsensical analogies and theories, constructible with compass and ruler, matrices of solidity, lovecraftian horrors, and no Ice-T. | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki/Special:RecentChanges < 1345849441 386234 :ion!ion@heh.fi PRIVMSG #esoteric :or Mr. T < 1345849538 88789 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :Mr. ⊤ < 1345849553 590555 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :but what about Mr. F? < 1345849559 337662 :monqy!~swell@pool-71-102-219-42.snloca.dsl-w.verizon.net JOIN :#esoteric < 1345849578 481412 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Mr. ⊤ and Mr. ⊥ < 1345849943 196299 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net PRIVMSG #esoteric :Mister Bottom? < 1345849945 690089 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :i just got asked if monoid is pronounced "monowid". < 1345849974 817165 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Phantom_Hoover: When I first read the word, I pronounced it "mono'ID" < 1345849977 867714 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :With a glottal stop. < 1345849985 320084 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's probably because I was talking in Hebrew at the time. < 1345850273 973827 :ion!ion@heh.fi PRIVMSG #esoteric :Mono id or mono eye dee? < 1345850292 93379 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The former (I think). < 1345850301 529686 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The capitalization was for emphasis. < 1345850309 549336 :ion!ion@heh.fi PRIVMSG #esoteric :ok < 1345850418 946589 :centrinia!~exc@adsl-184-36-79-136.asm.bellsouth.net PRIVMSG #esoteric :Mon Oyd. < 1345850750 473204 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i guess i should do the script embedding attack for level 6 < 1345850752 116436 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :for completeness < 1345850777 685525 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :in the last CTF i used a timing attack on the last level, which was also not what they were looking for :) < 1345850801 116506 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: It was, I think. < 1345850849 582976 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Actually I gather that they decided that the "impressive" solutions were the ones that used timing attacks and the "unimpressive" ones were the ones that were deterministic. < 1345850877 582332 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :At least everyone I talked to who did a timing attack got a responds within a few hours, whereas it took them several days to get back to me. < 1345850908 78458 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which is kind of backwards because the timing attack is the "obvious" thing to do -- it's what I started out by doing -- and the deterministic solution is much more situation-specific. < 1345851018 884677 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :but the timing attack is harder to actually get working, i think < 1345851040 11837 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :it was relatively easy for me, only because i had already spent days banging my head against a similar level in IO < 1345851089 2669 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: It probably was. But that means I allocated my time better! < 1345851090 496705 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :also i'm entertained by the list of programming challenges on https://stripe.com/jobs < 1345851098 707245 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In particular the MBR demo? < 1345851120 238135 :MoALTz!~no@host-92-2-140-86.as43234.net QUIT :Ping timeout: 244 seconds < 1345851131 685656 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :yes < 1345851138 556925 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I spent a while on the timing attack, it turned out to be trickier than I thought, so I thought about the problem again and came up with the pipe solution. < 1345851141 54632 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :also the code search one, which is probably inspired by nelhage doing that exactly < 1345851142 468740 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION might just be bitter. < 1345851249 899963 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i had like four tricks for making the timing attack more effective < 1345851257 377153 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That sounds interesting. < 1345851258 106576 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :which i thought of over days, and asked nelhage for one of them < 1345851269 412116 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :should i list them? < 1345851276 477388 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I should do io.sts. :-( < 1345851276 623532 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i might write a blog post about this eventually < 1345851284 922579 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which level has the timing attack? < 1345851291 198523 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(Which level was I at?) < 1345851297 174694 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :12. < 1345851307 661932 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Man, I'm no good at coming back to CTFs. < 1345851324 148158 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :11 is also really fun < 1345851331 754556 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :i didn't finish IO yet < 1345851351 401136 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :though i beat the last level, in beta test < 1345851414 432714 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: You should run the underhanded code contest and then turn the solutions into CTF levels! < 1345851647 320572 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :also amused because i think the answer to the first question is given in _The Social Network_ < 1345851709 629902 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"Given a corpus of voting data, how would you compute a total ordering?" < 1345851720 966621 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :s/$/?/ < 1345851810 542981 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :voting data being pairwise comparisons < 1345851826 329554 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I haven't seen the film. < 1345852081 148052 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :Zuckerberg made a website where it shows you two Harvard women and you click on which one is hotter < 1345852094 481797 :kmc!~keegan@c-76-119-235-30.hsd1.ma.comcast.net PRIVMSG #esoteric :and (in the film anyway) they calculated Elo ratings from this < 1345852637 221651 :pikhq_!~pikhq@70-56-224-19.clsp.qwest.net QUIT :Ping timeout: 240 seconds < 1345852644 322106 :pikhq!~pikhq@71-34-139-23.clsp.qwest.net JOIN :#esoteric