< 1315267346 157698 :quintopia!~quintopia@unaffiliated/quintopia QUIT :Ping timeout: 240 seconds < 1315267676 292711 :quintopia!~quintopia@74.117.158.92 JOIN :#esoteric < 1315267676 493810 :quintopia!~quintopia@74.117.158.92 QUIT :Changing host < 1315267676 493951 :quintopia!~quintopia@unaffiliated/quintopia JOIN :#esoteric < 1315268299 201804 :Lymee!~moe@ppp-70-251-227-154.dsl.rcsntx.swbell.net JOIN :#esoteric < 1315268299 616990 :Lymee!~moe@ppp-70-251-227-154.dsl.rcsntx.swbell.net QUIT :Changing host < 1315268299 780944 :Lymee!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1315268418 297012 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Why does :type (>>= either (const mzero) return) work but when I try to use the "let" command in GHCi it is error? < 1315268448 453661 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :what is the line producing the error, and the error itself < 1315268506 620991 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If I type that without the word ":type" before it, it results in "Ambiguous type variable" error. It does the same if I assign it using let, and even if I do specify the type on there it does the same thing < 1315268582 278083 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: that sounds like the monomorphism restriction < 1315268589 330779 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Ambiguous type variable `m0' in the constraints: (MonadPlus m0) arising from a use of `mzero' at :1:33-37 (Monad m0) arising from a use of `return' at :1:40-45 Probable fix: add a type signature that fixes these type variable(s) In the first argument of `const', namely `mzero' < 1315268599 495383 :tiffany!~tiffany@188.215.83.116 PRIVMSG #esoteric :..... < 1315268599 830292 :tiffany!~tiffany@188.215.83.116 PRIVMSG #esoteric :um < 1315268602 195377 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :hi < 1315268607 473337 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::t (>>= either (const mzero) return) < 1315268608 996092 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a a1. (MonadPlus m) => m (Either a1 a) -> m a < 1315268622 893666 :tiffany!~tiffany@188.215.83.116 PRIVMSG #esoteric :I just benchmarked lua < 1315268629 692224 :tiffany!~tiffany@188.215.83.116 PRIVMSG #esoteric :x^2 takes ~660 cycles < 1315268635 18091 :tiffany!~tiffany@188.215.83.116 PRIVMSG #esoteric :x*x takes ~1680 < 1315268635 528424 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: But sometimes resulting from that restriction it says it is monomorphism restriction. But this time it does not say that. I will try it with turning off monomorphism and see if it work < 1315268636 773342 :tiffany!~tiffany@188.215.83.116 PRIVMSG #esoteric :wth < 1315268674 238882 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :tiffany: Maybe it requires extra cycles retrieving variable "x" and it does not optimize that. < 1315268734 307167 :augur!~augur@129.2.129.33 JOIN :#esoteric < 1315268741 578000 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Yes; it does work if I turn off monomorphism restriction. < 1315268771 231592 :ive!~nn@189.179.239.6 JOIN :#esoteric < 1315268796 280313 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the only time I've had to turn off MR is when I had a configuration module with numbers in it. < 1315268806 463395 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :as they are not monomorphic by default. < 1315268874 991776 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i think the monomorphism restriction is particularly annoying when you are using pointfree definitions such as the above < 1315268894 651433 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :let f x = x >>= either (const mzero) return would not be hit by it < 1315268950 866197 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Well, I am using GHCi; does that make a difference? When writing a code in a .lhs file I will always specify the type in a separate line. < 1315268963 41516 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: maybe the different error message is becaus m0 is a type constructor variable, not a simple type variable which can be defaulted. < 1315268969 611736 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :*because < 1315268975 367395 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(just guessing on that) < 1315269013 559832 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: yes, the monomorphism restriction can be removed in most cases by adding a type signature, or by making a function have explicit arguments. < 1315269084 481513 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I always specify a type signature (although there might be some cases in which the definitions are made up by macros or other stuff so that I do not write a type signature), but in GHCi it cannot do that. < 1315269090 55846 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: you _can_ do that with ghci too i think, a let can take a type signature as well < 1315269101 522016 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :OK < 1315269142 771983 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :@let test1 = (>>= either (const mzero) return); test1 :: (MonadPlus m) => m (Either a1 a) -> m a < 1315269144 148286 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Defined. < 1315269159 360701 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hm i guess that does not really prove anything < 1315269161 606789 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::t test1 < 1315269162 806680 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a1 a. (MonadPlus m) => m (Either a1 a) -> m a < 1315269175 377860 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :but that's the syntax anyway < 1315269177 955847 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I still like to turn off monomorphism restriction though, since it allows making declarations by macro or Template Haskell or whatever else it is < 1315269193 969787 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :\/win 4 < 1315269212 526010 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: yes, many people think it is annoying and it is often debated. i think it may even be turned off by default in a future ghc. < 1315269238 914170 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: I don't care since it can still be turned off using -X or a LANGUAGE pragma < 1315269262 289237 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Some people might want monomorphism restriction. < 1315269287 642739 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yeah < 1315269671 95793 :augur!~augur@129.2.129.33 QUIT :Remote host closed the connection < 1315270095 796968 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net JOIN :#esoteric < 1315270283 978841 :pikhq!~pikhq@71-219-229-117.clsp.qwest.net QUIT :Ping timeout: 258 seconds < 1315270659 712687 :tiffany!~tiffany@188.215.83.116 NICK :tiffany|away < 1315273028 379059 :sebbu2!~sebbu@ADijon-152-1-25-17.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1315273028 865374 :sebbu2!~sebbu@ADijon-152-1-25-17.w83-194.abo.wanadoo.fr QUIT :Changing host < 1315273029 29600 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1315273223 489778 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 240 seconds < 1315274370 749192 :tswett!~Warrigal@171.64.42.221 JOIN :#esoteric < 1315274376 612338 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :And it's going to have 376 different commands. < 1315274385 779825 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Won't that be awesome? < 1315274436 660187 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :What is it? < 1315274440 155577 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Yes, but is the bicycle included? < 1315274445 584348 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :What will have 374 different commands? < 1315274462 267970 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :The bicycle won't be included; you'll have to build it yourself. < 1315274472 955133 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :darn < 1315274479 776839 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :"It" is Smokefly, that game that's still utterly in the planning stage. < 1315274488 231148 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :It's, like. < 1315274495 152487 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :ACTION draws the planning stage, and points at it. < 1315274496 502347 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :It's here. < 1315274515 42369 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :even the planning stage is in the planning stage < 1315274532 797402 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Any other description than just those things? < 1315274538 411614 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Precisely. I haven't figured out how I'm going to plan it yet. < 1315274608 154038 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> iterate ((`mod`1000).(^2)) 2 < 1315274610 385642 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,4,16,256,536,296,616,456,936,96,216,656,336,896,816,856,736,696,416,56,1... < 1315274625 236313 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Okay, okay. Smokefly. It's a game where there's you, and there's the world. You can use materials, tools, and buildings to create other materials, tools, and buildings. < 1315274643 571343 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> iterate ((`mod`1000).(^2)) 8 < 1315274645 724840 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [8,64,96,216,656,336,896,816,856,736,696,416,56,136,496,16,256,536,296,616,... < 1315274659 898633 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> iterate ((`mod`1000).(^2)) 32 < 1315274661 899360 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [32,24,576,776,176,976,576,776,176,976,576,776,176,976,576,776,176,976,576,... < 1315274700 533781 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> iterate ((`mod`1000).(^2)) 376 < 1315274702 707819 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,37... < 1315274714 527716 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Yay! < 1315274719 224421 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i knew there was something about that number < 1315274737 864450 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :That's not the thing about it, though. There's a good reason to have 376 commands. < 1315274750 514065 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :_two_ good reasons < 1315274757 407677 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Right, right. < 1315274767 544254 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> 376%4 < 1315274769 26614 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 94 % 1 < 1315274777 788286 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> 94%2 < 1315274779 35968 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 47 % 1 < 1315274802 797098 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :See? < 1315274836 789350 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :8 times a prime? < 1315274847 53410 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :That's a very important prime. < 1315274862 145461 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :...ok < 1315274890 775953 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :It is, you see, the number of printable character keys on a US keyboard. < 1315274915 522482 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :what. < 1315274960 62435 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :~!@#$%^&*()_+`1234567890-=qwertyuiop[]\QWERTYUIOP{}|asdfghjkl;'ASDFGHJKL:"zxcvbnm,./ZXCVBNM<>? disagrees with you < 1315274961 93675 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :...it's a conspiracy! < 1315274977 140836 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :coppro: do you have separate keys for all those? < 1315274990 136377 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :tswett: keys or key combinations < 1315274997 571360 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Keys. < 1315275000 792658 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :oh < 1315275005 780649 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :a US keyboard has just over 100 < 1315275023 1042 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Those are not all printable character keys. < 1315275032 877389 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :do you mean graphing characters? < 1315275033 715589 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :F6, for example, is not a printable character. Nor is tab. < 1315275041 165288 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> [n | n<-[0..999], n*n `mod` 1000 == n] < 1315275042 547144 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [0,1,376,625] < 1315275049 174455 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Granted, the number pad has some extras. < 1315275057 624324 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I think F6 might not be a character while Tab is < 1315275086 410864 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> [n | n<-[0..9999], n*n `mod` 10000 == n] < 1315275087 926273 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [0,1,625,9376] < 1315275158 989945 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i guess it's probably obvious if you do (mod 2^k) and (mod 5^k) separately < 1315275224 607337 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :n*(n-1) === 0 (mod p^k) < 1315275256 379614 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :=> n === 0 or n===1 (mod p^k) < 1315275363 175804 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(using that gcd (n,n-1) == 1 and the modulus is a prime power) < 1315275486 991133 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :so the 8 then, is for combinations of shift/ctrl/alt or the like? < 1315275533 571182 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :tswett: ^ < 1315275546 64031 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Yep. < 1315275560 709042 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :Sgeo: tab is a character, but it's not printable. < 1315275563 106036 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :For some reason. < 1315275588 758383 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :it doesn't have a fixed width < 1315275667 120845 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> [n | n<-[0..59], n*n `mod` 60 == n] -- i predict 8 elements < 1315275668 413349 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [0,1,16,21,25,36,40,45] < 1315276098 469074 :Guardric!Guardric@hill-c-158.resnet.purdue.edu JOIN :#esoteric < 1315277475 725488 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Hmm < 1315277482 233107 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Isn't \n decimal 10? < 1315277501 248490 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION figured out why Ctrl-Shift-u-A works < 1315277506 679717 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ª < 1315277509 879668 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :પ < 1315277526 571601 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric : < 1315277763 253481 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Sgeo: istr it may be OS-dependent < 1315277824 254575 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :also, that it's always one char, even on OS'es that use CRLF < 1315277841 28689 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(being converted for text files) < 1315277951 466420 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I think \n is always one byte (in C), although it may be converted when reading/writing < 1315278093 627102 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!c print("%d\n", '\n'); /* 10 on linux, of course */ < 1315278098 779533 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Does not compile. < 1315278109 136132 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :er < 1315278112 752039 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!c printf("%d\n", '\n'); /* 10 on linux, of course */ < 1315278114 700269 :EgoBot!foobar@codu.org PRIVMSG #esoteric :10 < 1315278158 520382 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :\n is always 10 < 1315278165 644203 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :> '\n < 1315278166 331618 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : : < 1315278166 548795 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : unexpected end-of-file in string/character literal... < 1315278169 109019 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :> ord '\n' < 1315278169 651179 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 10 < 1315278190 697098 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :copumpkin: i vaguely thought old MacOS used 13, or something < 1315278199 298319 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :> ord '\r' < 1315278199 811645 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 13 < 1315278272 691850 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Can a Turing machine's tape be bounded on one end instead of indefinitely extensible in both directions? < 1315278320 847555 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Certainly. < 1315278325 90847 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :there's a 1 to 1 correspondence between the integers and the naturals < 1315278326 814994 :copumpkin!~pumpkin@unaffiliated/pumpkingod PRIVMSG #esoteric :so I'd assume so < 1315278340 524131 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :It can even be Universal with such a tape. < 1315278369 618720 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Can the tape also contain only 0s and 1s and still be universal? < 1315278374 113094 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yes. < 1315278382 680223 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :copumpkin: \n is not always 10. < 1315278400 673147 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :copumpkin: C makes no statement about the character set. < 1315278404 142743 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :copumpkin: Nor does POSIX. < 1315278438 75807 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Of course, in *practice*, nobody uses anything but ASCII supersets. < 1315278493 207542 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Newline#In_programming_languages < 1315278513 817246 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :The Turing machine Wiki article mentioned that "In some models the tape has a left end marked with a special symbol; the tape extends or is indefinitely extensible to the right" which made me wonder if a "special symbol" was truly necessary. < 1315278592 232726 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :It's actually perfectly permissible for stdio to do text translation on POSIX, I think. < 1315278621 353089 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 240 seconds < 1315278646 450535 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1315278705 41518 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: well brainfuck is essentially a weirdly encoded turing machine, and needs no special symbol, although it may crash if you go off the left end < 1315278758 350051 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :see boolfuck, which is TC with just 0 and 1 < 1315278765 127005 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :pikhq_: C makes a few statements, namely: 1) NUL is 0. 2) 0-9 are consecutive < 1315278805 769764 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :coppro: Ah, right. < 1315278808 525600 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Yeah, I know about both of those languages, and I actually wrote my own smallfuck interpreter in Java. < 1315278826 659715 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :smallfuck is not tc though, iirc < 1315278831 162194 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :coppro: And that there exist certain characters. < 1315278839 425236 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :The main reason why I'm asking is because I'm interested in how simple you can make a language or machine while still being Turing complete. < 1315278914 40775 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, I believe smallfuck is Turing-complete because I/O can be memory mapped. < 1315278954 861018 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: urk < 1315278987 754836 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :smallfuck has a limited tape, that's why it's not tc < 1315279044 879248 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Ah, I see. Have you heard of BitChanger? < 1315279204 695148 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i must have < 1315279227 747932 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :it did not leave much of an impression < 1315279296 852346 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :for ultimate simplicity, see Bitwise Cyclic Tag < 1315279320 582131 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :It combines the > and @ operators to form the } operator < 1315279330 532189 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Guardric: I/O is not necessary for Turing completeness. < 1315279337 776311 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Brainfuck is TC without . and , < 1315279345 979027 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :see also P'' < 1315279639 638918 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :BCT looks very interesting. The esolang article says 0 deletes the leftmost data-bit - is that equivalent to the act of shifting all symbols to the left, causing the leftmost data-bit to be overwritten? < 1315279750 77252 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :well yes, assuming you delete the last one instead... < 1315280000 831441 :MDude!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net NICK :MSleep < 1315280097 152419 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Oh, the output of a BCT program is the sequence of deleted bits? < 1315280099 953443 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :other minimal stuff for which i'm particularly biased: /// (Slashes), Underload (just the :()^ commands), and brainfuck with 3 unbounded cells. < 1315280139 662191 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and then there's Iota and Jot < 1315280159 266994 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(and SKI calculus in general) < 1315280162 366560 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Awesome, what does 3 unbounded cells for brainfuck mean? < 1315280184 611393 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :that the tape has just 3 cells, but the cell values are unbounded integers < 1315280204 807369 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I would really like to learn how Iota and Jot operate, but unfortunately I cannot comprehend the explanations. < 1315280215 999526 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i should also mention minsky machines with 2 registers, which inspired it < 1315280216 448980 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Is that Turing-complete? < 1315280230 513834 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :all the things i mentioned now are tc < 1315280270 974260 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh and of course fractran. < 1315280274 259222 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :That's surprising to me < 1315280317 187741 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :the 3-cell part? anyhow the proof is in the Collatz function wiki article < 1315280346 429644 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :or Iota and Jot? < 1315280360 605488 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :The 3-cell Turing-complete < 1315280371 580005 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :What's the difference between Iota and Jot < 1315280383 217540 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :those are just different encodings of SKI calculus < 1315280415 602470 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Do they operate on a tape of binary numbers? < 1315280439 391620 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :no, they are functions from functions to functions. < 1315280465 893574 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :or well, what you do is reduce them to minimal form < 1315280513 660237 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :SKI calculus is again used by encoding lambda calculus in it < 1315280523 385518 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :How do they compute things then? I thought you need a way to get the output of the calculation < 1315280535 411742 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :david madore's unlambda page has a nice explanation of stuff < 1315280562 252027 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :well there are many ways of encoding I/O. lazy-k has one such. < 1315280595 517417 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :you encode input as a function, apply the program function to it, and get a function which encodes the output < 1315280652 368040 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Strange... I can't even begin to understand how it works < 1315280711 912657 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :well for the input, it is encoded as a list of bytes terminated by 256 iirc. and then you need to know how to encode lists, and bytes. < 1315280745 140677 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :bytes are encoded as "church numerals" < 1315280782 237482 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :lists are encoded as pairs of first element, then rest of list. then you need to encode pairs... < 1315280789 290154 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :but it all bottoms out in the end. < 1315280793 960214 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :wow < 1315281011 762082 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :What do you think is the most minimalistic of these languages? (brainfuck, BCT, Iota, Jot, Underload...) < 1315281023 282384 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Depends how you define minimalistic < 1315281034 706598 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :But probably iota or jot < 1315281039 326853 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :Since they have 1-2 instructions < 1315281195 852431 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :/// also needs just 2 ;) < 1315281294 734806 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Is it possible to have a Turing-complete machine which operates on a left-bounded binary tape with memory mapped I/O and instructions? < 1315281339 778029 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Where output is merely the tape's contents after the machine has terminated < 1315281348 248230 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :almost certainly. there might even be one already in our Category:Brainfuck derivatives < 1315281360 356845 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh wait < 1315281380 99470 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I've been looking around for days and the closest I've come is BitChanger, and now perhaps BCT < 1315281390 409169 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: um, by memory mapped, you mean that input is just the initial tape, and output is just the final tape? < 1315281414 243402 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i think you have just described the usual turing machine model. < 1315281414 946326 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Yes, and the instructions are also on the tape initially < 1315281422 224583 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :really? < 1315281425 69569 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh instructions... < 1315281445 661043 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :well, you can do that too, it's called a universal turing machine < 1315281482 572903 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(you have a turing machine which interprets the beginning of its tape as the instructions for any other turing machine) < 1315281534 877250 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :That sounds right, sweet < 1315281553 379782 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> filterM (const [True, False]) "rain " < 1315281554 397092 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ["rain ","rain","rai ","rai","ran ","ran","ra ","ra","rin ","rin","ri ","ri... < 1315281568 43732 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> filterM (const [True, False]) "rain" < 1315281568 889140 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ["rain","rai","ran","ra","rin","ri","rn","r","ain","ai","an","a","in","i","... < 1315281588 839090 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I love that little trick. < 1315281635 919958 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, I have a hard time fully understanding how the Universal Turing machine works from Wikipedia's article < 1315281646 69246 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :It's mainly the action table that trips me up < 1315281663 612074 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :it's easy to understand that it CAN work - look at eval() in python for instance < 1315281762 44619 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl /(?{`perl -e "eval {print 2}"`})/ #wheeee < 1315281780 182619 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!sh perl -v < 1315281789 981169 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hmm < 1315281846 586207 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: it's a rather complicated thing, i'd not worry about not understanding it. but it's essentially an interpreter written in the language of turing machines < 1315281871 817158 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm guessing there's no perl in the egobot sandbox. < 1315281889 876822 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!perl print "oh?" < 1315281890 380221 :EgoBot!foobar@codu.org PRIVMSG #esoteric :oh? < 1315281900 147949 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I mean from bash. < 1315281909 836442 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!sh which perl < 1315281910 364081 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​/usr/bin/perl < 1315281916 877293 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah nevermind I see. < 1315281917 40850 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :tsk tsk < 1315281925 811543 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!perl /(?{print `perl -e "eval {print 2}"`})/ #wheeee < 1315281926 449901 :EgoBot!foobar@codu.org PRIVMSG #esoteric :2 < 1315281941 999277 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, what about a regular Turing machine? What's the difference between the two? < 1315281975 673940 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I believe they are the same thing, but the universal Turing machine is just a formalism to describe a particular kind of turing machine? < 1315281985 64379 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: a regular turing machine has an arbitrary instruction set, while a universal one has an instruction set that allows it to simulate any other turing machine < 1315281991 504201 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :a univeral turing machine is just a specifically coded turing machine < 1315282022 449274 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :by "instruction set", i mean the same thing as an "action table" < 1315282056 230045 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Hmm, I don't understand action tables, and what is meant by states < 1315282073 874156 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :A state determines your current behaviour and which states you'll transistion into next based on what you see < 1315282075 570549 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I understand how languages like brainfuck work, but I guess they're a far cry from Turing machines < 1315282085 149853 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :not really. < 1315282086 584677 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: a turing machine has a head, which is in a state, and at a position of the tape < 1315282132 291661 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :for each possible state, and each possible symbol on the tape, the action table tells the TM what to do next < 1315282164 385527 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :the action table + state is basically equivalent to bf program + position in program < 1315282183 986447 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :so there are (# of states) * (# of possible symbols) entries in the action table? < 1315282191 804455 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yep < 1315282224 980835 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :cartesian product, bitches. < 1315282231 403835 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :represent. < 1315282254 570487 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :the equivalence is not _entirely_ two-way, but you can convert a bf program with bounded cell size into a turing machine action table < 1315282304 109786 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :except output is meaningless for a turing machine, I believe. < 1315282308 456566 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :one state per program position, one symbol per cell possibility < 1315282316 35750 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ah yes. ignore . and , < 1315282346 421277 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :So the bf program pointer and cell pointer define the state? < 1315282401 54742 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :and the state of every cell < 1315282410 834567 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :no, the cell pointer is different, that corresponds to tape position < 1315282420 737467 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Wait, I mean: Does (current program command + current cell value) = state? < 1315282423 148647 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :which is basically exactly the same thing for bf as for tm's < 1315282432 905565 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :no, just current program command < 1315282481 726983 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Ugh, sorry I'm not getting this >.< < 1315282488 275356 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :current program command, current cell value, current cell pointer vs. current state, current tape symbol, current tape position < 1315282548 402878 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Well, a bf interpreter knows what to do next if you give it the current command and current tape symbol, right? < 1315282566 214186 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yes < 1315282567 800854 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :yup. it just looks at what the symbol is (and the contents under the tape pointer) < 1315282573 572078 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :and it's a trivial decision < 1315282608 952783 :oklopol!~kvirc@dyn58-57.yok.fi JOIN :#esoteric < 1315282636 909809 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :OK cool, let me guess what a smallfuck (binary tape) action table would look like... < 1315282683 520168 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 252 seconds < 1315282719 44860 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :(Command, current tape symbol) Action < 1315282733 470311 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :(>, irrelevant) Move cell pointer right < 1315282740 324539 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :(<, irrelevant) Move cell pointer left < 1315282750 241735 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :(*, irrelevant) Flip bit < 1315282761 413913 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: note that for a turing machine the action includes what state to go to next < 1315282770 576228 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :which you'll need for [ and ] < 1315282789 480925 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :* does care about the cell's letter, it has to turn 0 to 1 and 1 to 0 < 1315282793 6917 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :([, 0) Jump past matching ] if current cell is 0 < 1315282820 219108 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :([, 1) Do nothing, meaning just move to the next instruction < 1315282830 309848 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :(], 0) Do nothing < 1315282837 742831 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :(], 1) Jump back to matching [ < 1315282862 662040 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: also the action table needs to have different entries for identical commands at different points in the bf program < 1315282879 584665 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :really? how would that work? < 1315282895 426395 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :What do you mean by different points in the bf program < 1315282907 196058 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :encode every byte of the brainfuck derivative program as a state from 1 to length < 1315282912 568306 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :every state points towards the next < 1315282921 758515 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :EXCEPT ]s which point towards the next OR their corresponding ['s number < 1315283020 908408 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I'm looking at the Universal Turing machine Wiki page, " If we denote by (m, n) the class of UTMs with m states and n symbols the following tuples have been found: (15, 2), (9, 3), (6, 4), (5, 5), (4, 6), (3, 9), and (2, 18)." < 1315283045 370560 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :If I desire a binary tape, that means 15 states are needed? < 1315283075 90692 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: look at the Turing machine page instead, that universal page assumes you already know it < 1315283112 263260 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh hm < 1315283147 47336 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 JOIN :#esoteric < 1315283151 644848 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: probably < 1315283156 355056 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Hello < 1315283173 60087 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :I am kindled again < 1315283182 375507 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hi i thought you'd finished your vacation < 1315283209 631264 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Yeah but it is early and I don't wat to turn on th computer < 1315283229 980295 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Because it is next to my parents' room < 1315283241 235527 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Hmm, so if you have @<>[] commands, you need 7 states? 1 for each @<> and 2 for [ and ]? < 1315283252 887517 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :And my laptop is out of action < 1315283264 88128 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: i told you, you need one state for each position in the program < 1315283285 871902 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :So if the program is 300 commands long, you need 300 states? < 1315283291 689473 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yep < 1315283301 334256 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :although you can probably compress it a bit < 1315283307 990096 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :What are we talking about? < 1315283321 139236 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :since a tm can do things in 1 step that a bf program needs several for < 1315283323 287979 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :what if the machine doesn't know how long the program is initially? < 1315283354 319918 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: oh the _universal_ tm does not have states dependent on the bf program < 1315283379 790468 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :a tm encoded directly from the bf program would < 1315283382 898118 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :think about how the java virtual machine runs a java program without being coded for it < 1315283503 712054 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :the universal tm would need to encode the states of the tm it simulates in the tape instead < 1315283545 969166 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I'm so confused... < 1315283568 419577 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: a universal tm is essentially an interpreter for tm's < 1315283589 398834 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Written as a Tm < 1315283595 649146 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Heh, I don't understand that at all =( < 1315283597 238856 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :like a java interpreter in java would interpret java programs < 1315283611 44825 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: do you understand how interpreters work, in general? < 1315283630 239316 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I'd like to think I do, I've written a smallfuck interpreter in Java today < 1315283646 804836 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :now let's say you were writing a java interpreter in java < 1315283764 965813 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :let's say it had a class F, and that the program you wanted to run _also_ had a class F. < 1315283803 269639 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :then you wouldn't want to confuse them. so you would implement the class F in the program you run as something completely different from your original class F. < 1315283842 849842 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :in the same way, when a universal turing machine interprets a state in the tm it simulates, it would not want to confuse it with its own states. < 1315283869 632191 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :it would represent it as something on the tape instead < 1315283900 309350 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(since, apart from its states which it needs to use for its own purposes, the tape is the only place it can store things) < 1315284004 565540 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I really appreciate you explaining so much for me, but I'm sorry to say that I just don't get it. Maybe if we start from a bf or sf perspective, and work from there? < 1315284009 998424 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I think the question I need to ask is: Is is possible to encode a bf or sf program on the tape? < 1315284018 341785 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :certainly < 1315284033 484626 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :in fact if you have 9 symbols, it's quite easy :P < 1315284039 994508 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(1 extra to mark the end) < 1315284085 812258 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :OK, let's consider a bf machine like so: the first cell of the tape is initially set to n which is the length of the bf program to be executed < 1315284115 71102 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :why not just encode the whole program in that first cell? < 1315284124 477679 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: er, for turing machines you only a _finite_ set of symbols < 1315284130 106660 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :*you have < 1315284142 430062 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :you cannot encode an arbitrary length in a single cell then < 1315284179 215595 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :you could write the length in the initial cells in binary, though < 1315284180 664498 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :my noob sense is tingling < 1315284180 828339 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Then cells 2 onward contain the program you wish to execute (cell #2 to 2 + n I think) < 1315284203 761845 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :ACTION runs away from angry swat < 1315284213 984318 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: i think it would be easier to have just an end marker, no need to store the length < 1315284264 657444 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :OK then, say the commands +-<>[] are encoded as the numbers 1 through 6, and the end of the program is marked by a 0 < 1315284279 567392 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yeah < 1315284299 367082 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Fun fact: there is a countably infinite number of well-defined algorithms < 1315284299 548538 :CakeProphet!~adam@h184-60-161-54.nlsnga.dsl.dynamic.tds.net JOIN :#esoteric < 1315284299 712428 :CakeProphet!~adam@h184-60-161-54.nlsnga.dsl.dynamic.tds.net QUIT :Changing host < 1315284299 712587 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1315284300 879157 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :After that 0 comes input, the end of which is also marked by a 0 < 1315284313 516828 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :Taneb|Kindle: did you know 1+2=3? < 1315284326 391918 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: sounds good < 1315284353 452639 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :oklopol:I have added that one to my list < 1315284360 125929 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :except what if input has 0's :O < 1315284363 859391 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :so the value in an input cell can be in the range 1 to # of symbols < 1315284377 887333 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :OH NO < 1315284383 462783 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Where # is finite < 1315284393 933109 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Yes, # of symbols is finite < 1315284394 872759 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oklopol: well bf often does eof=0 anyway < 1315284401 379943 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :oerjan: nooooooo < 1315284424 298955 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Now, after this second 0 is free-roam area for the machine to do its work < 1315284435 908102 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :oerjan, I think I am in need of a swat but I cannot remember why < 1315284442 768955 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :if it's a ubf, i would'be thought there are a constant 256 symbols < 1315284509 971772 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Not necassarily < 1315284530 517250 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :What would the tape look like if I want the program to be "+>+" and the input to be null and the output to be "11"? < 1315284536 843302 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :yes necessarily < 1315284575 524893 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :1 4 1 0 0 < 1315284591 540865 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :There is a minimum of two oklpopol < 1315284597 311733 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :why are you spoonfeeding him < 1315284613 163850 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh hm < 1315284621 505689 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, precisely what I was thinking. Now, could you take me through the execution steps? < 1315284635 720970 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :you can't execute yet < 1315284643 291308 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Do you know how to invent Golf-Haskell? < 1315284646 361166 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Because spoonfeed is the longest word in the english language with all its letters in reverse alphabetical order < 1315284652 911529 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :you don't know where the head is < 1315284654 513706 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: there needs to be some temporary storage as well < 1315284668 419470 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, what do you mean? < 1315284697 108255 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: or wait hm maybe not < 1315284712 480729 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :Taneb|Kindle: are you sure < 1315284725 478819 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Taneb|Kindle: O, I didn't notice that. But now I can see it is in fact in reverse alphabetical order < 1315284728 247282 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :fairly confident < 1315284747 2403 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It is nine letter long but I do not know if there is longer word having that property. < 1315284752 413972 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: first i would shift every right so there is room to put markers on the tape for current bf program position and current bf tape position < 1315284757 145664 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :*everything < 1315284770 580187 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :GWR said so < 1315284776 422157 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, I understand < 1315284797 103801 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, let's say the tape starts out that way, 0014100 < 1315284845 579844 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :you only need one zero < 1315284851 825291 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :in the beginning < 1315284867 168098 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oklopol: probably < 1315284887 901761 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :hmm well true, i'm not sure < 1315284908 729459 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :better have some elbow room, since bf is insane < 1315284929 711463 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :although you could also use the zeros after the tape... < 1315284958 288020 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :fastest eva < 1315284995 468269 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :I wonder if Uniquode as-is is Turing complete < 1315285004 847573 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, if the number of symbols is finite, would that mean that the amount of accessible cells is finite? < 1315285014 819803 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: no. < 1315285018 925150 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :[>] will eventually reach every cell < 1315285041 745773 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :yeah right < 1315285051 847613 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :[>+] < 1315285055 886972 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :no < 1315285061 439675 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :noobs < 1315285064 897027 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric ::( < 1315285065 796515 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :i'm gonna go < 1315285076 923149 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric ::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD < 1315285106 517553 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :but if you use the first cell to hold the value of the current cell pointer...? < 1315285113 400719 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Patashu yours would stop on the first zero cell < 1315285115 531267 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: no you don't. < 1315285118 134225 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :shh < 1315285122 69440 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :Guardric: don't do that < 1315285135 592199 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :you use a 0 _in_ the tape at the spot for the current cell pointer < 1315285136 101192 :oklopol!~kvirc@dyn58-57.yok.fi PRIVMSG #esoteric :not in bf < 1315285153 659944 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and then similarly as with input, add 1 to the actual cell values < 1315285198 834184 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :wait what? < 1315285218 662974 :Taneb|Kindle!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 QUIT :Quit: Kindle browser needs multiple tabs < 1315285219 896006 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: you said input could be from 1 to max symbols < 1315285231 307498 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :so it's reasonable to encode bf tape the same way < 1315285233 126336 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Insert a 0 after the current command cell? < 1315285300 913870 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, I think I'm getting what you're saying... Keep going with the execution < 1315285316 866677 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :so first you'd shift everything over two cells? < 1315285326 597414 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: 01410000. the first 0 is the initial bf program pointer, the second is end of program, the third is end of input, the fourth is current bf tape spot, the fifth is end of bf tape so far < 1315285356 849488 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i think that should be enough room for things < 1315285364 944566 :ive!~nn@189.179.239.6 QUIT :Quit: leaving < 1315285405 749808 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :so we start at the first 0. go right, look at the first command. it's a +. < 1315285453 21179 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :turn it into 0. go left, turn that into 1 (+) instead. < 1315285509 416836 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :10410000 and we still need to actually _perform_ the +. go right to the fourth 0, which represents the bf tape pointer. < 1315285598 662084 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :go right, note there is a 0 there too, representing end of tape. to prolong the tape: turn that into 2, go right beyond tape, make a 0. < 1315285611 148305 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :104100020 < 1315285627 486293 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(the 2 represents a bf 1 cell) < 1315285652 616991 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :go left again to the first 0. you are now ready to perform another command. < 1315285691 84939 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :as you can see this is verbose, even though i've already summarized many steps of seeking to 0's < 1315285695 28941 :darth!631fe5bc@gateway/web/freenode/ip.99.31.229.188 JOIN :#esoteric < 1315285744 982932 :darth!631fe5bc@gateway/web/freenode/ip.99.31.229.188 PART :#esoteric < 1315285765 960307 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :for the 4 (>) instruction we again swap it with the previous 0, seek to the fourth 0, and now swap _that_ with the 2. < 1315285783 579976 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :140100200 < 1315285831 26394 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :then go back to the first 0 again. the final 1 (+) proceeds much like the first and we end up with 141002020. < 1315285852 163145 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :at which point we detect that the first 0 has reached the second, so the program ends. < 1315285874 778778 :Guardric!Guardric@hill-c-158.resnet.purdue.edu QUIT :*.net *.split < 1315285874 982343 :olsner!~salparot@c83-252-161-133.bredband.comhem.se QUIT :*.net *.split < 1315285883 928488 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :gah < 1315285887 617344 :Guardric!Guardric@hill-c-158.resnet.purdue.edu JOIN :#esoteric < 1315285891 28867 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :typical :P < 1315285894 151177 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh < 1315285896 351045 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :What just happened... < 1315285905 400931 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: what was the last line you saw? < 1315285906 709783 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :I got disconnected for some reason < 1315285919 190837 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :go left again to the first 0. you are now ready to perform another command. < 1315285924 957856 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :argh < 1315285944 147185 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric : as you can see this is verbose, even though i've already summarized many steps of seeking to 0's < 1315285944 311008 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :* darth (631fe5bc@gateway/web/freenode/ip.99.31.229.188) has joined #esoteric < 1315285944 311196 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :* darth (631fe5bc@gateway/web/freenode/ip.99.31.229.188) has left #esoteric < 1315285944 311303 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric : for the 4 (>) instruction we again swap it with the previous 0, seek to the fourth 0, and now swap _that_ with the 2. < 1315285944 311407 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric : 140100200 < 1315285946 112484 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric : then go back to the first 0 again. the final 1 (+) proceeds much like the first and we end up with 141002020. < 1315285949 165330 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric : at which point we detect that the first 0 has reached the second, so the program ends. < 1315285951 125819 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :* Guardric has quit (*.net *.split) < 1315285953 159073 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :* olsner has quit (*.net *.split) < 1315285968 985397 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ACTION feels no guilt < 1315285976 732092 :olsner!~salparot@c83-252-161-133.bredband.comhem.se JOIN :#esoteric < 1315285984 587420 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: on irc, netsplits happen, that's just life. < 1315286026 401869 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Ah ok, well thank you very much for stepping through that simple program < 1315286074 734448 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: this should work nicely for +-<>. i think it _may_ be possible to use it for [] as well, but it needs some thought for the [] matching seeking < 1315286091 627816 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Out of curiosity, how would this work with a binary tape? You would no longer be able to encode integers in a single cell < 1315286110 939471 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Guardric: well as i said a tm has finite number of symbols anyway < 1315286152 264390 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :but in any case, if you want to simulate 256 symbols with a binary tm, just write them down in binary < 1315286197 277546 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :tm's actually handle that easier than bf, since they can always remember which bit they're at < 1315286294 31579 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :if you _do_ want unbounded cells, then you need to find some way to encode them. the simplest is unary, just do 0's separated by number of 1's. this does mean you may have to shift the entire tape to increment/decrement things, though < 1315286341 77445 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Whoa < 1315286424 448068 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :but having to shift the entire tape to handle arbitrary data is a known problem for bf with bounded cells anyway < 1315286436 118429 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(when programming _in_ bf) < 1315286496 523992 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :Gotcha < 1315286680 214893 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 JOIN :#esoteric < 1315286692 134544 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Hello < 1315286787 991527 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Would it be incorrect to understand a von Neumman machine as a combination of a quine and a self interpreter? < 1315286829 206138 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :sounds about right < 1315286839 800344 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :applies to life in general... < 1315287531 732242 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :Life's programmer is horrible. I mean, it uses a cheating quine! And that's horrible! < 1315287565 479203 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :what, cheating? < 1315287643 120070 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Why does Haskell sometimes change the type of a function I have defined and specified the type? < 1315287655 484437 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!userinterps < 1315287655 812145 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo ehird elmer fudd google graph gregor hello id insanetemp jethro kraut lperl lsh map num numberwang ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish valspeak wacro warez wc yodawg < 1315287672 193700 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :!svedeesh Wow today is a lovely day. < 1315287672 953869 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Fuu toodey is a looffely dey. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! < 1315287685 676711 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: how so? < 1315287686 698241 :Guardric!Guardric@hill-c-158.resnet.purdue.edu PRIVMSG #esoteric :oerjan, thanks for all your help, I will be back tomorrow probably =) < 1315287711 796668 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :you're welcome :) < 1315287715 252452 :Guardric!Guardric@hill-c-158.resnet.purdue.edu QUIT :Quit: Leaving < 1315287727 509965 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Something else is also wrong; perhaps I am doing something wrong. < 1315287759 278128 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I tried to define "instance Ord t => MonadX Set t" but it says it cannot deduce (Ord b) < 1315287786 902268 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hm, needs more context < 1315287840 824018 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Don't you need a ->? < 1315287848 985717 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i would guess you are somehow mixing MonadX Set t 's with MonadX Set b < 1315287854 474951 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I put: bindX :: (MonadX m b, MonadX m (m a), MonadX m a) => m b -> (b -> m a) -> m a; bindX x f = joinX (fmapX f x); but somehow it changed the type to Monad m => m b -> (b -> m a) -> m a but it seems it won't do that if there is more than one instance, so I guess it is OK < 1315287872 150946 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Taneb: not if MonadX is a multiparameter typeclass < 1315287891 405622 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :I have much to learn < 1315287900 227706 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: The error is on this definition: fmapX = Data.Set.map; (it doesn't mention "b" at all.) < 1315287972 923320 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: does your MonadX have any functional dependency from Set to t? otherwise it might not know that you are using it at type t < 1315287994 543924 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :O, that is what is wrong. How do you make functional dependency? < 1315288002 644180 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :What does functional dependency mean? < 1315288011 581275 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :class MonadX m t | m -> t where < 1315288085 865503 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :No, I still get the same problem, even after I added the functional dependency and the LANGUAGE pragmas FunctionalDependencies and UndecidableInstances. < 1315288087 371718 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :er, m might not be the best letter there, but anyhow. < 1315288105 934572 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :What does functional dependencies means anyways? < 1315288129 568414 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Whatever; as long as it is not the same as the other letter it should work < 1315288259 990055 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: normally you cannot deduce from an instance MonadX A B that there is not a different instance MonadX A C, which leads to problems selecting an instance if your function or similar only uses the A type < 1315288286 622385 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But the "B" in this example is a variable. < 1315288325 556952 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yes, but the point is that b could be _any_ type that happened to have such an instance < 1315288362 59583 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and without a functional dependency it cannot deduce that it's the same as you want < 1315288397 175941 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But the same error even with functional dependency < 1315288414 82704 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh btw i see that you cannot use a f.d. on MonadX since you _do_ want to use it with more than one b per m < 1315288431 892202 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Yes < 1315288457 398483 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :wait you said it changed the type to Monad m => m b -> (b -> m a) -> m a < 1315288469 509763 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :that's weird, must be something different < 1315288478 461367 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hm... < 1315288489 492310 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I think the reason it doesn't work is that it ignores constraints on datatype declarations. I read somewhere that it does that. < 1315288503 328507 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: do you happen to have an instance Monad m => MonadX m b ? that would mess up things < 1315288527 388572 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :and perhaps in that way < 1315288528 687829 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Going to learn some more Haskell < 1315288535 687225 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Cos I is Haskell newb < 1315288548 329338 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Yes I do; but it only changes the type to that if that is the *only* instance. Deleting that instance does not get rid of the (Ord b) error though. < 1315288549 429800 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :how much do you know < 1315288573 289657 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :I'mupt to guards in LYAH < 1315288632 225925 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :Actually I am just past tha < 1315288645 592307 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :I am up to where IIRC < 1315288650 517295 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I wrote the Constantinople implementation in Haskell; and you can print it out if you have TeX. < 1315288673 713015 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It isn't best because it is first Haskell program I wrote. < 1315288686 89651 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: you cannot use such an instance unless you have OverlappingInstances set, i believe. < 1315288744 320016 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Some things in there could been improved, and I think the "Pointer" type is really ungeneralization of lens; lens is more generalized and does more things. < 1315288795 318268 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(I didn't know about lenses at the time I wrote that program.) < 1315288808 418078 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :OK, I will try OverlappingInstances < 1315288818 111455 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::t Data.Set.map < 1315288819 576861 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. (Ord a, Ord b) => (a -> b) -> S.Set a -> S.Set b < 1315288827 281155 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :No, it is still the same error. < 1315288842 552674 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: it's probably that b ^ it cannot deduce the Ord for < 1315288921 867320 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But I thought there is an instance for Ord x => Ord (Set x) < 1315288959 82468 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :or wait hm, there's a b on your bindX too. i'm confused. < 1315289138 541755 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> S.map < 1315289139 933034 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Overlapping instances for GHC.Show.Show < 1315289140 100494 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ((a ->... < 1315289153 903956 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: oh and yes it ignores constraints on datatype declarations, although it does better in some ways if you use GADT syntax instead, iirc < 1315289163 63056 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> S.map (\x -> floor $ x / 2) (S.Set [1,2,3,4,5,6]) < 1315289164 508826 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Not in scope: data constructor `S.Set' < 1315289175 134143 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :although that has its own subtleties < 1315289247 943309 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> S.map (\x -> floor $ x / 2) (S.fromList [1,2,3,4,5,6]) < 1315289249 502200 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : fromList [0,1,2,3] < 1315289280 950324 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :Woops! < 1315289286 970706 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::t div --also this < 1315289288 417309 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Integral a) => a -> a -> a < 1315289334 901077 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> S.map $ floor . div 2 $ S.fromList [0..6] < 1315289336 177723 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Real.RealFrac (Data.Set.Set t)) < 1315289336 342880 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use ... < 1315289343 17320 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> S.map $ floor . (flip div) 2 $ S.fromList [0..6] < 1315289344 293093 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Real.RealFrac (Data.Set.Set t)) < 1315289344 475156 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use ... < 1315289358 604481 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> S.map (floor . /2) $ S.fromList [0..6] < 1315289359 831618 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : : parse error on input `/' < 1315289363 922355 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> S.map (floor . (/2)) $ S.fromList [0..6] < 1315289365 930428 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :> S.map (`div` 2) $ S.fromList [0..6] -- cough < 1315289366 144524 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : fromList [0,1,2,3] < 1315289367 185814 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : fromList [0,1,2,3] < 1315289373 195809 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :Oh right < 1315289376 977009 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :ACTION facepalm < 1315289380 45790 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> S.map (floor . (/2)) $ S.fromList [0..] < 1315289381 951707 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :WEEEE < 1315289384 442561 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1315289404 410265 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :not overly lazy, that < 1315289422 534055 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i think it may be a tree structure, possibly < 1315289439 673772 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :it is iirc < 1315289445 987144 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 PRIVMSG #esoteric :On to recursion < 1315289463 895324 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Taneb: but first, recursion! < 1315289544 903716 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: bindX is not a class member though; the class members are unitX, joinX, and fmapX. bindX is outside. < 1315289555 943218 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :aha < 1315289585 565700 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But that has nothing to do with the problem I have. I think the problem has to do with ignoring constraints on datatype declarations. < 1315289647 894728 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Maybe I cannot fix this program until they fix that problem in GHC. < 1315289697 436829 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :@pl \x foldr (||) $ map (\y -> (x `mod` y) == 0) [2..x] < 1315289698 241196 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(line 1, column 11): < 1315289698 509638 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :unexpected "|" < 1315289698 710246 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :expecting pattern < 1315289713 853516 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :@pl \x foldr (---) $ map (\y -> (x `mod` y) == 0) [2..x] < 1315289714 723900 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(line 1, column 53): < 1315289714 893026 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :unexpected end of input < 1315289715 56573 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :expecting pattern < 1315289718 603722 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :@pl \x foldr (~) $ map (\y -> (x `mod` y) == 0) [2..x] < 1315289719 453454 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(line 1, column 11): < 1315289719 621792 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :unexpected "~" < 1315289719 785311 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :expecting pattern < 1315289727 903069 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :@pl \x -> foldr (||) $ map (\y -> (x `mod` y) == 0) [2..x] < 1315289728 618778 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :foldr (||) . ap (map . flip flip 0 . ((==) .) . mod) (enumFromTo 2) < 1315289743 856474 :GreaseMonkey!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1315289789 741689 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> filter (foldr (||) . ap (map . flip flip 0 . ((==) .) . mod) (enumFromTo 2)) $ [0..500] < 1315289791 300962 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `GHC.Bool.Bool' < 1315289791 465128 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type ... < 1315289794 755608 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric ::< < 1315289836 965203 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :The definitions of unitX and joinX in the instance declaration do not cause the error. Only fmapX is error. < 1315289851 152341 :Taneb!4e92aa5b@gateway/web/freenode/ip.78.146.170.91 QUIT :Ping timeout: 252 seconds < 1315289894 793315 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> filter (foldr (||) . ap (map . flip flip 0 . ((==) .) . mod) False (enumFromTo 2)) $ [0..500] < 1315289896 168264 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `GHC.Bool.Bool' < 1315289896 436517 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type ... < 1315289913 607343 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :@pl \x -> foldr (||) False $ map (\y -> (x `mod` y) == 0) [2..x] < 1315289914 415866 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :foldr (||) False . ap (map . flip flip 0 . ((==) .) . mod) (enumFromTo 2) < 1315289926 96647 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :> filter (foldr (||) False . ap (map . flip flip 0 . ((==) .) . mod) (enumFromTo 2)) $ [0..500] < 1315289928 338570 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... < 1315289951 629102 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Do you think this problem has to do with ignoring constraints on datatype declarations, or is the problem having to do with something else? < 1315289979 692907 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i am afraid that they have actually decided to remove constraints on datatype definitions altogether http://www.haskell.org/pipermail/haskell-cafe/2011-June/092922.html < 1315289994 714200 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :because it works so badly < 1315290002 389604 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: I have read that they have decided to remove it. < 1315290036 549432 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Although I am actually unsure whether or not constraints on datatype declarations will fix this problem, I don't know for sure. Do you know? < 1315290093 84192 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::t or -- teehee < 1315290094 413383 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :[Bool] -> Bool < 1315290107 614353 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::t any < 1315290108 956617 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (a -> Bool) -> [a] -> Bool < 1315290137 478530 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Lymee: ^ < 1315290152 693234 :Lymee!~moe@unaffiliated/cirno-chan PRIVMSG #esoteric :uuu < 1315290186 759061 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :Lymee: you should maybe @hoogle more :) < 1315290207 988183 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :@hoogle [Bool] -> Bool < 1315290209 128578 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Prelude and :: [Bool] -> Bool < 1315290209 300588 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Prelude or :: [Bool] -> Bool < 1315290209 464057 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.List and :: [Bool] -> Bool < 1315290235 749023 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: what is you MonadX definition? < 1315290238 590670 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :*your < 1315290264 241595 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :class MonadX m a where { fmapX :: MonadX m b => (a -> b) -> m a -> m b; unitX :: a -> m a; joinX :: m (m a) -> m a; }; < 1315290309 378006 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::t Data.Set.map < 1315290310 714138 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b. (Ord a, Ord b) => (a -> b) -> S.Set a -> S.Set b < 1315290395 170623 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: ah right, i think it cannot deduce that the MonadX m b instance is of the same type as you are defining, so therefore cannot deduce the Ord. i don't think it has anything to do with datatype contexts. < 1315290421 83115 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :O, that is why. < 1315290431 44452 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :it _does_ have to do with what i said about functional dependencies, but unfortunately you really need to not have those < 1315290440 233748 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Why can't it deduce that, though? < 1315290456 601130 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(I did remove the functional dependencies; but the error is same either way) < 1315290473 647145 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :because there could be an instance MonadX Set b completely different from your usual one < 1315290490 19649 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If I explicit forall will it work? < 1315290492 611695 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :one which doesn't require Ord < 1315290507 651192 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :O, OK. < 1315290530 614402 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Now I understand why. < 1315290549 478596 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But if there was such an instance, then it would be overlapping. < 1315290561 105512 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yeah < 1315290698 112747 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Well, there is another instance but it doesn't overlap if Set is not instance of Monad. < 1315290797 115634 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is there a way to specify that an instance is final with respect to certain variables? < 1315290896 985511 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If you could do that, then it might work, because instance Ord t => MonadX Set t is final with respect to t meaning there can be no other instances of form MonadX Set t < 1315291083 621812 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i don't know < 1315291446 80384 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It might work if Ord is the constraint of the class instead of the instance, but that beats the purpose. But you might be able to have that without beating the purpose if you have the & kind I proposed (note I changed my proposals from what it was before) < 1315291604 377803 :Taneb!~Taneb@host-78-146-170-91.as13285.net JOIN :#esoteric < 1315291646 470662 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Then you could have class (c a, c (m a)) => MonadX (c :: * -> &) (m :: * -> *) (a :: *) < 1315291732 167036 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Do you expect this to work, if it were implemented? < 1315291769 750938 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(That is, c is a class of concrete types, m is a monadic (nonconcrete) type, and a is a concrete type.) < 1315291809 825859 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :what is &? < 1315291865 45860 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :& means (x -> &) is the kind for classes of type of kind x < 1315291912 76117 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :what < 1315291914 891238 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(I used [x] at first in my proposal, but after reading some more stuff and other people told me some stuff, I realized [x] is no good and (x -> &) is good) < 1315291968 15058 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :coppro: Well, if you put c a => ..... then what kind is c supposed to be? That is what I have tried to describe; it can be used in constraints. < 1315291998 317949 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :C is *->* < 1315292000 889755 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :err, c < 1315292006 314324 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :c a is * < 1315292024 582205 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :No, c has to be a class, I think < 1315292060 238825 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :a 1-adic typeclass is * -> * < 1315292067 855152 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :a 2-adic typeclass is * -> * -> * and so on < 1315292130 453168 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I suppose you could have classes of kind & by itself which could be used if you are writing a module using functions from a nonexistent module (currently you use hs-boot but this might work too, although I am unsure) < 1315292142 675950 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :coppro: O, is that how it works? < 1315292158 561082 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :zzo38: * means "a concrete type" < 1315292161 784397 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If I type in :kind Eq in GHCi it is error. < 1315292169 168867 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :so * -> * is a function taking a type, producing a type < 1315292181 267414 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :coppro: I know that. < 1315292198 417470 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :oh wait... < 1315292200 781409 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :nvm I am dumb < 1315292201 406339 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But a class is not a type < 1315292203 493414 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :yeah < 1315292207 229917 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :it's 3 am < 1315292209 621680 :coppro!~scshunt@denardo.csclub.uwaterloo.ca PRIVMSG #esoteric :I am le tired < 1315292338 221049 :GreaseMonkey!~gm@unaffiliated/greasemonkey QUIT :Quit: The Other Game < 1315292411 621563 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i am wondering if a GADT like data HasOrd :: * -> * where HasOrd :: Ord a => a -> HasOrd a might work a bit like your c above < 1315292413 854092 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If you allowed more-notation across modules, you could even have it import datatypes that are not defined yet, and use classes to import functions that are not defined yet. And then it would work even without hs-boot < 1315292455 937004 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :(no guarantees though, there are some problems with combining GADT values i think) < 1315292482 217510 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: I think that only constraints the constructor though. < 1315292656 777388 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :zzo38: maybe but GADT's _does_ give a little more out than just that < 1315292693 364619 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :hm argh i guess it only works if you have a particular value to unwrap though < 1315292703 99149 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :fmapX might be too much for it < 1315292797 212565 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :huh i wonder if you could define an Ord instance for HasOrd a < 1315292858 911337 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :instance Ord (HasOrd a) where compare (HasOrd x) (HasOrd y) = compare x y oh hm that won't work < 1315292882 405597 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :it doesn't say which one to get the instance from < 1315292956 629150 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Yes; that is what I was thinking of, why I said it is wrong. < 1315292956 792840 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :instance Ord (HasOrd a) where compare (HasOrd x) = let cx = compare x in \(HasOrd y) -> cx y < 1315292990 216666 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :would that be enough < 1315293050 141792 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :i vaguely recall ghc has trouble identifying types extracted from GADT's even when they should obviously be the same though < 1315293176 717974 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But constructors are not types. < 1315293232 856294 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!haskell {-# LANGUAGE GADT #-} data HasOrd a where { HasOrd :: Ord a => a -> HasOrd a }; instance Ord (HasOrd a) where { compare (HasOrd x) = let cx = compare x in \(HasOrd y) -> cx y }; main = print $ (HasOrd "hello" < HasOrd "world") < 1315293241 546185 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​/tmp/input.11423.hs:1:13: unsupported extension: GADT < 1315293247 557226 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric ::( < 1315293266 51449 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I think you need "GADTs" < 1315293271 850109 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!haskell {-# LANGUAGE GADTs #-} data HasOrd a where { HasOrd :: Ord a => a -> HasOrd a }; instance Ord (HasOrd a) where { compare (HasOrd x) = let cx = compare x in \(HasOrd y) -> cx y }; main = print $ (HasOrd "hello" < HasOrd "world") < 1315293273 325986 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1315293274 344138 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :At least that is what works on my computer < 1315293390 168184 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :maf < 1315293419 69919 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!haskell {-# LANGUAGE GADTs #-} data HasOrd a where { HasOrd :: Ord a => a -> HasOrd a }; instance Ord (HasOrd a) where { compare (HasOrd x) = (let cx = compare x in \(HasOrd y) -> cx y) }; main = print $ (HasOrd "hello" < HasOrd "world") < 1315293441 268950 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :09:17 =EgoBot> syntax error at /tmp/input.23875 line 1, near "}}" < 1315293452 635892 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :where the heck is the }} D: < 1315293470 411526 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :obviously layout-inserted, but _where_? < 1315293541 892570 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Don't use layout mode if it confuses you! < 1315293564 741733 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Use the explicitly "module" command to turn off layout mode for the entire module < 1315293583 832621 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!haskell {-# LANGUAGE GADTs #-} module Main where { data HasOrd a where { HasOrd :: Ord a => a -> HasOrd a }; instance Ord (HasOrd a) where { compare (HasOrd x) = (let cx = compare x in \(HasOrd y) -> cx y) }; main = print $ (HasOrd "hello" < HasOrd "world") } < 1315293597 788986 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ok that helped < 1315293621 644471 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :oh darn Ord has superclasses < 1315293630 182249 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :@src Ord < 1315293631 7427 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :class (Eq a) => Ord a where < 1315293631 171077 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : compare :: a -> a -> Ordering < 1315293631 334550 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : (<), (<=), (>), (>=) :: a -> a -> Bool < 1315293631 334715 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : max, min :: a -> a -> a < 1315293635 494464 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :@src Eq < 1315293636 261729 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :class Eq a where < 1315293636 425634 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : (==), (/=) :: a -> a -> Bool < 1315293644 416843 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :wait definitely not Show < 1315293775 316180 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!haskell {-# LANGUAGE GADTs #-} module Main where { data HasEq a where { HasEq :: Eq a => a -> HasEq a }; instance Eq (HasEq a) where { (==) (HasEq x) = (let ex = (==) x in \(HasEq y) -> ex y) }; main = print $ (HasEq "hello" == HasEq "world") } < 1315293780 353313 :EgoBot!foobar@codu.org PRIVMSG #esoteric :False < 1315293783 346097 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :yay < 1315293798 460704 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :!haskell {-# LANGUAGE GADTs #-} module Main where { data HasEq a where { HasEq :: Eq a => a -> HasEq a }; instance Eq (HasEq a) where { (==) (HasEq x) = (let ex = (==) x in \(HasEq y) -> ex y) }; main = print $ (HasEq "hello" == HasEq "hello") } < 1315293803 376825 :EgoBot!foobar@codu.org PRIVMSG #esoteric :True < 1315293823 751333 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :ok so that worked. at least in EgoBot's version. < 1315293941 248463 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :On the wall, I have the picture of creature with one eye and uncountable tentacles. Not because there is too many to count; it is because the artist draw the picture to make it difficult. < 1315293952 544501 :oerjan!oerjan@tyrell.nvg.ntnu.no PRIVMSG #esoteric :heh < 1315294022 698118 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(Nobody has ever been able to count as far as I know. Different people try, and get various different answers, but not certain.) < 1315294336 735125 :nooga!~nooga@maverick.aircity.pl QUIT :Ping timeout: 245 seconds < 1315294348 807402 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, Phantom_Hoover, CakeProphet, Homestuck update. < 1315294360 693803 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :And Taneb < 1315294364 647331 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :[S]? < 1315294399 372242 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com NICK :Homestuck_update < 1315294401 743065 :Homestuck_update!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :You rang? < 1315294402 734698 :Homestuck_update!~zzo38@h24-207-49-17.dlt.dccnet.com QUIT :Quit: Homestuck_update < 1315294494 236287 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :So... Jail Break and by extension Problem Sleuth take place on LOLAF? < 1315294500 306851 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :*LOFAF < 1315294556 466797 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I don't remember if I read Jail Break < 1315294958 220500 :oerjan!oerjan@tyrell.nvg.ntnu.no QUIT :Quit: Good night < 1315294995 383512 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :elliott, Phantom_Hoover, CakeProphet, Taneb, Homestuck news update. < 1315295731 846657 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Just got my timetable for THE NEXT ACADEMIC YEAR < 1315295749 811376 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Monday: Further Ma, Further Ma, Latin, , Mathematics < 1315295806 443251 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Tuesday: Ancient Hi/ ,Mathematics/ , , Further Ma/Latin, Latin < 1315295828 14921 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Wednesday: Tutorial, Further Ma, Mathermatics, , Ancient Hi < 1315295844 896609 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :I'm guessing Ancient Hi is Ave or something < 1315295867 154348 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Thursday: Mathematics, , Ancient Hi, , < 1315295886 667441 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Friday: Latin, Ancient Hi, Further Ma, Mathematics, < 1315297066 363948 :Taneb!~Taneb@host-78-146-170-91.as13285.net NICK :TanebAFK < 1315298218 820182 :TanebAFK!~Taneb@host-78-146-170-91.as13285.net NICK :Taneb < 1315298227 97042 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Didn't actually go AFK at all < 1315298729 368920 :sebbu2!~sebbu@unaffiliated/sebbu NICK :sebbu < 1315299315 814208 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1315299348 55168 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1315301196 830817 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :whats ancient hi? < 1315301472 339792 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :"ave" < 1315301657 257487 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :whats ave? < 1315301671 340696 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :A greeting in Latin < 1315301683 428675 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :ahh... so its a latin class < 1315301693 400533 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :No, ancient history < 1315301707 848849 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :is that like ave maria? < 1315301719 110625 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Perhaps < 1315301724 885181 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :But more like ave ceasar < 1315301729 656222 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :maybe i saw ave in asterix comics < 1315301748 22515 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :i knew it sounded familiar < 1315301754 312834 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :It was in quite a lot < 1315303188 146397 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :The Uniquode program +)......)M.()#)."(......)).... does nothing in an intersting way < 1315303228 371504 :Taneb!~Taneb@host-78-146-170-91.as13285.net QUIT :Quit: Goodbye < 1315303363 958076 :nooga!~nooga@maverick.aircity.pl QUIT :Ping timeout: 252 seconds < 1315303703 815428 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 268 seconds < 1315305291 896956 :CakeProphet!~adam@h2.52.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1315305292 60893 :CakeProphet!~adam@h2.52.18.98.dynamic.ip.windstream.net QUIT :Changing host < 1315305292 61047 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1315305806 625919 :Taneb!~Taneb@host-78-146-170-91.as13285.net JOIN :#esoteric < 1315306087 140116 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au QUIT :Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 . < 1315306171 931962 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1315306225 305451 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :I think that someone should try to make an esolang contest again < 1315307592 927832 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Ah, Toshiba tech support hold music < 1315308187 803164 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1315308909 808604 :nooga!~nooga@maverick.aircity.pl QUIT :Ping timeout: 276 seconds < 1315309214 897166 :azaq23!~derivecto@unaffiliated/azaq23 PART #esoteric :"Leaving." < 1315309232 870731 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1315309429 46036 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1315309844 979009 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1315310328 500734 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :VBefunge-93 is going well < 1315310390 643404 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Déjà vu < 1315310408 172925 :GuestIceKovu!x@ANantes-259-1-205-32.w90-49.abo.wanadoo.fr JOIN :#esoteric < 1315310418 498398 :Taneb!~Taneb@host-78-146-170-91.as13285.net PRIVMSG #esoteric :Or it would be going well if I could actually open it < 1315310437 970242 :Slereah!x@ANantes-259-1-209-82.w83-195.abo.wanadoo.fr QUIT :Ping timeout: 268 seconds < 1315310656 392715 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :huh < 1315310665 7323 :nooga!~nooga@maverick.aircity.pl PRIVMSG #esoteric :Visual like Basic? < 1315310748 344943 :GuestIceKovu!x@ANantes-259-1-205-32.w90-49.abo.wanadoo.fr NICK :Slereah < 1315310893 603642 :Taneb!~Taneb@host-78-146-170-91.as13285.net QUIT :Ping timeout: 260 seconds < 1315311157 107928 :NihilistDandy!~ND@stu-81-155-171-184.champlain.edu QUIT :Read error: Operation timed out < 1315313042 343604 :nooga!~nooga@maverick.aircity.pl QUIT :Ping timeout: 264 seconds < 1315313359 280312 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1315313480 720910 :Gregor!foobar@codu.org PRIVMSG #esoteric :!delinterp Gregor < 1315313481 12510 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​That interpreter doesn't exist! < 1315313485 491550 :Gregor!foobar@codu.org PRIVMSG #esoteric :>_> < 1315313489 879688 :Gregor!foobar@codu.org PRIVMSG #esoteric :!userinterps < 1315313490 122778 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo ehird elmer fudd google graph gregor hello id insanetemp jethro kraut lperl lsh map num numberwang ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish valspeak wacro warez wc yodawg < 1315313496 262941 :Gregor!foobar@codu.org PRIVMSG #esoteric :!delinterp gregor < 1315313496 548871 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​Interpreter gregor deleted. < 1315313512 871666 :Gregor!foobar@codu.org PRIVMSG #esoteric :I'm tired of getting poinged every time somebody types !userinterps :P < 1315313751 61148 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :What did it do? < 1315313784 557479 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric : Visual like Basic? < 1315313793 174260 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Yes, in the sense of not being visual at all. < 1315314113 317366 :Gregor!foobar@codu.org PRIVMSG #esoteric :fizzie: Injected Å¿'s and þ's. < 1315314215 874768 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :!pansy hello < 1315314216 498451 :EgoBot!foobar@codu.org PRIVMSG #esoteric :hello < 1315314226 324206 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :!pansy OK, what does this one do? < 1315314226 824054 :EgoBot!foobar@codu.org PRIVMSG #esoteric :OK, what doezth thith one do? < 1315314257 100061 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :!pansy Lisps? How many text transformers do we even have? < 1315314257 589599 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Lithpth? How many tektht tranthformerth do we even have? < 1315314375 698939 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net JOIN :#esoteric < 1315314915 330785 :hiato!~nine@clam.leg.uct.ac.za JOIN :#esoteric < 1315315850 200911 :azaq231!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1315315926 28941 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Ping timeout: 260 seconds < 1315316764 393593 :IRCReaderBOT!~IRCReader@095-097-004-214.static.chello.nl JOIN :#esoteric < 1315316766 604703 :IRCReaderBOT!~IRCReader@095-097-004-214.static.chello.nl QUIT :Excess Flood < 1315317127 466954 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Quit: Computer has gone to sleep. < 1315317610 343179 :sllide!~jari@ip565eb113.direct-adsl.nl JOIN :#esoteric < 1315317698 191562 :nooga!~nooga@c35-253.icpnet.pl JOIN :#esoteric < 1315317917 150088 :derrik!~xix@176.46.2.232 JOIN :#esoteric < 1315318101 278042 :derrik!~xix@176.46.2.232 QUIT :Client Quit < 1315318122 86556 :derrik!~xix@176.46.2.232 JOIN :#esoteric < 1315318412 114616 :derrik!~xix@176.46.2.232 QUIT :Ping timeout: 245 seconds < 1315318649 721443 :nooga_!~nooga@c35-253.icpnet.pl JOIN :#esoteric < 1315318806 146455 :nooga!~nooga@c35-253.icpnet.pl QUIT :Ping timeout: 246 seconds < 1315319410 264694 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1315319462 111185 :NihilistDandy!~ND@132.198.8.116 JOIN :#esoteric < 1315319662 26837 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1315319862 251806 :NihilistDandy!~ND@132.198.8.116 QUIT :Ping timeout: 240 seconds < 1315320089 300976 :NihilistDandy!~ND@132.198.8.116 JOIN :#esoteric < 1315320312 272700 :pumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1315320361 286449 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 258 seconds < 1315320402 82063 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1315320502 134842 :azaq231!~derivecto@unaffiliated/azaq23 QUIT :Ping timeout: 268 seconds < 1315320766 323446 :NihilistDandy!~ND@132.198.8.116 QUIT :Ping timeout: 252 seconds < 1315321043 437446 :pumpkin!~pumpkin@unaffiliated/pumpkingod NICK :copumpkin < 1315321857 154460 :NihilistDandy!~ND@132.198.22.255 JOIN :#esoteric < 1315322079 935685 :Guardric!Guardric@hill-c-158.resnet.purdue.edu JOIN :#esoteric < 1315322787 202529 :NihilistDandy!~ND@132.198.22.255 QUIT :Ping timeout: 245 seconds < 1315324030 750040 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1315324157 44267 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :helo < 1315324157 762187 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :elliott: You have 3 new messages. '/msg lambdabot @messages' to read them. < 1315324186 616885 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net PRIVMSG #esoteric :I asked David Morgan-Mar two questions about Chef, though he hasn't answered so far. Is there a possibility someone here could answer them? < 1315324224 731339 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net PRIVMSG #esoteric :http://bpaste.net/show/yruvHzWwMQvfLeLH7XYx/ < 1315324389 222018 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think there are implementations of Chef you could check against < 1315324394 923508 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :at least to see what everyone else thinks < 1315324417 445125 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh gawd, esolangs.org has that annoying everydns thing < 1315324543 940990 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net PRIVMSG #esoteric :elliott: I don't think so. < 1315324580 81241 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :huh, really? < 1315324594 533963 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :looks like there's a perl one which is apparently buggy < 1315324629 197068 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :derdon: Well, the spec is ambiguous; you have two options: wait until DMM responds, or make up your own interpretation and assure everyone it's standard :) < 1315324672 132723 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net PRIVMSG #esoteric :elliott: I could start with #2 and adopt it after I got the response from the holy David < 1315324711 330853 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :derdon: You could suggest your interpretations to him; there's a good chance he'll just say "that sounds good" :P < 1315324745 635898 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :derdon: If you write a test suite for Chef interpreters in Chef everyone will treat your interpretation as word of god, even the language creator. (Proof: Mycology.) < 1315324748 774878 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net PRIVMSG #esoteric :elliott: you see the complete mail in the paste. I already shared my thoughts there < 1315324765 155403 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I skimmed it :P < 1315324777 105424 :augur!~augur@129.2.129.35 QUIT :Remote host closed the connection < 1315325301 6428 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"Please read Documentation/SubmittingPatches - you must write a proper commit message, add a Signed-Off-By line, and submit to the linux kernel mailing list, CCing the affected maintainers (ie, not Linus in most cases)." < 1315325302 898938 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"can you please point me at some url where I can read that submitting patches documentation? thanks!" < 1315325316 120371 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: putting the kernel on github: mistake of the century < 1315325353 197765 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net PRIVMSG #esoteric :you could have seen that coming < 1315325412 992288 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Maybe Linus is doing it for cheap laughs? < 1315325420 728558 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Note: Probably not actually true.) < 1315325494 182568 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :https://github.com/torvalds/linux/pull/6 < 1315325498 326042 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :This is literally the stupidest thing ever. < 1315325738 557005 :MSleep!~fyrc@or-67-238-31-252.dhcp.embarqhsd.net NICK :MDude < 1315325770 662289 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Does SCKE have specs? < 1315325774 235945 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : pikhq_: putting the kernel on github: mistake of the century <-- they did what? < 1315325791 346757 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: http://github.com/torvalds/linux < 1315325797 219979 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott: why < 1315325806 26416 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :kernel.org is down so Linus put it on GitHub. He likes it apart from the issues and pull requests, which he hates. < 1315325815 747764 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Because everyone is submitting crap.) < 1315325817 191185 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ah < 1315325822 579489 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :So, basically he likes it as a nicer gitweb. < 1315325824 308169 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :can't you turn that off < 1315325845 245444 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal: Issues yes, pull requests apparently not although I swear you used to be able to < 1315325851 606354 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :He's basically just ignoring them. :p < 1315325855 122901 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Obviously, the issues and pull requests he's not going to use at all. < 1315325857 516551 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pikhq_: Well, + host. < 1315325860 768098 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :lkml has that covered. < 1315325861 763646 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :More like a nicer repo.or.cz :P < 1315325992 96269 :boily!~boily@mtl.savoirfairelinux.net QUIT :Ping timeout: 276 seconds < 1315326057 217527 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1315326076 97364 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1315326086 753336 :Guardric!Guardric@hill-c-158.resnet.purdue.edu QUIT :Quit: Leaving < 1315326279 338875 :Guardric!Guardric@hill-c-158.resnet.purdue.edu JOIN :#esoteric < 1315326427 973063 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1315326515 854160 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :back < 1315326529 808007 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott: I guess to Torvalds the pull request is an issue then < 1315326555 44249 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :was that meant to be a joke < 1315326563 67529 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott: no a pun. < 1315326571 852595 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :because oerjan wasn't here < 1315326576 39307 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :vorpal "puns arent jokes" vorpal < 1315326591 337144 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott: yes, it was meant to be lame < 1315326611 865358 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net PRIVMSG #esoteric :ACTION chuckled < 1315327343 803480 :nooga_!~nooga@c35-253.icpnet.pl QUIT :Ping timeout: 260 seconds < 1315327449 500401 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I like how I have exactly one function left in Shiro that feels like it belongs in a Utils module. < 1315327456 713621 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And nowhere else. < 1315327473 337658 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: YOU HAVE ABANDONED #plof < 1315327492 803313 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Not any more < 1315327506 259198 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: what is that function? < 1315327509 476583 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or at least, what does it do? < 1315327513 676961 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: < 1315327514 876448 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :-- doesn't really belong here, but oh well < 1315327515 240484 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :makeFingerprint :: String -> Shiro [(FPIns, Shiro ())] -> Fingerprint < 1315327515 240688 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :makeFingerprint = Fingerprint . packName < 1315327525 946419 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It can't go in Types.hs as a "smart constructor" type thing because packName is in Shiro.Value. < 1315327534 845438 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :heh, Vorpal is still in #feather-lang < 1315327541 612380 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if I make progress on Feather, it'll be announced there first! < 1315327550 442161 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I can either move packName and packValues into Shiro.Types and put makeFingerprint in there too, or just deal with it being in Shiro.Value or Shiro.Monad. < 1315327597 329562 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah, hmm < 1315327605 866351 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so it's Shiro-related utils, not general utils < 1315327618 397786 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's what Shiro.Utils is :P < 1315327620 181688 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or, was < 1315327626 473473 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I eliminated it just minutes before adding makeFingerprint < 1315327636 315799 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which I tend to have a bunch of in any nontrivial program < 1315327644 188911 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I could make Fingerprint.hs like I used to have < 1315327644 659726 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in a functional language < 1315327654 667356 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But it'd contain exactly one function < 1315327663 375463 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :reimplementing things is often faster than looking up the standard library < 1315327664 925438 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: That's because you haven't heard of looking for things in the libraries < 1315327673 870495 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I can reimplement them in a few seconds < 1315327678 102485 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it takes longer than that to look for them < 1315327684 718676 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: So can I, but I have the arcane knowledge known as "knowing why that's idiotic" < 1315327689 558406 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Am I a bad person for hating people who drone on about how beautiful Euler's identity is? < 1315327696 207256 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :(The answer is no.) < 1315327871 163618 :NihilistDandy!~ND@132.198.22.70 JOIN :#esoteric < 1315327959 302363 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1315328001 657768 :cheater!~ubuntu@ip-80-226-24-8.vodafone-net.de PRIVMSG #esoteric :euler's identity is not as beautiful as euler's identity for TAU < 1315328089 443619 :calamari!~calamari@ip72-211-146-193.tc.ph.cox.net JOIN :#esoteric < 1315328514 367766 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom_Hoover is torturing puppies help < 1315328769 22804 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :The third puppy just got shot in the head instantly. < 1315328805 741740 :Gregor!foobar@codu.org PRIVMSG #esoteric :Well, OK then. < 1315328808 685576 :Gregor!foobar@codu.org PRIVMSG #esoteric :That's clearly not torture. < 1315328827 120649 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: hmm, I think I'll just move packValues/packName/makeFingerprint into Types.hs < 1315328883 756472 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :This does it, I'm sending Gregor in instead. < 1315328894 824478 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: enjoy < 1315328967 380403 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I (0gnirts -- addr) Convert an ascii ip address to a 32 bit address < 1315328975 67305 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Really? Just IP? No DNS? < 1315328987 401672 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess that's why fungot uses an IP. < 1315328988 300221 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :elliott: mr president, commissioner, i fully accept that description when it comes to human rights. yes, with an average fat content of chocolate, and we are using double standards! we all know that under present legislation and also in relation to standardization bodies. if i do not want. < 1315328991 901427 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But c'mon, surely everyone uses gethostbyname. < 1315329064 238588 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or, hmm < 1315329232 343880 :calamari!~calamari@ip72-211-146-193.tc.ph.cox.net QUIT :Quit: Leaving < 1315329271 697949 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :OK, this does it, I'm sending him in. < 1315329297 999379 :Gregor!foobar@codu.org PRIVMSG #esoteric :getaddrinfo < 1315329335 466698 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Three volleys of crossbow fire later, he's right next to the first marksman with no injuries. < 1315329337 727697 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: w/e, "modern" mr. < 1315329360 963719 :Gregor!foobar@codu.org PRIVMSG #esoteric :Well, that's certainly a sentence. < 1315329381 510409 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :U/r like, with it's;;;; unbelievebveable.... < 1315329390 216622 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Gregor, OK, you're now lying with a spinal injury just outside crossbow range. < 1315329397 221198 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :me too < 1315329414 543466 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :AI_NUMERICSERV < 1315329414 824990 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The ServiceName argument must be a port number in string form, and service name lookups will not be attempted. < 1315329414 988464 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ah < 1315329434 414907 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric : if I make progress on Feather, it'll be announced there first! <-- yay! < 1315329451 203847 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :not likely to happen though < 1315329452 552514 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :note: a false statement implies anything < 1315329458 984769 :augur!~augur@129.2.129.35 QUIT :Remote host closed the connection < 1315329465 807278 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Thank god, I'm in the best place possible for Feather information. < 1315329466 603721 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :ais523: indeed < 1315329467 773485 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Vorpal is in the worst. < 1315329473 413845 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Of course, rather than recovering Gregor, everyone just reloads the cages. < 1315329475 885776 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Also, Vorpal will never hear about Feather because he'll die right before it's released. < 1315329499 825214 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :elliott: true, you are younger. Statistically you are likely to die after me. < 1315329526 303499 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :no < 1315329527 325770 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :gregor < 1315329528 846570 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :don't < 1315329533 968807 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :don't run back towards them < 1315329535 494123 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :please < 1315329555 242968 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :he,m < 1315329555 930739 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :revenge < 1315329556 664757 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pupy < 1315329603 329037 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :On the bright side, the siege is down to two marksmen. < 1315329617 412715 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ineiros died of thirst, though. < 1315329681 196523 :NihilistDandy!~ND@132.198.22.70 QUIT :Ping timeout: 260 seconds < 1315329709 696801 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom_Hoover: What, why? < 1315329713 223244 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :We have like a billion drank. < 1315329741 359497 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :elliott, because he was in a cage trap after being knocked unconscious. < 1315329750 583978 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh. < 1315329766 614425 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :....oh ffs < 1315329771 197140 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I forgot to arm him with an axe. < 1315329779 382890 :nooga!~nooga@c35-253.icpnet.pl JOIN :#esoteric < 1315329892 482040 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Fortunately, he should live. < 1315329987 102182 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Phantom_Hoover: Have you noticed that dorfs get thirsty as soon as they enter the danger room and you turn the lever. < 1315329997 706865 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Gregor does, yes. < 1315330018 343337 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I suspect this is because, as I discovered to my cost, he is quick to tire. < 1315330174 583182 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :GREGOR STANDS < 1315330312 201398 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I have a distinct suspicion that even in this state he'll be able to break the siege. < 1315330441 299239 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But then sleep a lot. < 1315330448 324587 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I'm going to test this suspicion. < 1315330535 773564 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Siege broken. < 1315330552 365561 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yaaaaaaaaaaaaaay enjoy your year. < 1315330721 634562 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :I have to say, ssh imposes quite an overhead. Compared rsync over ssh to plain rsync for sending an dvd iso over gbit ethernet. Neither maxes out the network link, but with SSH I get on average 36 MB/s and with just rsync I get on average 50 MB/s. I suspect in the latter case the HDD speed of the target computer limits the performance, quite slow laptop disk, and the file is way to large to fit into RAM < 1315330721 798351 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :. When just sending raw data with netcat I get much better than that. (110 MB/s) < 1315330834 924981 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :bbl, going to be offline for a bit < 1315330864 475895 :Vorpal!~AnMaster@unaffiliated/anmaster QUIT :Read error: Connection reset by peer < 1315330891 457036 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1315331232 692590 :cheater_!~ubuntu@ip-80-226-24-13.vodafone-net.de JOIN :#esoteric < 1315331237 327665 :cheater!~ubuntu@ip-80-226-24-8.vodafone-net.de QUIT :Ping timeout: 245 seconds < 1315331377 652968 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net JOIN :#esoteric < 1315331476 1289 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :Hello! < 1315331506 934891 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hi < 1315331513 696393 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :How goes? < 1315331524 683511 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :goingly < 1315331548 993068 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :Well, VBefung-93 is nearing completion! < 1315331561 132297 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :By which I mean I'm about to uncover the hardest bit < 1315331731 673220 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Hmm. That "Upgrade through every version of Windows" thing seems a bit lame. Should've started with DOS 1.0. < 1315332292 268546 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :Visual Basic isn't that bad for an imperative language < 1315332332 614592 :Gregor!foobar@codu.org PRIVMSG #esoteric :pikhq_: ? < 1315332357 170352 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Gregor: Someone started with Windows 1.0 and upgraded it to Windows 7. < 1315332372 858211 :Gregor!foobar@codu.org PRIVMSG #esoteric :In how many steps? < 1315332398 457123 :Gregor!foobar@codu.org PRIVMSG #esoteric :My guess would be that the minimum is 1.0 -> 3.11-or-whatever -> maybe XP? -> 7 < 1315332412 711233 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: In as many steps < 1315332420 437875 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's an entertaining video :P < 1315332424 225091 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :presumably it went through every consumer version < 1315332425 715024 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :He keeps chastising Microsoft for losing his settings. < 1315332429 672456 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just because it could < 1315332434 232667 :Gregor!foobar@codu.org PRIVMSG #esoteric :lol < 1315332438 660315 :Gregor!foobar@codu.org PRIVMSG #esoteric :OK, I guess I want to see it :P < 1315332439 762014 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But some settings actually went through. < 1315332442 194777 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is there any hardware that all versions of Windows install on? < 1315332444 98914 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Through like three point one to the latest. < 1315332449 745307 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: Yes, the VM used :P < 1315332459 465028 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm < 1315332464 253228 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: http://www.youtube.com/watch?v=vPnehDhGa14 < 1315332468 111223 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the VM had the same virtual hardware all the time, though? < 1315332475 37695 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I believe so; it's not that hard < 1315332480 5225 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Ninety-five won't boot with too much RAM < 1315332485 16577 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But Vista will run on less < 1315332490 543110 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Although maybe not well < 1315332561 324551 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Maybe I should have @told elliott and Phantom_Hoover < 1315332573 484350 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Although you two probably know by now anyway < 1315332577 797481 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Told what? < 1315332586 52777 :Sgeo!~Sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Homestuck update < 1315332600 567913 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :What the hell does "dim" actually mean < 1315332609 407072 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :I know what it does, but what does it mean? < 1315332618 602434 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Dimensions? < 1315332621 398206 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yep < 1315332624 486303 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Was used to define dimensions of an array < 1315332630 304358 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"Dim originally (in BASIC) stood for Dimension, as it was used to define the dimensions of an array. < 1315332630 530342 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(The original implementation of BASIC was Dartmouth BASIC, which descended from FORTRAN, where DIMENSION is spelled out.) < 1315332630 694191 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nowadays, Dim is used to define any variable, not just arrays, so its meaning in not intuitive anymore." < 1315332634 487932 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Its meaning in not intuitive anymore. < 1315332642 279972 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :Huh < 1315332648 717549 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :It's like the word Domino < 1315332650 485519 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Then types got added. < 1315332661 721630 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :But not tuples < 1315332671 372545 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :At least not in 2005 < 1315332859 561609 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :If I were doing Befunge-98 I would define them < 1315332926 780516 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Gregor: 1.0 -> 2.0 -> 3.0 -> 3.1 -> 95 -> 98 -> 98 SE -> 2000 -> XP -> Vista -> 7 < 1315332939 836530 :Gregor!foobar@codu.org PRIVMSG #esoteric :No 3.11 Windows for Workgroups??? < 1315332945 634669 :Gregor!foobar@codu.org PRIVMSG #esoteric :No ME? < 1315332953 860697 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :Nor NT? < 1315332963 545227 :Gregor!foobar@codu.org PRIVMSG #esoteric :Welll, NT was never a "consumer" OS. < 1315332966 845897 :Gregor!foobar@codu.org PRIVMSG #esoteric :Neither was 2000, really. < 1315332987 276292 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :There was a fork in upgrade paths: he could've done 98 SE -> ME -> XP or 98 SE -> 2000 -> XP. < 1315332990 787556 :Gregor!foobar@codu.org PRIVMSG #esoteric :Maybe he chose 98SE -> 2000 since that's the worst possible 9x->NT switchover :P < 1315333018 702402 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Me NEVER HAPPENED. < 1315333021 253090 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :One day I may try to get my old 98 (dunno if SE or not) up working again < 1315333021 929440 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :2000 was the most consumer of the NT line. < 1315333038 884665 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Oh, yeah. He did this from physical media that he actually owned. < 1315333040 724363 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :It works fine, but I can't use a mouse and it has no internet < 1315333063 897792 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Does anyone know a valid IP address that does NOT have any host there? < 1315333082 98888 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Define "valid". < 1315333099 622688 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Valid. < 1315333107 152311 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :240.0.0.1 < 1315333137 404951 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :'Sat reserved or something? < 1315333150 311026 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Yeah, it's the first address in class E. < 1315333225 970430 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: In SOCK's I, one interprets the unsigned address as if it were signed, yes? < 1315333252 502345 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Would've been pretty awesome if he used Win 3.2. < 1315333309 734846 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Though. It may not have supported an upgrade: it *was* the first release in Mandarin with Simplified Chinese. < 1315333411 855982 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Also a shame he didn't install Win32s. < 1315333692 491174 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: 192.168.whatever numbers aren't on your network < 1315333724 369766 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :240/8 is only dubiously valid, most routers refuse to believe it exists (which is why the rules haven't been changed to make it allocatable) < 1315333751 465191 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: also, arguably, 1.2.3.4; there was a host there for a while, but it was taken down again after it was DDOSed to oblivion < 1315333752 783035 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, routing is irrelevant < 1315333760 639988 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I'm just converting string addresses to integers < 1315333879 836630 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Shiro/Fingerprints/SOCK.hs:13:9: < 1315333880 95899 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : Ambiguous occurrence `accept' < 1315333880 260577 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : It could refer to either `Shiro.Fingerprints.SOCK.accept', < 1315333881 256711 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : defined at Shiro/Fingerprints/SOCK.hs:34:1 < 1315333883 189451 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : or `Network.Socket.accept', < 1315333885 189909 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : imported from Network.Socket at Shiro/Fingerprints/SOCK.hs:7:1-21 < 1315333887 183967 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :This could be problematic < 1315333985 184756 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I *just* (like, last week) saw a hotel use 1.1.1.1 for the login-to-our-network autoredirect thingamajikc. < 1315333997 700301 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :Same, actually < 1315334068 377302 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :192.0.2.0/24 is sometimes-working "sort-of valid but doesn't have any hosts" network. ("Assigned as "TEST-NET" for use solely in documentation and example source code and should not be used publicly.") < 1315334142 784891 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :(There are two other TEST-NETs too.) < 1315334300 875059 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: just qualify it? < 1315334359 71073 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: You should never have clashing names ever. < 1315334365 59595 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It should be an error, really. < 1315334373 470158 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Oi, SCKE specs, where eb they. < 1315334376 624885 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :be < 1315334390 877924 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :elliott: It doesn't really have any, I don't think. "Sowwy." < 1315334400 381040 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Does it have... a list of instructions? < 1315334402 320082 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Anything? < 1315334453 678315 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Well, H and P. I don't really know how anyone even found out about SCKE. < 1315334460 136584 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Maybe I wrote something. < 1315334473 929174 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: What does H does, what does P do < 1315334479 844201 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :http://packages.python.org/PyFunge/fingerprint/SCKE.html <- good enough. < 1315334511 227646 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :s/does/do/ < 1315334514 989075 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Except only the second one < 1315334532 833610 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Doesn't P require me to keep my own buffer... < 1315334568 63051 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Well, I don't know. It's basically a poll()/select() for input. < 1315334591 294353 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :http://p.zem.fi/54wi <-- here seems to be how I "documented" them. < 1315334598 365705 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :(Awaysh-woosh.) < 1315334599 569251 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Except select() and poll() block. < 1315334629 803056 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Not with a zero timeout. < 1315334634 243300 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh. < 1315334637 277550 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That could work. < 1315334646 804197 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Now to find out how to get GHC to do that. < 1315334698 609878 :itidus20!~itidus20@CPE-60-224-1-106.srql1.win.bigpond.net.au PRIVMSG #esoteric :Salivili hippit tupput tappyt appyt tipput hilijalleen. < 1315334706 761133 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :SCKE support - the most pointless thing ever? (I don't think anyone uses it, not even fungot's "configuration header".) < 1315334707 417721 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :fizzie: mr president, the austrian national library. we have a lot to say about the mass unemployed, the mass media, so that they are the only feasible way of helping the peace process. < 1315334793 199355 :Gregor!foobar@codu.org PRIVMSG #esoteric :^modes < 1315334799 418356 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :^style < 1315334799 582063 :Gregor!foobar@codu.org PRIVMSG #esoteric :What is that fungot command ... < 1315334799 745797 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Available: agora alice c64 ct darwin discworld europarl* ff7 fisher homestuck ic irc jargon lovecraft nethack pa sms speeches ss wp youtube < 1315334800 423708 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Gregor: mr president, i voted for the katiforis report. then in fnord. the problem with the take-up of new technology and its link to growth and employment. those in sweden who find themselves without any rights and further swell the ranks of the trade unions for the european parliament on strengthening environmental integration within community energy policy. < 1315334802 391152 :Gregor!foobar@codu.org PRIVMSG #esoteric :Ah, style. < 1315334802 554826 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Um, fungot uses SCKE, no < 1315334803 276185 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :elliott: mr president, it is there and what took place between the executives on the one hand, the interests of economists converge with those of their own. as everyone knows, this is making it possible to bring the date of their approval and decided that account must be taken into account. < 1315334803 588504 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :? < 1315334810 609725 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :elliott: No, it just loads it. :p < 1315334817 455999 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: I... < 1315334820 863889 :Gregor!foobar@codu.org PRIVMSG #esoteric :^style wp < 1315334821 50255 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages) < 1315334833 184332 :Gregor!foobar@codu.org PRIVMSG #esoteric :fungot: Tell me about neutral viewpoints. < 1315334834 3148 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Gregor: " on the internet. i've listened to the radio interview and added some additional links. i can check if one of her parents was a fnord catholic fnord who, according to the fnord < 1315334838 473462 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: I like how it requires you to use an IP while loading and not using a fingerprint that lets you use domains too. < 1315334867 121401 :Gregor!foobar@codu.org PRIVMSG #esoteric :"i can check if one of her parents was a fnord catholic fnord who, according to the fnord" [citation needed] < 1315334879 41881 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :elliott: See, it didn't originally use SCKE at all, thus the IP requirement; then I added SCKE as a prelude for that HTTP support (for ^bf/^ul/^def) but that never happened. < 1315334884 765929 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :(Okay, now really away.) < 1315334940 665912 :Gregor!foobar@codu.org PRIVMSG #esoteric :Are any of the Fungies Unicode-safe? < 1315334962 603754 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Define Unicode-safe < 1315334970 943172 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :A Funge program is raw binary data < 1315334974 684339 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :So is Fungespace < 1315334985 905829 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :What do you want, a file/console reader that decodes from an encoding? < 1315335004 915344 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That would be doable, as a fingerprint, but I don't know of any. < 1315335009 196684 :Gregor!foobar@codu.org PRIVMSG #esoteric :No, I wanted code written in Unicode, so that it wouldn't hop left and right improperly if I happened to start my line with a goat. < 1315335031 700189 :Gregor!foobar@codu.org PRIVMSG #esoteric :I mean, I don't actually /want/ that, I was just curious if any existed. < 1315335081 789705 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I think Vorpal's efunge or whatever might do that, but only he thinks the standard can be read in a torturous enough way to make that allowable. < 1315335086 794378 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: If you store it in UTF-thirty-two, everything will work fine. < 1315335089 349709 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Or, wait, no, it won't. < 1315335100 458526 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But you /could/ provide an alternate fungespace loading that took it like that or any encoding. < 1315335103 72519 :Gregor!foobar@codu.org PRIVMSG #esoteric :Only if \x00 is no-op :P < 1315335106 28175 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But it wouldn't be the standard's defined entry-point. < 1315335115 216015 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Invalid instructions reflect. < 1315335123 632924 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :There are no non-printable-ASCII instructions by default. < 1315335126 184277 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Apart from space. < 1315335133 180678 :Gregor!foobar@codu.org PRIVMSG #esoteric :Right. Womp womp. < 1315335141 62533 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : elliott: and why do you want to check if there's data without retrieving any? < 1315335146 187582 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :STOP TELLING ME IT'S A BAD IDEA OMG BLAME FIZZIE < 1315335500 407 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Yeah, the P wasn't really that well thought of a thing. < 1315335586 348600 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I've finally started on my write-assembly-in-haskell project, have gotten about as far as "instance MonadFix" < 1315335672 897071 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: Making it so that the type system catches e.g. mov in the wrong order? < 1315335677 898958 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Like "mov 0 eax" rather than "mov eax 0".) < 1315335703 666864 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :btw, all my trouble with my OS not working earlier were either due to nasm miscompiling it, or to some build script malfunction < 1315335715 969460 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :nasm /miscompiling/? < 1315335737 842250 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Ouch, SCKE will be hard. < 1315335754 559751 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Not only do I have to bind to select() with the FFI, but I need to read SOCK's state somehow... < 1315335773 409299 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :elliott: Really, maybe you should just opt for proper NSCK support. < 1315335783 855665 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Is NSCK even a thing? < 1315335791 456179 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Probably not. < 1315335803 799722 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :That's not an answer. < 1315335870 778354 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I did promise I'd upgrade fungot to use it if it made sense, but I don't think it really got finalized. Certainly not implemented anywhere. < 1315335871 122248 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :fizzie: duke university fnord bln fnord fnord fnord fnord supuser fnord 16:34, 9 may 2005 ( utc) < 1315335881 561312 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, is it another Vorpal non-fingerprint? < 1315335899 807488 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hmm, how the heck to name these functions to avoid clashes. < 1315335939 250536 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I had the same code on both computers, but it compiled into something that worked and something that didn't ... but 'make' said it was up-to-date on both of them... so, obviously nasm miscompiled it on one of my computers :) < 1315336030 552725 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :nah, probably I switched branches and got the sources updated to an older timestamp, which made the binary newer, or something along those lines < 1315336051 528374 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: So are you porting your OS to Haskembly? < 1315336062 892477 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :not yet, haskembly is only half done < 1315336076 924268 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: When it is done. < 1315336086 949422 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :elliott: When it is done. < 1315336106 285799 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :cool, maybe I'll resurrect my far-superior project that did the same thing that I abandoned a while back < 1315336113 698255 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and copy your entire OS and become Windows and rule the world < 1315336114 265780 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :do it < 1315336127 302803 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: but seriously, you are catching "mov 0 eax" right? otherwise lolling at you < 1315336199 857822 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :yes, mov (spelled $=) currently only accepts registers as targets < 1315336216 698247 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :and I don't think I'll add support for assigning to constants anytime soon :P < 1315336301 891755 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :mov :: (Read src, Write dst) => src -> dst -> ASM () < 1315336302 395761 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::p < 1315336313 720399 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :more or less, yes < 1315336342 100688 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(!) :: RWAddr -> Int -> RWAddr... though I guess you want the more fancy addressing modes somehow too < 1315336463 895422 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :the actual type right now is ($=) :: Expr e => Reg -> e -> Asm () < 1315336466 708029 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Something I've occasionally wondered: how does NASM decide whether to encode "mov eax, ebx" using the "mov reg32, reg/mem32" or the "mov reg/mem32, reg32" form of the instruction, and whether there's some way you can influence that. < 1315336480 42793 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: -O influences that IIRC < 1315336484 337072 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It just picks the shortest, I believe < 1315336492 793777 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :But those are equally long. < 1315336495 219551 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: Gross + wrong :P < 1315336498 743398 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Flip a coin < 1315336553 392373 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :elliott: ok, how so? < 1315336584 638220 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: Dunno :P < 1315336586 896615 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :only because Read is called Expr? < 1315336592 244716 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Definitely < 1315336595 143572 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :And ASM is called Asm < 1315336602 805774 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :yes, that is silly < 1315336610 591403 :Gregor!foobar@codu.org PRIVMSG #esoteric :What was that OMGMAGIC C compiler that was recently released (or announced as going-to-be-released) as F/OSS? SomethingPath ... < 1315336691 10734 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :EKOPath? < 1315336700 654249 :Gregor!foobar@codu.org PRIVMSG #esoteric :That's the one! < 1315336701 429741 :Gregor!foobar@codu.org PRIVMSG #esoteric :Thanks < 1315336800 366640 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: You're the SOCK expert; what the fuck is the pf argument to S < 1315336806 617286 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Can I just ignore it or do I have to store it for later connects or whatever < 1315336822 240682 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :pf? protocol family? or something? < 1315336851 372530 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah but < 1315336854 430176 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :they have values starting with PF_.... < 1315336859 294612 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :i only know families starting with AF_......... < 1315336873 718127 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :It's pretty much the same thing. < 1315336883 871264 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :It's what my socket man page calls "domain". < 1315336911 877668 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so I just use AF_ instead of PF_ ok........ < 1315336950 120225 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Then why does it also take < 1315336950 460566 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :pro: 1=tcp < 1315336950 624159 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :2=udp < 1315336956 482833 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, hmm < 1315336986 13329 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Yeah, how come it takes both DGRAM/STREAM and tcp/udp < 1315336990 672169 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I thought DGRAM/STREAM _was_ tcp vs udp < 1315337031 75853 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Not necessarily; the type and protocol are independent. < 1315337051 165589 :augur!~augur@129.2.129.35 QUIT :Remote host closed the connection < 1315337064 441860 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Of course SOCK only does tcp/udp, soo... < 1315337066 363939 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :iirc since inet only has one of each, you don't have to specify the third value to socket() and can just use 0, but other domains have more variants < 1315337081 334174 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: So I should just barf out if the protocol doesn't match the socket type and otherwise ignore it? < 1315337095 567387 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :(I'll just assume this SOCK thing works *exactly* like socket()) < 1315337136 638790 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :elliott: Well, you could also pass the corresponding IPPROTO constants to the socket call, just to make sure. < 1315337167 553737 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :socket :: Family -> SocketType -> ProtocolNumber -> IO SocketSource < 1315337167 785695 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Create a new socket using the given address family, socket type and protocol number. The address family is usually AF_INET, AF_INET6, or AF_UNIX. The socket type is usually Stream or Datagram. The protocol number is usually defaultProtocol. < 1315337179 347812 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :The only defined ProtocolNumber is defaultProtocol, it's literally just a CInt. < 1315337188 288719 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Well, defaultProtocol is probably just fine too. < 1315337192 539064 :tiffany|away!~tiffany@188.215.83.116 NICK :tiffany < 1315337197 476002 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :If they don't define the constants. < 1315337200 996984 :impomatic!~digital_w@87.113.136.182 JOIN :#esoteric < 1315337204 381741 :impomatic!~digital_w@87.113.136.182 PRIVMSG #esoteric :Hi :-) < 1315337206 242972 :impomatic!~digital_w@87.113.136.182 PRIVMSG #esoteric :Has anyone got a magnetic core memory board I could borrow? < 1315337235 853840 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : elliott: what is it you're actually trying to do? < 1315337247 61993 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: God, can you join #haskell and apologise and tell them to direct all such questions to you? < 1315337256 138285 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric : bos: code haskell lol < 1315337343 819728 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I don't think I want to join a channel as scary as #haskell; plus typing on this phone is sorta too slow. < 1315337357 7303 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: So will your DSL let me say "eax $= (ebx*eax)/ecx" and have it expand out? :p < 1315337381 251804 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :elliott: I hope it will < 1315337383 272832 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1315337418 346405 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: So will it provide register-allocated variables that spill over to the stack? :-P < 1315337421 26812 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"x <- var" < 1315337433 20230 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : i see. i wonder why such an API. < 1315337433 737007 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : bos: It's old and not very well thought-out; the designer admits as much :) < 1315337436 587147 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : elliott: so why implement it? < 1315337438 700290 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Help, I can't answer. < 1315337443 771686 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : bos: the world runs on legacy systems < 1315337445 503287 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :oh, that expression example was a bit more complicated than I bothered reading < 1315337445 967626 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Thanks sbrg < 1315337478 674891 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : sbrg: but why would someone want to implement a legacy API in haskell? < 1315337480 613706 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I don't think it will do anything that requires temporaries actually < 1315337480 777291 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :noooooooooo < 1315337496 348674 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: What if you told that arithmetic operation which variable to clobber :P < 1315337555 325672 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1315337564 485132 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :elliott: Just tell them it's for this COBOL system at a bank, and the legacy API is needed for the older parts to talk to the new code. (On second thought, don't.) < 1315337569 28338 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I think I figured out how to make up type level natural numbers by type families. < 1315337599 540029 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :data TypeZero; data TypeSucc t; < 1315337606 984823 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that's not a type family < 1315337613 648808 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :elliott: sure, you could just build a haskell function that takes some number of registers it needs ... but I imagine it to be a bit hard to build that into any random expression? < 1315337632 295855 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :data family X n :: *; data instance X TypeZero = Z Int; data instance X (TypeSucc n) = S (X n) (X n); < 1315337644 721884 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :type family TypePred t :: *; type instance TypePred (TypeSucc t) = t; < 1315337655 334196 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :but simpler things like eax $= 5*ebx could be rewritten into something with lea < 1315337656 309994 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: I meant like (mul a b OhAndYouCanClobberEdx) X-D < 1315337668 80893 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :See? It is a type family. < 1315337762 717592 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :zzo38: Well, yes... < 1315337776 847671 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And it appears to work; GHCi will know the type of something like S (S (Z 1) (Z 2)) (S (Z 3) (Z 4)) < 1315337858 563979 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : bos: No. Like I said, the function is wrapped around so that the program being run can use it; my program implements an interface that the program being run utilises. < 1315337858 853205 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : okay, i'll stop asking about it, since i can't follow your answers. < 1315337860 179166 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Success < 1315337868 429260 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com QUIT :Remote host closed the connection < 1315337910 932619 :Braber01!~ben@68-188-98-26.dhcp.stls.mo.charter.com JOIN :#esoteric < 1315337968 987117 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I like how your socket question sidetracked as far as to mentioning COBOL < 1315337972 706556 :Braber01!~ben@68-188-98-26.dhcp.stls.mo.charter.com PRIVMSG #esoteric :quick queston what are the f**kf**k equilvents of BrainF**k? < 1315338020 179080 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Dunno those languages, do you mean what the brainfuck instructions are in fuckfuck? < 1315338031 653696 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/Fuckfuck has the details. < 1315338113 820333 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Anyway, re the earlier protocol thing, I think it might be borderline legal for socket(AF_INET, SOCK_STREAM, 0) to give you a SCTP socket or something; you already create stream SCTP sockets with socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP). < 1315338142 186763 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Hmm < 1315338154 119051 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Are the values for the IPPROTOs portable? < 1315338168 262778 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Of course not. :p < 1315338193 944243 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I would expect the "default" stream socket be TCP everywhere though. < 1315338234 506068 :Braber01!~ben@68-188-98-26.dhcp.stls.mo.charter.com QUIT :Ping timeout: 252 seconds < 1315338240 288155 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :They're also somewhat portable in practice, but not guaranteedly. < 1315338265 487776 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I think I've seen a naked 6 (or whatever it was) to stand for TCP in some code. < 1315338271 889334 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: It's OK if SCKE's can-read instruction says a closed socket can read, right? < 1315338357 950607 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Probably, since the "spec" (if you can call it that) doesn't really say anything about corner cases. < 1315338473 328452 :KingOfKarlsruhe!~chatzilla@p5B14DE0B.dip.t-dialin.net JOIN :#esoteric < 1315338480 821573 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :getprotoent("tcp")->p_proto is a bit more portable than expecting the IPPROTO_TCP constant to be defined, but I don't think Network.Socket exports getprotoent. < 1315338590 721858 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I suppose I could get that with the FFI. < 1315338738 593787 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: It sure would be convenient if S took the protocol number directly. < 1315338822 42906 :NihilistDandy!~ND@ip095212.uvm.edu JOIN :#esoteric < 1315338996 902936 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :elliott: Perhaps, but since those are not so portable... (It could use the same scheme of "protocol number or 0" though.) < 1315339016 752498 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Well, I don't care how hard it is for the Funge coders, just for the implementors. There's more of the latter, after all. < 1315339031 240466 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :A hugely oversaturated market. < 1315339097 251441 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :There's the whole "the address is on top of the address family on stack" mishap that makes the technically-supported AF_UNIX rather impossible too. < 1315339138 239833 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Oh, god. < 1315339147 694917 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :How does rcfunge do it? :P < 1315339177 943242 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :I don't think it does; it just assumes all addresses are single-cell values. < 1315339234 83527 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :Not sure what it does to the value in the AF_UNIX case though. < 1315339238 321541 :impomatic!~digital_w@87.113.136.182 PART :#esoteric < 1315339264 214464 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Such a meeeeeeeeess < 1315339310 941766 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Holy wow, rcfunge's fingerprint mechanism is < 1315339312 287798 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Interesting < 1315339323 77842 :NihilistDandy!~ND@ip095212.uvm.edu QUIT :Ping timeout: 246 seconds < 1315339373 471281 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: rcfunge's sock.c includes code literally byte-identical to scke.c. < 1315339395 294382 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It... looks like SOCK includes SCKE, but SCKE exists totalyl separately too with no code reuse??? < 1315339408 302471 :tiffany!~tiffany@188.215.83.116 PRIVMSG #esoteric :o.o < 1315339560 924567 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: So shungot may be working soon :P < 1315339562 705398 :fizzie!fis@iris.zem.fi PRIVMSG #esoteric :elliott: Also it packs the address into a sockaddr_in always, and then just sets the .sin_family field to AF_UNIX if requested. That doesn't really... work. < 1315339568 911081 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Nice. < 1315339660 156624 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: hmm, I think you want some sort of symbolic expression framework even if you don't offer that fancy stuff < 1315339664 206228 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :like < 1315339681 521144 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :readByte :: (Read a) => a -> ASM Word8 < 1315339689 169276 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you want to be able to implement such a function < 1315339696 18573 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1315339707 620556 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :so (ASM a) should actually look something like (Writer [AsmStmt] (Symbolic a)) < 1315339724 885010 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :where Symbolic is an expression language over registers, integers, arithmetic, etc. < 1315339736 207850 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and it then gets flattened out to statements < 1315339788 617772 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: I guess it could be done simpler but I'm not sure how, but if you can't write "Reg -> Asm Word8" then your monad is really semantically shallow < 1315339915 478114 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : derdon: Well, the spec is ambiguous; you have two options: wait until DMM responds, or make up your own interpretation and assure everyone it's standard :) < 1315339934 382039 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :DMM is big on people making up their own interpretations. see: every iwc poll ever < 1315339955 982363 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(ok, _nearly_ ever) < 1315339977 916090 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: And indeed, "mov" then becomes a lot simpler. < 1315339997 574531 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :sadly, he is not big on having plenty of time. < 1315340001 415210 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: class Read a where peek :: (Bits r) => a -> r (caller chooses size of read by instantiating r) < 1315340029 778300 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :erm < 1315340032 271150 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: class Read a where peek :: (Bits r) => a -> Asm r (caller chooses size of read by instantiating r) < 1315340035 358969 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: class (Bits b) => Write a b | a -> b where poke :: a -> b -> Asm () < 1315340036 234779 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Then < 1315340044 210448 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :mov dst src = peek src >>= poke dst < 1315340044 374018 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that's not ... very consistent with the usual definition of Read < 1315340050 189515 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: It's a different Read < 1315340065 466979 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: I think you can actually do this without any sort of symbolic expression work creeping in, compiling down to exactly what you'd expect < 1315340073 707653 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :In fact, I think the symbolic thing may simply be a fragment of an ASM statement < 1315340188 53951 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :I can think of three brainfuck derivatives that I believe are not bad < 1315340199 114817 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: Actually that's really cool, because you can implement macros properly < 1315340210 798931 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :Boolfuck and Bub because they were useful in proving languages Turing-Complete < 1315340211 516408 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Instead of needing "weird cpp style macros" and "statement macros" < 1315340219 297019 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :and Ook! because it was original < 1315340500 385663 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric ::t tell < 1315340501 997866 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall w (m :: * -> *). (MonadWriter w m) => w -> m () < 1315340561 759228 :kwertii!~kwertii@ResNet-33-19.resnet.ucsb.edu JOIN :#esoteric < 1315340594 280880 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`addquote elliott: mr president, commissioner, i fully accept that description when it comes to human rights. yes, with an average fat content of chocolate, and we are using double standards! we all know that under present legislation and also in relation to standardization bodies. if i do not want. < 1315340594 698850 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :oerjan: i have a proposal for moving israeli settlements so the name may redirect to this page... i agree with fnord. even using the lushootseed name as equivalent to the standard norm < 1315340599 464780 :HackEgo!Gregor@codu.org PRIVMSG #esoteric :640) elliott: mr president, commissioner, i fully accept that description when it comes to human rights. yes, with an average fat content of chocolate, and we are using double standards! we all know that under present legislation and also in relation to standardization bodies. if i do not want. < 1315340603 902219 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :heh < 1315340645 61210 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and it responds with another tempting one. < 1315341073 543462 :NihilistDandy!~ND@stu-81-155-171-184.champlain.edu JOIN :#esoteric < 1315341137 418871 :boily!~boily@mtl.savoirfairelinux.net QUIT :Ping timeout: 245 seconds < 1315341276 530756 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : "i can check if one of her parents was a fnord catholic fnord who, according to the fnord" [citation needed] < 1315341295 838358 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i think that would be a very plausible use of fnord in the original sense < 1315341334 857694 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net PRIVMSG #esoteric :Goodnight < 1315341340 780428 :Taneb!~Taneb@host-84-13-65-233.opaltelecom.net QUIT :Quit: THIRSTY < 1315341433 914993 :augur!~augur@129.2.129.35 QUIT :Remote host closed the connection < 1315341636 794816 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: My scribblings: http://sprunge.us/ZGhh < 1315341711 848944 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: Actually, Expr shouldn't be a data family. It can just be a GADT. < 1315341727 767284 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : sbrg: but why would someone want to implement a legacy API in haskell? <-- i assume this _is_ a befunge fingerprint we are talking about, any particular reason for not admitting so? :P < 1315341746 723829 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*funge-98 < 1315341747 770155 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: THEY'D JUDGE ME < 1315341757 334364 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: And I'd NEVER get a function into the network package because "befunge needs it" :P < 1315341765 90206 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: YOU MEAN WE'D GET ANOTHER INVASION < 1315341772 373191 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :THAT TOO < 1315341784 626876 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1315341785 877027 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh i can see that might be a problem < 1315341850 854379 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i _do_ have this feeling #esoteric has become even more haskellish than usual recently < 1315341905 113356 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :define haskellish < 1315341911 407785 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :fortunately there is zzo38 to take horrible revenge. < 1315341954 16686 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: as in, we may be discussing haskell more often than esolangs < 1315341963 580845 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well that's usual < 1315341974 123984 :augur!~augur@129.2.129.35 QUIT :Remote host closed the connection < 1315341977 396199 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok, but even more than usual < 1315342306 535768 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1315342340 520358 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!help < 1315342341 30540 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . < 1315342388 8935 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!bf_txtgen http://esolangs.org/wiki/ < 1315342406 361215 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au JOIN :#esoteric < 1315342428 164983 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!echo Are you there? < 1315342428 904051 :EgoBot!foobar@codu.org PRIVMSG #esoteric :Are you there? < 1315342466 138947 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!bf_txtgen http://esolangs.org/wiki/ < 1315342484 448345 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​Top %: 0.1 < 1315342500 138290 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :that's ... not encouraging. < 1315342528 746939 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Gregor: is it just horribly overworked? < 1315342549 700514 :Gregor!foobar@codu.org PRIVMSG #esoteric :Uhh, not sure what happened there :P < 1315342555 943335 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!bf_txtgen hello < 1315342557 289356 :Gregor!foobar@codu.org PRIVMSG #esoteric :!bf_txtgen Hewwo? < 1315342558 623493 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​57 +++++++++++++[>++++++++>+>><<<<-]>.---.+++++++..+++.>---. [197] < 1315342560 2357 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​89 ++++++++++[>+>+++++++>++++++++++><<<<-]>>++.>+.++++++++++++++++++..--------.<---------.<. [628] < 1315342573 710670 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :heh < 1315342579 114829 :Gregor!foobar@codu.org PRIVMSG #esoteric :What that SHOULD have done is downloaded the page from http://esolangs.org/wiki/ (which may or may not actually work) and generated the text of it. < 1315342583 779705 :Gregor!foobar@codu.org PRIVMSG #esoteric :!bf_txtgen http://www.google.com/ < 1315342586 982967 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​Top %: 0.1 < 1315342592 386676 :Gregor!foobar@codu.org PRIVMSG #esoteric :Apparently that doesn't work :P < 1315342593 729755 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh duh :P < 1315342600 153962 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ic < 1315342622 952602 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!bf_txtgen htsp://esolangs.org/wiki/ < 1315342626 131951 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​207 +++++++++++++[>++++++++>+++++++++>+++++++++>++++<<<<-]>.>-.>--.---.>++++++.-----------..<<<---.>-.>-.---.<<----.>>++.<<++++++.>.>>-.<+.<-.<.>>>+.<<+++++.>------.++.--.>.-------------------------------------. [494] < 1315342689 519185 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^def wiki +++++++++++++[>++++++++>+++++++++>+++++++++>++++<<<<-]>.>-.>-.----.>++++++.-----------..<<<---.>-.>-.---.<<----.>>++.<<++++++.>.>>-.<+.<-.<.>>>+.<<+++++.>------.++.--.>.-------------------------------------.,[.,] < 1315342689 682843 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Usage: ^def < 1315342695 628720 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^def wiki bf +++++++++++++[>++++++++>+++++++++>+++++++++>++++<<<<-]>.>-.>-.----.>++++++.-----------..<<<---.>-.>-.---.<<----.>>++.<<++++++.>.>>-.<+.<-.<.>>>+.<<+++++.>------.++.--.>.-------------------------------------.,[.,] < 1315342695 792916 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Defined. < 1315342703 602724 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^wiki Brainfuck < 1315342703 767480 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :http://esolangs.org/wiki/.Brainfuck < 1315342707 125358 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oops < 1315342718 73503 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^def wiki bf +++++++++++++[>++++++++>+++++++++>+++++++++>++++<<<<-]>.>-.>-.----.>++++++.-----------..<<<---.>-.>-.---.<<----.>>++.<<++++++.>.>>-.<+.<-.<.>>>+.<<+++++.>------.++.--.>.,[.,] < 1315342718 238007 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Defined. < 1315342722 533994 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^wiki Brainfuck < 1315342722 697791 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :http://esolangs.org/wiki/Brainfuck < 1315342781 274042 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :.>-. as the way of printing two t's is not immensely encouraging :P < 1315342817 823892 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :Well it *is* an evolutionary algorithm. < 1315343220 702379 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :So it's an optimizing text gen? Interesting < 1315343313 891309 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :except with EgoBot the optimization tends to get cut short < 1315343398 667808 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :^wiki /// < 1315343398 831278 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :http://esolangs.org/wiki//// < 1315343400 22033 :KingOfKarlsruhe!~chatzilla@p5B14DE0B.dip.t-dialin.net PRIVMSG #esoteric :is esolangs.org down? < 1315343498 26205 :KingOfKarlsruhe!~chatzilla@p5B14DE0B.dip.t-dialin.net PRIVMSG #esoteric :"You are seeing this message due to the site you are trying to view having its DNS hosted by EveryDNS." < 1315343513 544053 :KingOfKarlsruhe!~chatzilla@p5B14DE0B.dip.t-dialin.net PRIVMSG #esoteric :EveryDNS services will be fully discontinued as of September 9th, 2011. < 1315343515 767882 :augur!~augur@129.2.129.35 QUIT :Remote host closed the connection < 1315343542 543143 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :D: < 1315343549 344885 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :esoteric.voxelperfect.net < 1315343575 155326 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the EVN address is fine < 1315343584 355239 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so presumably it's a DNS issue, especially given the content of the page < 1315343600 494670 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :rly < 1315343615 384198 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :That's a very dickish way of handling it. < 1315343616 905895 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess I'll email the owner of the domain < 1315343632 363849 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :elliott: pen a strongly-worded note. < 1315343634 903625 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :"Lawl we're going to MITM you" < 1315343670 28195 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Sent an email < 1315343712 659622 :tiffany!~tiffany@188.215.83.116 QUIT :Ping timeout: 252 seconds < 1315343765 588999 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :wat < 1315343774 574187 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: ? < 1315343792 165023 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: bad timing on my fungot definition :( < 1315343792 410499 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :oerjan: i'm not sure. fnord 18:22, 24 july 2005 ( utc) < 1315343811 489531 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: ? < 1315343817 242322 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh < 1315343819 596134 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric : ^wiki /// < 1315343823 553840 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/Slashes < 1315343828 187806 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: What was the wat though < 1315343829 807380 :augur!~augur@129.2.129.35 JOIN :#esoteric < 1315343835 466720 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: that was the wat < 1315343846 360429 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh < 1315343917 903702 :Gregor!foobar@codu.org PRIVMSG #esoteric :If I put leaq -15(%rip), %rax in my assembly file, GCC (GAS) correctly puts the address 15 bytes before the current IP into %rax. EKOPath, because it's just better, puts leaq 0(%rip), %rax into the .o file, then at link time, finds the appropriate value x such that leaq x(%rip), %rax loads the VALUE -15 into %rax. Making leaq x(%rip), %rax be a fancy way of writing mov $x, %rax for EKOPath. < 1315343947 275835 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: that doesn't look good - it means whoever owns the domain isn't answering mail... < 1315343953 264401 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: rewrite it some other way? :P < 1315343955 130431 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: um does it? < 1315343970 755595 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oh hm < 1315343973 89575 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: I could, but then it would be slower on compilers that aren't retarded ... plus who knows, maybe EKO will still crap all over the new way. < 1315343973 305005 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :probably spamfiltered < 1315343974 248343 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :? < 1315343975 417565 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess? < 1315343977 854828 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :elliott: that page says they have sent _several_ notifications before doing this outage stuff < 1315343990 904741 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :well they could have just not got around to it yet. < 1315343997 609194 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :"Migrating will only cost a $4.95 migration fee which helps us cover the cost of this new infrastructure, upgraded in preparation for this migration (you will be able to apply this fee to any future purchase made in the next 6 months on DynDNS.com as well)." < 1315343999 730554 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :haha, what assholes < 1315344006 504883 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :PAY OR LOSE YOUR SERVICE < 1315344068 686306 :Patashu!~Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au PRIVMSG #esoteric :isn't 5 dollars cheaper than getting a new dns? < 1315344089 980016 :Gregor!foobar@codu.org PRIVMSG #esoteric :There are several free DNS services. < 1315344183 99443 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!bf_txtgen htsp://esoteric.voxelperfect.net/wiki/ < 1315344186 198285 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​293 +++++++++++++[>+++++++++>+++++++++>++++++++>++++<<<<-]>>>.<<-.-.---.>>>++++++.-----------..<---.<--.<-.>+.>.<--.<------.>>--.>-.<<++++.>++++++++++++.<++.<----.>------------.>+.<-------.>++.<+.-.<--.>>++.>.<<+++++++++.<++.>>.>+.<+++.--------------.++.--.>.-------------------------------------. [567] < 1315344193 150169 :tiffany!~tiffany@188.215.83.116 JOIN :#esoteric < 1315344227 670437 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^def wiki bf +++++++++++++[>+++++++++>+++++++++>++++++++>++++<<<<-]>>>.<<-..----.>>>++++++.-----------..<---.<--.<-.>+.>.<--.<------.>>--.>-.<<++++.>++++++++++++.<++.<----.>------------.>+.<-------.>++.<+.-.<--.>>++.>.<<+++++++++.<++.>>.>+.<+++.--------------.++.--.>.,[.,] < 1315344227 833798 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :Defined. < 1315344227 997264 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Gregor: are they any /good/? < 1315344236 573391 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^wiki Slashes < 1315344236 737069 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/Slashes < 1315344267 219100 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Quit: Leaving. < 1315344296 363188 :derdon!~derdon@p5DE8A22B.dip.t-dialin.net QUIT :Remote host closed the connection < 1315344302 593379 :Gregor!foobar@codu.org PRIVMSG #esoteric :ais523: I've used the one at afraid.org, and never had any problems with it. I used Granite Canyon a long time ago, and it was fine, but I don't know if it still is. < 1315344481 282751 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ais523: changing to esoteric.voxelperfect.net, i see our wiki has some spams on it < 1315344505 654156 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh right, I should use EVN's RSS feed < 1315344604 961063 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :thanks, I've found them now, deleting... < 1315344647 329269 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :'twould be great if I could delete spam in one click from my RSS feed reader < 1315344650 39785 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :elliott: I was gone for a while, but you seem to have been busy < 1315344674 766032 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: indeed, i said IMPORTANT THINGS < 1315344701 654442 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: Granite Canyon? < 1315344738 790892 :Gregor!foobar@codu.org PRIVMSG #esoteric :elliott: Upon a quick googlin', looks like they're dead :P < 1315344750 535885 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Gregor: RIP < 1315344764 109239 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I think destinations should decide their size automatically... also, registers have a size which you can't change - can't for example move a byte into eax without using the explicit sign/zero expand opcode < 1315344788 734722 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: I said more important things than that :P < 1315344798 394325 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Basically I suspect your current monad can't implement < 1315344810 198657 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :readByte :: Reg -> Asm Word8 < 1315344818 527327 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :which restricts it a lot and makes the monad much less semantically useful < 1315344820 737967 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I read some stuff about symbolic something and then a link to a paste < 1315344823 537512 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Then I figured out how to do that and implement it < 1315344839 256328 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :what is readByte supposed to do? < 1315344848 239535 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: Read the byte, at runtime < 1315344857 92144 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :the byte? which byte? < 1315344860 904097 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: The byte in the register < 1315344871 430903 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(Assume registers are byte-sized) < 1315344886 825502 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net JOIN :#esoteric < 1315344909 87747 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It has to be -> Asm Byte because you obviously can't implement (readByte >>= f) since the code doesn't "exist" at runtime, but you can do -> Asm Byte which implements all the same things < 1315344910 655878 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :As shown in my paste < 1315344915 864292 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :you mean like do { x <- readByte eax; do-stuff-with-x } , where x is magically the value the register had? < 1315344918 821076 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :You don't really have to do any semantic work at all, it maps directly to your asm structure < 1315344925 749786 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: Yes, but it's not magical :) < 1315344937 305274 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Then if you have writeByte, a mov reduces to just that < 1315344945 921827 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It means you can do a lot more with macros, and your monad is actually semantically meaningful < 1315344949 183615 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Rather than just being used for do notation < 1315344956 838776 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :So then I implemented a scrap of it < 1315344997 508903 :AndGregor!~Gregor@184-217-131-105.pools.spcsdns.net JOIN :#esoteric < 1315345024 543457 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :AndGregor: OrGregor < 1315345112 544369 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :MedianGregor < 1315345140 897175 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :man this class sure is lame. < 1315345452 350057 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :elliott: so the general idea is that peek (and other stuff) returns a value describing the source operand, and then you have type families, classes and runtime checking to see if that's possible to combine with the destination operand? < 1315345560 200985 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i conclude from the feature list that Uniquode includes Feather as a subset. < 1315345570 379296 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :haha < 1315345598 192011 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :also i assume the caste system uses the indian characters. < 1315345636 303241 :monqy!~swell@pool-71-102-215-70.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I mentioned feather in reaction tot he "retroactive self-modification" feature a few days ago and taneb said his approach to it was actually pretty simple?? I forget/dunno how it will work though < 1315345638 713338 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: there were no typeclasses necessary < 1315345642 280456 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I amended it < 1315345650 671513 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and no runtime checking for the destination operation at all, it's handeld in the type system < 1315345663 403586 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :elliott: hmm, where did you amend it? < 1315345666 642154 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the runtime checking was just proving that leaving out unimpelementable things (like (==)) does not cause errors < 1315345679 126111 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: next message that pinged you < 1315345691 601672 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :monqy: feather _is_ pretty simple. it's just incompatible with human brain function, is all. < 1315345716 732716 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :http://sprunge.us/ZGhh is what I'm reading < 1315345721 526091 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: yes < 1315345723 478468 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :then I corrected it < 1315345725 138253 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :on IRC < 1315345730 549593 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it can just be a simple GADT < 1315345768 474838 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :right, but it still has type *classes* < 1315345778 200769 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :a simple GADT and a prehistomorphic prepromorphism, et voila! < 1315345783 399422 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :wait < 1315345783 741683 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: so do you? < 1315345785 459006 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*zygo < 1315345796 442977 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you'll need a write typeclass too, for when you can write to memory < 1315345799 580621 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the typeclasses are really simple < 1315345809 15871 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you could eliminate them and still keep the basic idea < 1315345811 415891 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :I think " olsner: there were no typeclasses necessary" was just supposed to say type families instead of classes < 1315345817 723362 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :err, right < 1315345832 252444 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :point is, Expr can be one GADT, no need for families at all < 1315345836 543515 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :that was a bit confusing, because I saw the type families/GADT comment < 1315345983 550573 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :what's to prevent you from doing something like { x <- peek eax; mov byte eax ...; mov byte ebx x; } and store the wrong x in ebx? < 1315345987 578040 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ah, that tunes.org glitch i saw the other day seems to have been temporary. < 1315346002 881892 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :i.e. store eax which has now changed < 1315346027 556475 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: hmm, ah, that's quite easy to fix < 1315346037 851061 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :maybe peek should just be internal to your opcodes < 1315346045 627735 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :no, no < 1315346050 50704 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the whole point is that peek is usable by the user < 1315346050 887296 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(11.09.04 for some reason does not show as text) < 1315346061 50018 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :what for? < 1315346063 270330 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because it lets you write macros and the like far more expressively < 1315346078 374591 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you can get a Byte result out of a macro, and then put it in any register, or memory location, or anything, you desire < 1315346083 980645 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :rather than having absolutely everythign return ASM () < 1315346088 931004 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :and passing in the destination < 1315346093 267643 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's much more functional < 1315346147 252911 :FireFly!~firefly@unaffiliated/firefly QUIT :Quit: FireFly < 1315346152 269155 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: anyway, it's easy to fix: registers actually read a type equivalent to (Byte,Ref Bool), one reference per register, that starts out True, and any modifications to a register writes False to the Ref, and you then replace the ref (Ref (Ref Bool) :P) < 1315346158 15457 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you just need a Ref type in ASM, so just stick ST on the bottom < 1315346163 910587 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :the ref is basically just "is this reference still valid" < 1315346196 974257 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: but no, yeah, the whole point of this is that you can express peek, and in fact, it doesn't require any more infrastructure than you'll end up writing anyway < 1315346238 159513 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :why not... mix in parameterised monads and keep track of validity in the type system? < 1315346278 683824 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :probably not, at the very least I don't think I can successfully combine that with monadfix < 1315346289 831830 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: sure, that's more elegant, I'm just saying you can do it without anything extra < 1315346294 146375 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :I don't see why you need MonadFix < 1315346297 939234 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that'd just lead to generating infinite code < 1315346371 759653 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :but yeah, this is the difference between an assembler that's way more useful than existing ones, and a bunch of glorified print statements :P < 1315346472 331069 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :well, I use monadfix and recursive do notation to allow forward and backward jumps to labels < 1315346501 565817 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm, what does that look like? < 1315346530 381465 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :do you generate all the labels, and then say "here's the label yo" < 1315346537 120774 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :or do you somehow actually do a backwards reference to the haskell identifier < 1315346548 445329 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :you write do rec { jmp l; ...; l <- label; } and l gets its future value < 1315346553 143126 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :right < 1315346562 670647 :nooga!~nooga@c35-253.icpnet.pl QUIT :Ping timeout: 245 seconds < 1315346575 323979 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm, what if you made labels local macros instead... < 1315346582 69460 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :foo = label $ do { ...; jmp foo; ... } < 1315346587 774974 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :that might be hard to do purely :P < 1315346734 112078 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :doesn't need to be pure if it's fun :P < 1315346803 818757 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm, that might work < 1315346816 118103 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :(label m) puts m in its internal database of labels, returns the label identifier fo it < 1315346817 564405 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :for it < 1315346821 172270 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yep, that would work olsner < 1315346828 540906 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's just the same as monadfix though basically < 1315346831 742666 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :because foo would then be of an ASM type < 1315346837 842288 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :adn you'd need to unpack it at use time < 1315346845 412757 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :like putting foo somewhere would inline it < 1315346846 34425 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yeah < 1315346846 446844 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :w/e < 1315346888 650394 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: i realise my explanation of the peek stuff is rather subpar < 1315346977 447887 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :is foo here supposed to be a function-like thing where other code would also jmp/call foo and expect it to be included in the program? < 1315347027 596353 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :It's kind of like a macro :P < 1315347032 736482 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :But yeah, it's less useful than your recursive do stuff. < 1315347040 456390 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :anyway, time to sleep < 1315347482 388212 :KingOfKarlsruhe!~chatzilla@p5B14DE0B.dip.t-dialin.net QUIT :Quit: ChatZilla 0.9.87 [Firefox 6.0.1/20110830092941] < 1315347760 487878 :nooga!~nooga@c35-253.icpnet.pl JOIN :#esoteric < 1315347853 452451 :nooga!~nooga@c35-253.icpnet.pl PRIVMSG #esoteric :ACTION drunk < 1315347903 705048 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :how unusual. < 1315347986 413852 :nooga!~nooga@c35-253.icpnet.pl PRIVMSG #esoteric :i just wanted to read elliott's comment < 1315348006 391235 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :yep < 1315348119 532731 :nooga!~nooga@c35-253.icpnet.pl PRIVMSG #esoteric :when was the last time i was here drunk? < 1315348146 658643 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :ACTION → sleep < 1315348148 348005 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Quit: Leaving < 1315348196 932009 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :it's hard to tell < 1315348200 564706 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :you act like you always are < 1315348481 499117 :nooga!~nooga@c35-253.icpnet.pl QUIT :Ping timeout: 264 seconds < 1315351566 515999 :ive!~nn@189.179.239.6 JOIN :#esoteric < 1315352120 171816 :sllide!~jari@ip565eb113.direct-adsl.nl QUIT :Read error: Connection reset by peer < 1315352473 702212 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION has been drunk once on #esoteric. < 1315352475 181797 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :only once. < 1315352485 454370 :CakeProphet!~adam@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :all of the other stupid shit I say is while completely sober. < 1315352556 804072 :copumpkin!~pumpkin@unaffiliated/pumpkingod QUIT :Ping timeout: 252 seconds < 1315352828 683988 :EgoBot!foobar@codu.org PRIVMSG #esoteric :​291977 ++++++++[>+++++>+++++++>++++++>+++++++<<<<-]>>++++.>>-----------------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>-.<<<++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.---------.-----------.---------------------------------------------------------------------.+++++++++ < 1315352840 186966 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :oerjan: congrats < 1315352938 445392 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :...wat < 1315352960 225085 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^bf ++++++++[>+++++>+++++++>++++++>+++++++<<<<-]>>++++.>>-----------------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>-.<<<++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.---------.-----------.---------------------------------------------------------------------. < 1315352960 393385 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric : I'm surprised the algorithm isn't exponential or whatever <-- well it doesn't look like it was much optimized < 1315353282 380471 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I just spawn another one < 1315353290 348935 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. when it's called once, I make a second before calling the first < 1315353292 691779 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :hmm < 1315353296 271661 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if it's called again, I make a third before calling the second < 1315353299 151348 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :OK, yeah, that works < 1315353302 644762 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :fork() is more powerful than threads, though < 1315353314 568619 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, INTERCAL threads are more like fork() < 1315353320 590162 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :right < 1315353329 913709 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :only communication's via abstention status < 1315353337 19217 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, you can rewind a thread in INTERCAL < 1315353344 533232 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I just didn't < 1315353376 123060 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :MAYBE DO [...] ... DO GO BACK < 1315353429 189523 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :elliott: Incidentally, bsnes uses continuations as threads. I'm amazed that manages to work at anything even vaguely resembling a decent speed. < 1315353471 228985 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :Doesn't it use stack copying < 1315353498 38397 :pikhq_!~pikhq@71-219-212-39.clsp.qwest.net PRIVMSG #esoteric :I think it actually just changes the stack pointer.