< 1327191312 379378 :itidus21!~itidus21@120.148.51.249 PART #esoteric :"Leaving" < 1327191634 253168 :Frooxius!~chatzilla@cust-101.ktknet.cz QUIT :Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204] < 1327191655 862063 :Frooxius!~chatzilla@cust-101.ktknet.cz JOIN :#esoteric < 1327192096 625199 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Some games have Vancian casting. So now, make up the game with Vatican casting. < 1327192244 814163 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 QUIT :Quit: Leaving < 1327192836 8610 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1327192996 817003 :DCliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1327193236 790074 :Klisz!~Klisz@c-67-162-128-110.hsd1.co.comcast.net QUIT :Ping timeout: 276 seconds < 1327193763 908422 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> ((+1) &&& (*2)) 4 < 1327193764 888724 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : (5,8) < 1327193830 373954 :rodgort!~rodgort@li125-242.members.linode.com QUIT :Quit: ERC Version 5.3 (IRC client for Emacs) < 1327193848 72485 :rodgort!~rodgort@li125-242.members.linode.com JOIN :#esoteric < 1327194044 941357 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :"An important limitation upon programming is that the machine must adhere to a prescribed linear course of operation. It cannot at any point choose between two subsequent programs on the basis of results already obtained." < 1327194049 986084 :tswett!~Warrigal@171.64.42.221 PRIVMSG #esoteric :I guess programming has changed since 1947. < 1327194062 271973 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol < 1327194085 260831 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a bit < 1327194834 103370 :pikhq!~pikhq@71-219-197-45.clsp.qwest.net PRIVMSG #esoteric :I guess if was invented later. < 1327195171 939874 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t unfoldr < 1327195173 19108 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall b a. (b -> Maybe (a, b)) -> b -> [a] < 1327195180 698077 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327195198 913477 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah < 1327195822 823838 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :A Black Sheep is still a Sheep. < 1327195990 569653 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :http://sigcis.org/pipermail/members/2009-February/191226.html < 1327196015 720236 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I think that ... the discovery of "if"? < 1327196123 24218 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@undo do { x <- m; y <- m2; f x y } < 1327196123 555528 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :m >>= \ x -> m2 >>= \ y -> f x y < 1327196141 722343 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :erm < 1327196160 485345 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@@ @pl @do { x <- m; y <- m2; f x y } < 1327196160 887284 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Parse error at "{" (column 1) < 1327196182 595373 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@. pl do { x <- m; y <- m2; f x y } < 1327196183 95857 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Parse error at "{" (column 1) < 1327196185 780510 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :erm < 1327196187 943121 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@help @@ < 1327196188 226713 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :help . Ask for help for . Try 'list' for all commands < 1327196197 532512 :coppro!~scshunt@denardo.csclub.uwaterloo.ca NICK :coppro_ < 1327196198 372689 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@help @ < 1327196198 978259 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : @ [args]. < 1327196198 978440 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : @ executes plugin invocations in its arguments, parentheses can be used. < 1327196198 978546 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : The commands are right associative. < 1327196198 978652 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : For example: @ @pl @undo code < 1327196198 978755 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : is the same as: @ (@pl (@undo code)) < 1327196217 778930 :coppro_!~scshunt@denardo.csclub.uwaterloo.ca NICK :coppro < 1327196221 545405 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@@ @pl @undo { x <- m; y <- m2; f x y } < 1327196221 954201 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Parse error at "{" (column 1) < 1327196226 755130 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@@ @pl @undo do { x <- m; y <- m2; f x y } < 1327196227 277638 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : (m2 >>=) . f =<< m < 1327196228 344521 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol < 1327196300 295080 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t liftM < 1327196301 236495 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a1 r (m :: * -> *). (Monad m) => (a1 -> r) -> m a1 -> m r < 1327196302 874113 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t liftM2 < 1327196303 876537 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a1 a2 r (m :: * -> *). (Monad m) => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r < 1327196322 505853 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t join . liftM2 < 1327196323 430550 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a2 r (m :: * -> *). (Monad m) => (a2 -> a2 -> r) -> m a2 -> m r < 1327196354 807104 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t join .: liftM2 undefined < 1327196355 846247 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a a1 a2. (Monad m) => m a1 -> m a2 -> m a < 1327198914 57463 :myndzi!~myndzi@c-67-168-184-168.hsd1.wa.comcast.net JOIN :#esoteric < 1327199078 150601 :DCliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net QUIT :Quit: SLEEP, GLORIOUS SLEEP < 1327199265 69399 :variable!root@freebsd/developer/variable PRIVMSG #esoteric :just a though for a new esolang < 1327199291 250836 :variable!root@freebsd/developer/variable PRIVMSG #esoteric :a language which has data disappear if you don't access it after some amount of time < 1327199768 404426 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :variable: Yes I have thought of something similar too; see "Silly Emplosions" < 1327199799 713277 :pikhq_!~pikhq@174-22-151-130.clsp.qwest.net JOIN :#esoteric < 1327199806 529222 :pikhq!~pikhq@71-219-197-45.clsp.qwest.net QUIT :Ping timeout: 252 seconds < 1327199844 324993 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :"If you leave a variable for too long without assigning a value, the variable will lose its value." < 1327199860 523362 :variable!root@freebsd/developer/variable PRIVMSG #esoteric :ya < 1327199934 858411 :myndzi!~myndzi@c-67-168-184-168.hsd1.wa.comcast.net QUIT : < 1327199942 519017 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net JOIN :#esoteric < 1327200148 917637 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I realized now, in the Pure BF implementation, there is things such as (t $ Sum 0) but I think it is really same as (extract t) < 1327200246 526300 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :For the (->) comonad, extract = ($ mempty) < 1327200883 139617 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :-> is a comonad? < 1327201437 342800 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Yes, but it require the input type to be monoid < 1327201486 465142 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :You can also make an indexed comonad which is similar but has the input type being a category instead < 1327201616 828536 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :This is such a program using -> comonad: http://esolangs.org/wiki/Pure_BF/Implementation < 1327201714 160202 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Quit: Leaving. < 1327202070 214845 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t uncurry < 1327202071 214133 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a b c. (a -> b -> c) -> (a, b) -> c < 1327203057 328459 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://hpaste.org/56825 < 1327203062 38801 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :anyway I can make this slightly less terrible? < 1327203290 785752 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :kallisti, update < 1327203341 974068 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :kallisti: I don't know < 1327203352 563313 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: it may be hard to discern what it does. < 1327203391 385757 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the idea is that I have a function called stepLine, which generates a walk on the board starting from some coordinate and direction (the Move type is a Coord Direction pair) < 1327203415 595241 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it walks forward and if it ends when it runs into a piece or when it reaches the edge of the board. < 1327203430 415004 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if it encounters a portal that's facing the opposite direction of the direction of travel < 1327203433 419941 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it goes through the portal < 1327203439 504850 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so it can possibly be an infinite walk. < 1327203459 766514 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/if it ends/it ends/ < 1327203552 639251 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so this function extends that simple walk by applying a function whenever a portal is encountered < 1327203579 56575 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the function receives the location of the portal (as a Move) and the location of where the portal takes it. < 1327203619 386956 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :whenever it returns Nothing wrapped in a monad, the walk halts < 1327203645 8258 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :otherwise it returns Just the value to append to the walk list. < 1327203668 80624 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I use the State monad, but I generalized the type signature to any Monad/Functor < 1327203693 176071 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Can it work with any applicative functor? < 1327203715 825708 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327203721 958269 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think so? < 1327203727 837759 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maybe if I change the returns to pures < 1327203779 241230 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the point is that I want to keep track of every portal I've visited, and then halt the walk when I've reached the same portal again. < 1327203787 632954 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :to avoid an infinite loop. < 1327203810 781370 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :State seemed like the easiest way to not only keep track of the portals, but to keep track of them between multiple walks from a given starting point. < 1327203833 49489 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but... I'm wondering if there's a better way. < 1327203901 354169 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walkWithPortals will be used to: a) figure out the valid moveset for a given piece b) detect loops when a projectile is fired < 1327203935 222900 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :possibly other things I haven't considered. it's a useful bit of code that removes some ugly, duplicate code. < 1327203991 312125 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :a small change I was wondering about: < 1327203994 594092 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maybe (return Nothing) (uncurry portalF) mTuple < 1327204000 351621 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :can I avoid this? < 1327204096 616371 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :step' returns a single step, ignoring portals, step returns a single step forward and follows portals < 1327204108 886406 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so to detect portals I check the result of both against each other... if they're different then we've hit a portal. < 1327204163 117018 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but they both return Maybes... because their may be no step to take (you're in front of a piece or at the edge of the board) < 1327204172 625028 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*there < 1327204317 608697 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's probably better if I just paste the whole code < 1327204318 959109 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :http://hpaste.org/56828 < 1327204674 854026 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: what's the term in chess for pieces that move in cardinal directions? < 1327204679 713470 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :do they use orthogonal? < 1327207087 1013 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@pl (\x -> map (f x)) < 1327207087 337507 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :map . f < 1327207096 220783 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@pl (\x y -> map (f x) y) < 1327207096 612103 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :map . f < 1327207103 227118 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327207130 99579 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@pl (\x y -> f . g . h $ map (f x) y) < 1327207130 464734 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :((f . g . h) .) . map . f < 1327207185 111326 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@pl (\x -> f . g . h . map (f x)) < 1327207185 586640 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :((f . g . h) .) . map . f < 1327207446 935359 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Haskell kind of forces you to get good at naming things. :P < 1327207483 644839 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :nope < 1327207675 680520 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :either that or use a lot of letters. < 1327207698 969870 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or just be really bad at naming things still < 1327207699 949405 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I guess < 1327207719 287355 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :all of my names are just lots of apastrafes < 1327207726 938581 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :bad < 1327207739 363437 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :m''' < 1327207748 730606 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :not to be confused with m'' < 1327207751 598970 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and m' < 1327207752 899934 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or... < 1327207755 612215 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :do you actually just use '? < 1327207756 929857 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :''' < 1327207762 910909 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh wait can't < 1327207791 235344 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :i put an underscore before it < 1327207828 53398 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> _' = 2 in _' < 1327207829 17353 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : : parse error on input `=' < 1327207832 92249 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> let _' = 2 in _' < 1327207833 76351 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 2 < 1327207879 843235 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION takes note of that one for a future Haskell obfuscator < 1327207888 292040 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :though the ideal obfuscator just applies @pl to everything < 1327207896 82907 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so there won't be any variables < 1327208000 427133 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :let _'_ = '_' < 1327208072 727889 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@hoogle (<|>) < 1327208073 228204 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Control.Applicative (<|>) :: Alternative f => f a -> f a -> f a < 1327208073 390244 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Text.Parsec.Prim (<|>) :: (ParsecT s u m a) -> (ParsecT s u m a) -> (ParsecT s u m a) < 1327208073 390444 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Text.ParserCombinators.Parsec.Prim (<|>) :: (ParsecT s u m a) -> (ParsecT s u m a) -> (ParsecT s u m a) < 1327208152 916476 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@unpl (\(a,b) -> (f a, f b)) < 1327208153 408479 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(\ (a, b) -> (f a, f b)) < 1327208156 692271 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@pl (\(a,b) -> (f a, f b)) < 1327208157 148561 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :f *** f < 1327208192 237078 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@pl (\a b -> (f a, f b)) < 1327208192 484362 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(. f) . (,) . f < 1327208276 528259 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :is there anything dangerous about FlexibleContexts? < 1327208325 529149 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :It's a gateway to IncoherentInstances < 1327208375 863411 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :...so < 1327208379 552512 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :not dangerous? < 1327208406 343957 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I basically want to generalize my State code to MonadState, despite the fact that it uses a specific state type... < 1327208422 847719 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Not by itself. But you often don't use it by itself. < 1327209260 568058 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1327209332 348491 :MDude!~fyrc@or-67-238-19-212.dhcp.embarqhsd.net NICK :MSleep < 1327209738 241791 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@hoogle (Maybe a, Maybe b) -> Maybe (a,b) < 1327209738 528382 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :No results found < 1327209747 661505 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :heh < 1327209777 407315 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :uncurry (liftM2 (,)) < 1327209780 990231 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t uncurry (liftM2 (,)) < 1327209781 895342 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a1 a2 (m :: * -> *). (Monad m) => (m a1, m a2) -> m (a1, a2) < 1327209825 835190 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walkWithPortals :: (Functor m, Monad m) => Board -> (Move -> Move -> m (Maybe Move)) -> Move -> m [Move] < 1327209831 771360 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: do you walk with portals? < 1327209839 147848 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :sadly, no < 1327209855 470047 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :also, how obscene is that type? < 1327209862 642819 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it looks pretty obscene to me. < 1327209889 573948 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well Functor _should_ be implied by Monad. if you replace fmap by liftM, it might do. < 1327209899 511331 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*_should_ have been < 1327209911 764256 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no it wasn't implied because I'm using fmap < 1327209923 403677 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't really like the liftM family but... I'll try it. < 1327209949 166566 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i mean, in a general why the heck doesn't haskell do it, oh you mean it's been discussed a googol times before, ok... < 1327209956 866753 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*+sense < 1327209980 255176 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :linearWalk :: (MonadState (S.Set Move) m) => Board -> Move -> m [Move] < 1327209982 833878 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :FLEXIBLECONTEXTS OSHI < 1327209993 206938 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :while raisins are dancing around you, hysterically. < 1327210008 795628 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I like how linearWalk actually isn't really very linear at all. < 1327210013 315333 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :depending on what you mean by linear... < 1327210032 878010 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :flexiblecontexts is trivial, another thing that should have been in haskell by default. < 1327210038 77701 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in an absolute sense it is not a continuous line. however, when thinking with portals, it's perfectly linear. < 1327210062 263630 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :curvaceousWalk? < 1327210081 907020 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I guess I should call it like linearWalkButCatchesInfiniteLoops < 1327210091 116911 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and then call stepLine linearWalk < 1327210150 543049 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :concatLinearWalks :: Board -> [Move] -> [Move] < 1327210152 36742 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :concatLinearWalks = ((join . (`evalState` S.empty)) .) . mapM . linearWalk < 1327210156 387799 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :BOOM PUNCHLINE < 1327210431 684692 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :um the join there is actually concat, no? it's outside the monad after all. < 1327210436 268898 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1327210446 750542 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :is that confusing? < 1327210449 452393 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :might be clearer to use concat, then < 1327210479 842593 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :done. :) < 1327210514 323581 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :can you tell what it does by chance? :P < 1327210537 463147 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :data Move = Move Coord Direction < 1327210579 265731 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :linearWalk (Move c d) starts its walk from point c traveling in direction d < 1327210589 314073 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*linearWalk board (Move c d) < 1327210685 795980 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hmmm wait is State a monoid? < 1327210687 424675 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well it concatenates results of linearWalk, each linearWalk starting with the end state of the previous one < 1327210699 352277 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1327210706 793834 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i don't know why that is an interesting operation. < 1327210730 739545 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it probably isn't. it's just the first time I've actually used State for anything useful. :P < 1327210753 835414 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :in this case the state is a set of every portal we've encountered along the walk < 1327210760 60238 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh wait hm < 1327210760 405176 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :linearWalk actually just takes one step, right < 1327210760 567030 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the walks short circuit when they encounter the same portal again. < 1327210764 548212 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no < 1327210775 857511 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zero or more < 1327210785 390350 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :more than one? < 1327210798 228624 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well it could take zero if it attempts to walk into another piece < 1327210810 938308 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or off the edge of the board. < 1327210825 748900 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but otherwise takes one or more. < 1327210830 647877 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :the zero is obvious. what i don't understand is why you'd want more than one. < 1327210851 629273 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :to define movesets for each piece. < 1327210891 524365 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh. so it's not some walk a piece would actually try to take, now it makes more sense < 1327210901 781964 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes it's a list of possible moves. < 1327210903 353028 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(the concatenated one) < 1327210921 671236 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which can be a tricky thing to figure out on a board with four portals on it. < 1327210998 195990 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :heh < 1327211011 2984 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there may be a more efficient way to calculate that I don't know < 1327211025 260629 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but it seemed easiest to just define what the set of moves is and then traverse it to see if the attempted move is valid. < 1327211045 246264 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :do you exit a portal in the same direction, or rotated < 1327211049 301863 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maybe use a set instead of a list? I don't know, that's a lot of inserts for basically only probably one lookup. < 1327211061 871588 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: the portal forces your new direction < 1327211066 561268 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so... whatever that means < 1327211070 832531 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :phrased in those terms that you just said. :P < 1327211082 75011 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :rotated I guess. < 1327211082 983392 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :which means loops need to take into account what direction you are traveling < 1327211100 862493 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :believe so yes. < 1327211109 142268 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm not entirely sure about that < 1327211115 451980 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but it currently does take that into account. < 1327211122 753004 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there's only one direction from which you can enter a given portal < 1327211128 812577 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so... just keeping track of the coordinate should be enough < 1327211156 861117 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok < 1327211187 363940 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :unfortunately I'll probably need to rewrite some of this code or generalize it even further in order to get it to work with projectiles.... < 1327211237 724388 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh hmmm < 1327211239 324062 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :just got an idea < 1327211278 413128 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: http://hpaste.org/56830 hi can you make walkWithPortals less ugly? < 1327211283 615464 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :actually I might be doing that soon. < 1327211295 456625 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think I'm going to make walkWithPortals a special case of a more general function < 1327211341 181403 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok < 1327211363 749025 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :basically walkWithPortals applies the function you supply it whenever it encounters a portal on a walk (note that this kind of walk can possibly be infinite -- this is before the short-circuiting happens) < 1327211369 983092 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but < 1327211388 417653 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I can just generalize that to "apply a function when you land on any piece" < 1327211394 69072 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and that basically lets me do all the other things I want to do. < 1327211474 18582 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION is not sure if he's going about it the right way. < 1327211487 406849 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this is the first large Haskell program I've written. :) < 1327211559 189956 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION has never written a large haskell program, he thinks < 1327211640 699541 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hmmm I should test the code I currently have. < 1327211645 150334 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's going to be annoying... < 1327211688 301386 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the Maybe monad has been my favorite for this section of code. < 1327211881 575425 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :is there anything that short circuits on Just instead of Nothing? < 1327211894 575026 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Just 2 <|> Nothing < 1327211895 482789 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 2 < 1327211902 174811 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Nothing <|> Just 2 < 1327211903 260353 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 2 < 1327211907 536750 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :awwwwwwwww yeah < 1327211916 665100 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's excellent < 1327211951 343911 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this means I can write "piece handlers" < 1327211957 424452 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and then just piece them together < 1327211958 579221 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :with that. < 1327211976 214511 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or, well, something similar. < 1327211990 713013 :itidus21!~itidus21@120.148.51.249 JOIN :#esoteric < 1327211995 977451 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :itidus21: SUP DAWG < 1327212004 345254 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :the soup dog < 1327212009 21949 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :dup dog < 1327212012 621286 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :bringing soup to everyone < 1327212038 31840 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :i see in topic they think spotted marsh elliott extinct :-s < 1327212046 858806 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :just don't be too picky on the hygiene. < 1327212066 153529 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :itidus21: in this channel yes. it's been spotted in neighboring ones. < 1327212097 448807 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :IRC is a weird place < 1327212114 822266 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1327212116 237402 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :you can be in multiple locations at once, and your neighbors are defined by similarity in what they talk about. < 1327212124 662902 :oerjan!oerjan@sprocket.nvg.ntnu.no TOPIC #esoteric :Now open for Americans to liberate | Get your esoil and esoline here! | Glorious optator institutes permanent ban penalty for power tripping | Weapons of mass banning "just monoids in the category of endofunctors, what's the problem?" | Spotted marsh elliott still unspotted | Gregorian chants outlawed, "American" | http://codu.org/logs/_esoteric/ < 1327212170 178404 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :there are so many... jokes < 1327212182 191504 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :what, in the topic? < 1327212187 579793 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1327212282 286304 :oerjan!oerjan@sprocket.nvg.ntnu.no TOPIC #esoteric :Now open for Americans to liberate | Get your esoil and esoline here! | Production of tripless power cables start, "mandatory security change" | Weapons of mass banning "just monoids in the category of endofunctors, what's the problem?" | Spotted marsh elliott still unspotted | Gregorian chants outlawed, "American" | http://codu.org/logs/_esoteric/ < 1327212356 43807 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: I wouldn't be surprised if there's some kind of "GENERALIZE GRAPH WALK COMBINATOR" that could result from this stuff.... < 1327212359 45694 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1327212361 383395 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :GGWC < 1327212368 836073 :oerjan!oerjan@sprocket.nvg.ntnu.no TOPIC #esoteric :Now open for Americans to liberate | Get your esoil and esoline here! | Production of tripless power cables start, "mandatory security change" | Glorious optator briefly unmentioned in topic, editor exiled | Spotted marsh elliott still unspotted | Gregorian chants outlawed, "American" | http://codu.org/logs/_esoteric/ < 1327212402 353160 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :how do you pronounce "esoil? < 1327212410 564625 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s/\?/"?/ < 1327212423 481622 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :s oil? < 1327212425 400114 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :straight forward duh < 1327212442 737999 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :at first sight I thought it was e soil. < 1327212489 660801 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION finds out he's not quite got the right pronunciation of "esoteric" < 1327212510 335012 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I remember when I discovered that. :P < 1327212553 442099 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :ACTION suddenly realizes i have wrong pronunciation also < 1327212559 88248 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol < 1327212586 331299 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :i have been subverbalizing it as E-so-teric all along < 1327212597 839406 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :but reading this its obviously S-O-teric < 1327212630 171044 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :or it could be < 1327212635 248932 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :at first I pronounced it as eh-SAW-teric, and still think that sounds good. :P < 1327212646 591081 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :maybe it is < 1327212651 28159 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :im just guessing < 1327212662 68902 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no it's S-O-teric as you say. < 1327212670 996165 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :though the O coulkd be a schwa as well. < 1327212748 933219 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(UK) IPA: /ˌɛs.əʊˈtɛɹ.ɪk/, SAMPA: /%Es.@U"tEr.Ik/; (US) IPA: /ˌɛs.əˈtɛɹ.ɪk/ < 1327212770 909867 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :someone here might even be able to see all the symbols < 1327212780 599475 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION can see them! < 1327212788 145144 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(it's fine in my browser, just not in putty) < 1327212800 626825 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :"In words attributed to Art Babbitt, an animator with the Walt Disney Studios: "Animation follows the laws of physics — unless it is funnier otherwise." " < 1327212847 381483 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :itidus21: it could also be more fantastic < 1327212849 228636 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :instead of funny < 1327212854 161611 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :for example, Dragonball Z. < 1327212866 359724 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so realistic or funny or BADASS < 1327212870 240203 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :are the options. :P < 1327212870 441552 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :yeah im pretty fixated on dragonball z physics < 1327212873 667386 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :lol < 1327212879 640861 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I KNOW THAT'S WHY IT'S A PERFECT EXAMPLE. < 1327212913 527013 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327212923 233165 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :these explicit board parameters are getting in my way. < 1327212943 992296 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :*small grin* but up until now i have focused too much on japanese comical physics < 1327212972 441604 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maybe I should combine Move and Board into something.... < 1327212972 603221 :itidus21!~itidus21@120.148.51.249 PRIVMSG #esoteric :the article heer reminds me that teh west did their own innovations too < 1327213057 699084 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : I realized now, in the Pure BF implementation, there is things such as (t $ Sum 0) but I think it is really same as (extract t) < 1327213061 120484 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ah right < 1327213126 110053 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> (Sum 1, Product 5) `mappend` (Sum 2, Product 3) < 1327213126 992356 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : (Sum {getSum = 3},Product {getProduct = 15}) < 1327213130 735290 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yay < 1327213167 940578 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: you could make a paintfuck implementation with the (Sum Int, Sum Int) monoid :P < 1327213172 557407 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i think < 1327213271 983567 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@tell zzo38 Sounds like you could generalize the monoid for your pure BF implementation, e.g. make a paintfuck implementation with the (Sum Int, Sum Int) monoid :P < 1327213272 301599 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1327213283 458765 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I wonder just how good GHC is at common subexpression elimination. < 1327213330 412729 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :kallisti: afair it tries not to be smarter than the programmer, since that can cause space leaks < 1327213370 650641 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so if you want something elimated, give it a name < 1327213370 812356 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*-in- < 1327213397 460103 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I was referring to common subexpression elimination after inlining. < 1327213406 559339 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which I can't do myself. < 1327213411 554396 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh. < 1327213457 13443 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :maybe you can use {-# NOINLINE #-} somehow (i've never optimized much) < 1327213468 597075 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :er, no that's the opposite of what I want. < 1327213475 470709 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I want it to inline and CSE :P < 1327213498 120104 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I suppose I could just find... a better way to write my code. INSTEAD < 1327213499 509468 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :sheesh < 1327213514 725045 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :premature optimisation premature optimisation < 1327213526 705455 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :unless < 1327213532 748167 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :your code is awful?? and rewriting it would be good?? < 1327213533 749057 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :help < 1327213538 30085 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :probably. < 1327213582 974802 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you might also ask someone who actually knows the answer, i guess. < 1327213780 535077 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> many 1 < 1327213781 456567 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Show.Show (f [a])) < 1327213781 618157 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use of `M36260297... < 1327213797 404540 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> many 1 :: Maybe Int < 1327213798 373322 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `GHC.Types.Int' < 1327213798 534827 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type ... < 1327213838 955733 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> const Just 2 <|> const Just 3 $ 5 < 1327213839 929300 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (Control.Applicative.Alternative ((->) a)) < 1327213840 90804 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from ... < 1327213846 47373 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this should totally be a thing. < 1327213946 495583 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh wait < 1327213956 897557 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> const (Just 2) <|> const (Just 3) $ 5 < 1327213957 998165 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (Control.Applicative.Alternative ((->) a)) < 1327213958 160082 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from ... < 1327213960 338501 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :actually this should be a thing. < 1327213963 76851 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i understand many and some are useless for monads which are not essentially parser monads < 1327213985 929217 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you need a monad in which the _same_ action can succeed or fail at different times. < 1327214019 124607 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok State can do that. but not Maybe, [], Reader or Writer. < 1327214019 286353 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hi what does <|> on functions look like. < 1327214028 598039 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Maybe you could make a paintfuck implementation too, if you like to do so. I have no intention to do so at this time < 1327214029 75650 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :zzo38: You have 1 new message. '/msg lambdabot @messages' to read it. < 1327214047 598722 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: nah i'm just pointing out the connection < 1327214081 135311 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t sin <|> cos < 1327214082 61336 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Floating a, Alternative ((->) a)) => a -> a < 1327214101 299342 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :You cannot use <|> on functions < 1327214121 356714 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t Just <|> const Nothing < 1327214121 518339 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :now what < 1327214121 518534 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t Just <|> const Nothing < 1327214122 606973 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Alternative ((->) a)) => a -> Maybe a < 1327214122 768757 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (Alternative ((->) a)) => a -> Maybe a < 1327214126 119593 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well I was thinking if its return value was <|> < 1327214130 957782 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :er < 1327214132 605274 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :was Alternative < 1327214133 882371 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :kallisti: seems there is no instance defined < 1327214144 460420 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :....I'm having trouble figuring out what the instance looks like. :P < 1327214162 49503 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because how do you refer to the return value of the function? < 1327214168 443768 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :kallisti: probably the same as most of the weird Num etc. instances < 1327214189 610424 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(f <|> g) x = f x <|> g x < 1327214191 439983 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If there is <|> then there must be empty as well, where the type signature for empty implies that it cannot be the same as any pure and that (<$> empty) = const empty due to the law fmap id = id < 1327214210 766479 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :empty x = empty < 1327214227 132790 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I mean what does the instance header look like < 1327214233 242870 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :that's... what I can't figure out. :P < 1327214250 109021 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh duh right < 1327214292 189194 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :a -> f b doesn't have the b in the right position to make an Applicative instance. < 1327214315 23019 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so I guess I'll just.... < 1327214320 312400 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :write my own function. what should I call it? < 1327214329 148270 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :newtype wrapper can do it :P < 1327214335 722129 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :gross. < 1327214337 962106 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :which is actually what ReaderT is, i think < 1327214363 694361 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t ReaderT < 1327214364 679166 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall r (m :: * -> *) a. (r -> m a) -> ReaderT r m a < 1327214416 267764 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> runReaderT (ReaderT Just <|> ReaderT (const Nothing)) 5 < 1327214417 288909 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 5 < 1327214452 605766 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :eh that kind of defeats the purpose for me < 1327214455 519023 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'll just write my own function. < 1327214538 935823 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :The type signature of empty (and mzero) also implies the left zero law (mzero >> x = mzero) due to the (>>= return) law that (join . return = join . fmap return = id) < 1327214569 928422 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :what's your f in this, anyway? if the f x monoid instance fits that f alternative instance, you could use a monoid instance for -> instead < 1327214581 367708 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It is not necessary to make the left zero law explicit in the definition < 1327214582 399690 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :alas, Maybe is well known _not_ to match them < 1327214587 623808 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Maybe < 1327214599 685906 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's okay I'm doing something else. :> < 1327214606 230665 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Not to match what? < 1327214625 260311 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: mappend and <|> don't do the same thing for Maybe < 1327214634 988351 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :actually I could make an alternative instance for a very very specific function. :P < 1327214667 552671 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Yes. That is so that they can make a different thing for mappend < 1327214678 953535 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> Just "test" <|> Just "so" < 1327214679 740352 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just "test" < 1327214685 344778 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> Just "test" `mappend` Just "so" < 1327214685 506399 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :But you could make a wrapper that makes mappend do the <|> < 1327214686 311224 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just "testso" < 1327214710 868094 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Another wrapper could make mappend to do the (liftA2 mappend) < 1327214715 651668 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: well but a newtype wrapper defeats kallisti's purpose of getting something elegant < 1327214725 697826 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :YEP < 1327214749 506804 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Then, implement the InstanceDisambiguation extension proposal that I have written < 1327214750 656053 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :there are already _several_ Monoid wrappers for Maybe < 1327214803 69086 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: I don't mean only for Maybe. I meant a wrapper making mappend do the <|> or the (liftA2 mappend) etc for any general Alternative or Applicative of monoid < 1327214929 334395 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Although I think, as well as making join a class method of Monad, make liftPair :: (f x, f y) -> f (x, y) a class method of Applicative since it is sometimes very useful, and you could have <*> and liftPair default methods defined in terms of each other < 1327214998 329576 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And then I try to think, if you can somehow make a Coapplicative with a kind of liftPair other way < 1327215026 865085 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i am not sure how useful liftPair as a method is, since i think usually a liftPair implementation would just be putting (,) in the <*> definition < 1327215053 928068 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and then, why not make it general in the first place < 1327215125 985549 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Also see this: http://en.wikipedia.org/wiki/Monoidal_monad It seems similar to my "liftPair" idea but describes how a monad can be applicative functor as well, as far as I can tell < 1327215134 594799 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walkWith board (followPortal `orRule` stopOnPiece) startMove < 1327215138 194223 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :holy crap that's awesome. < 1327215208 216707 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: There is the reason not make it general; you can define <*> too; the liftPair would just be another way that describes it without function (putting the use of function in fmap instead) < 1327215237 155573 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Like how, join also doesn't require the function as a parameter < 1327215245 346636 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I wonder if orRule should be left associative or right associative. < 1327215268 836132 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :same associative as <|> I think < 1327215270 816017 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which is.... left? < 1327215291 696203 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :If you type :info <|> in GHCi then they will tell you the fixity < 1327215302 96716 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :pretty sure it's left based on its short circuting behavior with Maybe < 1327215318 516587 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It doesn't matter because it is associative < 1327215321 557578 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Nothing <|> Just 2 <|> Nothing < 1327215322 603427 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 2 < 1327215326 745072 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh right < 1327215337 882729 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: the difference is that i find it hard to think of a liftPair definition which doesn't use (,) somewhere, possibly hidden in something like curry, but still. while a join definition does not have to contain any obvious correspondence to >>='s function argument. < 1327215339 168323 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Just 3 <|> Just 2 <|> Nothing < 1327215340 146853 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 3 < 1327215360 809384 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah should be left associative in this case. < 1327215408 326052 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :kallisti: But <|> is associative by law, so (Just 3 <|> Just 2) <|> Nothing = Just 3 <|> (Just 2 <|> Nothing) < 1327215427 98443 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah, indeed. < 1327215457 595734 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t (0$0 <|>) < 1327215458 607814 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : The operator `<|>' [infixl 3] of a section < 1327215458 769546 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : must have lower precedence than that of the operand, < 1327215458 769714 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : namely `$' [infixr 0] < 1327215458 931342 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: That is true, that is a difference. But at least "monoidal monad" in mathematics (described by the Wikipedia article) seem to be similar to liftPair < 1327215499 363524 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: yes, but in mathematical category theory, products are much more fundamental than in haskell < 1327215638 23842 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : pretty sure it's left based on its short circuting behavior with Maybe <-- huh, that actually seems stupid. right would short circuit better. < 1327215664 774867 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :just like with || and && < 1327215666 729218 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm... < 1327215673 157964 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> (0$0 ||) < 1327215674 90616 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : The operator `GHC.Classes.||' [infixr 2] of a section < 1327215674 253123 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : must have lower ... < 1327215677 191963 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> (0$0 &&) < 1327215678 240400 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : The operator `GHC.Classes.&&' [infixr 3] of a section < 1327215678 402559 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : must have lower ... < 1327215698 809680 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :infixl 3 <|> < 1327215724 141004 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i have had a hunch for a while that the Applicative operator fixities are not well thought out. (for one thing, they're _different_ from the corresponding Monad ones) < 1327215750 627164 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> (0$0 `mplus`) < 1327215751 572170 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : The operator `Control.Monad.mplus' [infixl 9] of a section < 1327215751 747755 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : must have l... < 1327215761 415104 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok that one doesn't actually _have_ one. < 1327215762 474065 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Yes they are different, and sometimes it is useful that they are difference. But yes it still does seem mixed up you are correct about that < 1327215853 942460 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : If you type :info <|> in GHCi then they will tell you the fixity <-- also my (0$0 `op`) trick for lambdabot < 1327215870 26989 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :O, yes, that too. < 1327215918 416824 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :mmmm this is so good < 1327215920 646292 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this fixes so many things. < 1327216265 376346 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: what do you mean that right associative would short circuit better? < 1327216281 306879 :pikhq_!~pikhq@174-22-151-130.clsp.qwest.net QUIT :Ping timeout: 240 seconds < 1327216296 813385 :pikhq!~pikhq@71-219-211-243.clsp.qwest.net JOIN :#esoteric < 1327216313 707986 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :kallisti: if a <|> b <|> c is parsed as a <|> (b <|> c), you just need to evaluate the a to know if it causes a short circuit < 1327216330 589868 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh right < 1327216343 662747 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm bad at associativity. :P < 1327216390 133305 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wow, I've written a lot of code. < 1327216403 683113 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this is the most Haskell I've written. < 1327216414 508625 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :How does "in mathematical category theory, products are much more fundamental than in haskell"? Product type are useful in Haskell programming too (since really, you can do many the same as mathematics) < 1327216433 269463 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and even if <|> _doesn't_ shortcut ... for [], (<|>) = (++) and ++ has better complexity when right associated < 1327216645 504497 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: useful, sure, but in category theory products are a limit construction, and afaict used to _define_ two-argument morphisms. and you don't get currying unless your category is cartesian closed. < 1327216666 736609 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so you _need_ products in a more fundamental way. < 1327216702 400532 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Yes, I suppose that is why some monad are "monoidal monads"; when I read that I thought, is all monads applicative functors as long as it is a cartesian closed category? Or is there something else? < 1327216748 598423 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i don't know, monoidal monads reaches the part of category theory that is a bit too heavy for my brain nowadays. < 1327216823 858535 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i recall some people mentioned recently, maybe here, that without cartesian closed category there is a distinction between monads and _strong_ monads. i don't know what that is though. < 1327216847 729224 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Because, I know in Haskell, all monads can be applicative functors. I would like to know if that applies to all cartesian closed categories, or if it is a weaker or a stronger requirement than this. < 1327216875 653951 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Yes I have read some things about strong monads, and that in Haskell, all functors are strong < 1327216876 892056 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :argh that requires monoidal category too. there's no escape :P < 1327216900 468035 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :linearWalker :: WalkRule < 1327216900 683618 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :linearWalker = followPortal `orRule` stopAtPiece < 1327216907 883538 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the terminology is just getting more ridiculous as we speak. < 1327217012 364316 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And anyways, the Arrow class in Haskell is defined using product types. < 1327217058 662339 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: hm, cartesian closed categories allow you to define monads in terms of >>= don't they, and doesn't the rest of applicative follow from that? < 1327217083 198500 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: yes, but i think that's considered a somewhat ugly fact about arrows. < 1327217128 104358 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327217137 667623 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :although some consider the rampant use of arr also an ugly fact, and i've read some suggesting a weaker arrow class without it, and _just_ product plumbing, which would be useful for circuit-like things < 1327217151 661632 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*weaker variant of < 1327217172 4313 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what would happen if..... < 1327217183 305296 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I passed these walk rules, the rule that they're a part of? < 1327217202 505691 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so that they can advance forward using all the rules. < 1327217214 327534 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm that sounds like a continuation actually. < 1327217239 819096 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :kallisti: sounds like how you do recursion in lambda calculus < 1327217251 641922 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I think arr ought to be a different class. I did write a module (not yet published) that puts arr in a different class and can use any type instead of (,) as another class parameter (which means no separate class in needed for ArrowChoice since you can use the dual category) < 1327217266 176916 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oerjan: I want to define a rule called walkAroundPiece < 1327217289 139588 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which will, if it encounters a piece, step forward beyond it. < 1327217299 169353 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but it has to know what the walk rule is < 1327217303 389109 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which is information it currently doesn't have. < 1327217315 920596 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i think i need to finish reading this website which keeps leaking memory -> < 1327217316 445093 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I put arr in a different class called CatFunctor from any one category to another, and a different name. The class methods for CatArrow are also given different names and has two parameters instead of just one < 1327217393 370743 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hmmm I think I could better structure this is a Cont maybe? < 1327217632 461576 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :.... < 1327217633 320769 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I < 1327217643 533954 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I want to, so badly, name this constructor field < 1327217644 931705 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :boardWalk < 1327217654 442122 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but that actually doesn't make any sense. < 1327218272 183226 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Apparently, Notch is a fan of Order of the Stick < 1327218279 472768 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :RecordPuns is a weird name for RecordPuns < 1327218424 559591 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :class Category c => CatArrow c p where { arr1 :: c x y -> c (p x z) (p y z); arr2 :: c x y -> c (p z x) (p z y); mirror :: c (p x y) (p y x); (*+*) :: c x y -> c x' y' -> c (p x x') (p y y'); (&|&) :: c x y -> c x y' -> c x (p y y'); } It can define arr1 in terms of arr2 and mirror, arr2 in terms of arr1 and mirror, *+* in terms of arr1 and arr2; can it define mirror in terms of &|& and arr1 and arr2? < 1327218441 797941 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :argh IE will let me turn off scripts on the site but _not_ enable them on a subpage which i want them on (you _cannot_ put anything explicitly into the default region, only the restricted and cleared ones) < 1327218461 203609 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(yeah i know you'll just laugh at me using IE) < 1327218477 476394 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :haha IE great funny < 1327218483 681617 :ChanServ!ChanServ@services. MODE #esoteric +o :oerjan > 1327218484 47031 NAMES :#esoteric < 1327218495 557558 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I think you can add one more zone using the registry editor < 1327218496 349120 :oerjan!oerjan@sprocket.nvg.ntnu.no KICK #esoteric kallisti :Just remember, there are consequences! < 1327218502 515706 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1327218504 484903 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :egads! < 1327218509 304603 :oerjan!oerjan@sprocket.nvg.ntnu.no MODE #esoteric -o :oerjan > 1327218509 327618 NAMES :#esoteric < 1327218526 16884 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :stupid optators tripping on the power < 1327218539 89075 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i didn't trip, i was pushing you < 1327218559 77879 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :am I a bad person for using record puns? < 1327218568 975399 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :no, puns are always good < 1327218589 139818 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think at this point I'm probably overcomplicating things. < 1327218607 418490 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but I can't think of a more general way to do it... < 1327218650 466267 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :wait, more general implies _less_ complicated, in haskell? < 1327218668 478728 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :no < 1327218672 727515 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and I think no for any language. :P < 1327218681 708834 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well... < 1327218690 679855 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't know this is easier than rewriting a bunch of code. < 1327218708 491683 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and in the likely event that I change some rules this will be pretty easy to modify. < 1327218909 703369 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh wait I don't even need this rule... < 1327218917 229658 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or wait, yes I do... < 1327220090 134240 :Vorpal!~AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1327220147 606837 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :f :: Natural -> Natural -> Natural; f 0 0 = 0; f x 0 = x ^ church x (f $ pred x) (x ^ x); f x y = join (^) $ f x (pred y); z :: Natural; z = join (^) $ f 3 0; < 1327220283 682636 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uh oh.... < 1327220342 250572 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: primitive recursive, i suspect < 1327220357 256349 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Questions: [1] How large is z compared to other large numbers? [2] How much memory do you need to calculate it? [3] How long will it take for the program to complete? [4] What properties can be figured out? [5] What is the point of doing such things? < 1327220360 544005 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hm or < 1327220388 641689 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :maybe not... < 1327220462 315222 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :(By "church" I mean that the function (f $ pred x) should be applied x times) < 1327220494 234627 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Why not? < 1327220495 766283 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i think the last f equation is equivalent to f x y = church y (join (^)) (f x 0) < 1327220495 928215 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i guessed that much < 1327220503 686225 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :why not what < 1327220554 178393 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i am not sure whether combining church with (f $ pred x) can get you out of primitive recursive or not; nothing else there does < 1327220557 262094 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: O, yes, you are probably correct about the last f equation. I meant why not primitive recursive < 1327220618 65838 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh.... < 1327220621 447951 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I figured out what I want. < 1327220623 626331 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think. < 1327220631 127245 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think I want the StateT instance for MonadLogic? < 1327220649 598933 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :assuming it works as I expect it to. < 1327220701 991038 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if I have StateT s [] a < 1327220710 824097 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ok so f x 0 = x ^ church x (\y -> church y (join (^)) (f (pred x) 0)) (x ^ x) < 1327220725 314763 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :which is primitive recursive, i believe < 1327220727 961623 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :then it should create a new state for each branch point, right? < 1327220733 14809 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Yes which mean you don't really need the second argument < 1327220776 921042 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yep < 1327220791 651914 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t runStateT < 1327220792 607415 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall s (m :: * -> *) a. StateT s m a -> s -> m (a, s) < 1327220827 442038 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: so, as usual this would be smaller than ackermann stuff < 1327220832 555329 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Now what happen if the first argument to church is also decided using f? < 1327220915 645534 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i doubt that helps; the problem is that it's too easy to split the part where y varies by itself, so you are really only recursing on one argument at a time < 1327220926 384624 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ACTION is bad at monad transformers... < 1327220927 848596 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*split out < 1327220953 97683 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :By using mostly only the f, church, join, exponent, and predecessor of its argument; possibly in a small way that still has a large effect < 1327221004 904811 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Even if y is ignored though; and there is one argument x only; if you did that what happen? < 1327221051 854340 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> do { x <- get; lift [x+1,x-1] } >>- iterate succ < 1327221052 863272 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `t [] b' against inferred type `[s]' < 1327221089 691127 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :halp < 1327221151 758703 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> evalStateT $ do { x <- get; lift [x+1,x-1] } >>- iterate succ < 1327221152 798610 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `Control.Monad.Trans.State.Lazy.StateT < 1327221152 960790 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ... < 1327221262 176308 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: what would you use for church's second argument then? if you put f i don't think the recursion terminates. < 1327221370 542253 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: I know you can't put f... oops... maybe you need to use exponents and number by the predecessor of argument, too < 1327221527 813789 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> flip evalStateT 5 $ do { x <- get; lift [x+1,x-1] >>- (lift . iterate succ)} < 1327221531 65796 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [6,4,7,5,8,6,9,7,10,8,11,9,12,10,13,11,14,12,15,13,16,14,17,15,18,16,19,17,... < 1327221538 892260 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I have no idea if this is doing what I want it to do. < 1327221564 58194 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i suspect ackermann's two arguments with f nested in the recursive rule is about the simplest you can do to get something out of primitive recursive territory < 1327221609 386423 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but it would seem reasonable that each alternative branch point in the [] instance of MonadLogic would have a distinct state... < 1327221616 31826 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :rather than running the state linearly through the resulting list. < 1327221807 59196 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> interleave [1,2,3] [4,5,6] < 1327221808 12619 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,4,2,5,3,6] < 1327221829 409824 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hm ack x y = ack (pred x) (ack x (pred y)) = church y (ack $ pred x) (ack x 0) < 1327221830 907556 :kmc!~keegan@c-98-216-51-47.hsd1.ma.comcast.net PRIVMSG #esoteric :it's a fun exercise to write "interleave" which works for an infinite number of infinite lists < 1327221837 978052 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] >>- const [4,5,6] < 1327221838 936010 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [4,4,5,4,6,5,5,6,6] < 1327221842 233784 :kmc!~keegan@c-98-216-51-47.hsd1.ma.comcast.net PRIVMSG #esoteric :or i guess it's 'transpose' < 1327221853 635850 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :kmc: um isn't that what >>- does < 1327221870 768555 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well, (>>- id) < 1327221875 874442 :kmc!~keegan@c-98-216-51-47.hsd1.ma.comcast.net PRIVMSG #esoteric :likely < 1327221879 226069 :kmc!~keegan@c-98-216-51-47.hsd1.ma.comcast.net PRIVMSG #esoteric :is that from LogicT? < 1327221885 129692 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I've actually used (>>- id) < 1327221887 592372 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i think so < 1327221898 639517 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's from the MonadLogic class specifically < 1327221903 26668 :kmc!~keegan@c-98-216-51-47.hsd1.ma.comcast.net PRIVMSG #esoteric :it's also what Control.Monad.Omega.diagonal does iirc < 1327221916 761880 :kmc!~keegan@c-98-216-51-47.hsd1.ma.comcast.net PRIVMSG #esoteric :but anyway you don't need to "um" me as I said it was an exercise < 1327221918 719543 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I did think of some variant of Ackermann-Peter function which include multiple application (by church) as well, such as: a 0 n = succ n; a m 0 = church (a (pred m) 1) (a $ pred m) 1; a m n = church (a (pred m) $ a m (pred n)) (a $ pred m) (a m $ pred n); < 1327221970 347095 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net JOIN :#esoteric < 1327221977 193938 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :Hello! < 1327221993 281873 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> if [1,2,3] (\x -> [x,x,x]) undefined < 1327221994 321188 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : : parse error (possibly incorrect indentation) < 1327221996 731581 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> ifte [1,2,3] (\x -> [x,x,x]) undefined < 1327221997 646280 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,1,1,2,2,2,3,3,3] < 1327222009 977209 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> ifte [] (\x -> [x,x,x]) undefined < 1327222011 30324 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : *Exception: Prelude.undefined < 1327222020 328000 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric ::t ifte < 1327222020 856000 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a b. (MonadLogic m) => m a -> (a -> m b) -> m b -> m b < 1327222079 473863 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Ngevd: I've been doing a lot of fancy magic since you left. :P < 1327222085 406488 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :Yay < 1327222089 726475 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :Magic that is fancy! < 1327222250 493373 :_Slereah!~butt@ANantes-259-1-231-27.w83-195.abo.wanadoo.fr QUIT :Ping timeout: 260 seconds < 1327222382 536667 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so much better than boring magic! < 1327222506 226781 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :Also, kallisti, how do pawns behave with portals? < 1327222522 345144 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh i think a category can be monoidal in more than one way, with product being one of them. makes more sense now. < 1327222573 242285 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i suppose the product is used for haskell, then < 1327222590 709663 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :although you could also use Either instead... < 1327222603 284932 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(for the coproduct version) < 1327222605 378794 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Ngevd: as expected? < 1327222631 711665 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: Does that have anything to do with ArrowChoice? < 1327222638 989101 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: i expect so < 1327222663 477580 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :So, if there's a portal in front of them so they can go through it, and the matching portal is facing East, and they can move double, and move double through the portal, what happens? < 1327222717 734340 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :the portal changes the direction of travel. < 1327222720 31879 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :as though... < 1327222723 472847 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it were the same < 1327222724 370175 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :>_> < 1327222729 111905 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :as the original direction < 1327222731 771862 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or whatever. < 1327222734 450546 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this makes total sense. < 1327222735 647354 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::P < 1327222761 951856 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I did notice that how I have defined CatArrow, that ArrowChoice stuff is just done by CatArrow in a dual category with Either instead of (,) < 1327222851 984426 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Ngevd: think of it this way: portals just relocate points in a pieces moveset < 1327222866 52035 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm that smash product example listed looks like what you would get if haskell's products were unlifted and you used bottoms as the identity. i think. < 1327222874 233321 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so that they continue in the direction forced by the out portal < 1327222893 40339 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :Hmm < 1327222896 423386 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(unlifted = (_|_, y) = (x, _|_) = _|_) < 1327222913 469030 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*unlifted means < 1327222920 925352 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Ngevd: this is a good way to think about it, because it's currently the way I'm implementing it. :> < 1327223035 266534 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Ngevd: btw I'll allow clients to request movesets < 1327223042 96780 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so a client can highlight possible moves for a piece < 1327223056 17258 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this should make reasoning about portals easier. < 1327223094 210058 :_Slereah!~butt@ANantes-259-1-232-162.w83-195.abo.wanadoo.fr JOIN :#esoteric < 1327223348 830770 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :zzo38: afaiu comonads are just monads in the dual category, so shouldn't coapplicatives be similarly related to applicatives? although i don't know the categorical definition of applicative. < 1327223430 230596 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`run echo "Comonads are just monads in the dual category." >wisdom/comonad < 1327223443 855470 :HackEgo!codu@codu.org PRIVMSG #esoteric :No output. < 1327223453 411241 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :`? comonad < 1327223457 615046 :HackEgo!codu@codu.org PRIVMSG #esoteric :Comonads are just monads in the dual category. < 1327223464 407460 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :Wow! < 1327223476 643400 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :Also, isn't that what `learn is for? < 1327223495 220345 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Ngevd: learn doesn't support pluralizing words afaik < 1327223514 962842 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> msplit [1,2,3,4] < 1327223515 919337 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [Just (1,[2,3,4])] < 1327223521 536508 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah < 1327223536 582088 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it does at least convert to lowercase. < 1327223550 177590 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`cat bin/learn < 1327223553 530019 :HackEgo!codu@codu.org PRIVMSG #esoteric :​#!/bin/sh \ topic=$(echo "$1" | sed 's/ .*//' | tr A-Z a-z) \ info=$(echo "$1" | sed 's/[^ ]* //') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." \ < 1327223652 445423 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :msplit looks like it would be useful for pointlessing < 1327223667 919370 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh wait it has a surrounding [] < 1327223671 387161 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t msplit < 1327223672 390953 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a. (MonadLogic m) => m a -> m (Maybe (a, m a)) < 1327223683 656564 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> iterate (>>- iterate succ) 0 < 1327223684 594365 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Num.Num [a]) < 1327223684 806495 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use of `e_10' at iterate (>>- iterate succ) [0] < 1327223689 9934 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [[0],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,2... < 1327224522 421834 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net QUIT :Ping timeout: 245 seconds < 1327224684 950889 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> sequence [[1..], [0..]] < 1327224685 918141 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [[1,0],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[1,11],... < 1327224714 412969 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t iterate < 1327224715 381302 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. (a -> a) -> a -> [a] < 1327224723 502296 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@hoogle (a -> a) -> a -> m a < 1327224724 241834 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Prelude iterate :: (a -> a) -> a -> [a] < 1327224724 403559 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.List iterate :: (a -> a) -> a -> [a] < 1327224724 403753 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Generics.Schemes everywhere :: (forall a. Data a => a -> a) -> (forall a. Data a => a -> a) < 1327224735 933353 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@hoogle (Monad m) => (a -> a) -> a -> m a < 1327224736 533626 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Prelude iterate :: (a -> a) -> a -> [a] < 1327224736 695905 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.List iterate :: (a -> a) -> a -> [a] < 1327224736 696092 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Generics.Schemes everywhere :: (forall a. Data a => a -> a) -> (forall a. Data a => a -> a) < 1327225137 765370 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net JOIN :#esoteric < 1327225573 144598 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :oerjan: I know comonads are just monads in the dual category. But I don't know of coapplicatives < 1327225583 377496 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com QUIT :Remote host closed the connection < 1327226628 634358 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t \(x,y) -> (,) x `liftM` y < 1327226629 495544 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall t a1 (m :: * -> *). (Monad m) => (t, m a1) -> m (t, a1) < 1327226655 724048 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i assume that's the strong monad strength function < 1327226743 744058 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t either (return.Left) (liftM Right) < 1327226744 759194 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a a1. (Monad m) => Either a (m a1) -> m (Either a a1) < 1327226762 477083 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and that would be another candidate for the coproduct monoid < 1327227697 488259 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@hoogle (MonadPlus m) => m a -> Bool < 1327227698 174630 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.IntMap null :: IntMap a -> Bool < 1327227698 336380 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Maybe isJust :: Maybe a -> Bool < 1327227698 336562 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Maybe isNothing :: Maybe a -> Bool < 1327227734 958493 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@hoogle mconcat < 1327227735 408100 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Data.Monoid mconcat :: Monoid a => [a] -> a < 1327227746 836938 :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net QUIT :Ping timeout: 248 seconds < 1327227755 132025 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric ::t (== mzero) < 1327227755 948265 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a. (MonadPlus m, Eq (m a)) => m a -> Bool < 1327227827 682138 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] >> [] < 1327227828 562273 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [] < 1327227956 214550 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> msum (repeat []) < 1327227960 105389 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1327228116 42931 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> msum [] < 1327228117 37478 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Show.Show (m a)) < 1327228117 199441 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use of `M6822796534... < 1327228237 98756 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Nothing `mplus` Just 2 < 1327228238 181862 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 2 < 1327228274 879934 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :> Just 1 `mplus` Just 2 < 1327228275 826213 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 1 < 1327228374 268558 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 255 seconds < 1327228787 233752 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1327229272 405943 :Frooxius!~chatzilla@cust-101.ktknet.cz QUIT :Ping timeout: 245 seconds < 1327229832 172869 :KingOfKarlsruhe!~chatzilla@p5B131E39.dip.t-dialin.net JOIN :#esoteric < 1327230573 650033 :Frooxius!~chatzilla@ip-85-161-210-182.eurotel.cz JOIN :#esoteric < 1327230604 298864 :Frooxius!~chatzilla@ip-85-161-210-182.eurotel.cz QUIT :Read error: Connection reset by peer < 1327230682 697921 :Frooxius!~chatzilla@ip-85-161-210-182.eurotel.cz JOIN :#esoteric < 1327230735 308312 :Frooxius!~chatzilla@ip-85-161-210-182.eurotel.cz QUIT :Client Quit < 1327230895 464426 :Frooxius!~chatzilla@ip-85-161-210-182.eurotel.cz JOIN :#esoteric < 1327231101 914468 :Frooxius!~chatzilla@ip-85-161-210-182.eurotel.cz QUIT :Read error: Connection reset by peer < 1327231224 459929 :Frooxius!~chatzilla@ip-85-161-210-182.eurotel.cz JOIN :#esoteric < 1327231239 31645 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :spaamius < 1327232497 165878 :Frooxius!~chatzilla@ip-85-161-210-182.eurotel.cz QUIT :Ping timeout: 240 seconds < 1327232994 878338 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake QUIT :Ping timeout: 248 seconds < 1327233067 736010 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net QUIT :Ping timeout: 252 seconds < 1327233297 586035 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net JOIN :#esoteric < 1327233367 961790 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :I reckon DMM is dying < 1327233372 708283 :Frooxius!~chatzilla@ip-85-163-199-249.eurotel.cz JOIN :#esoteric < 1327233385 175441 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net PRIVMSG #esoteric :And wants to pass all his knowledge onto the next generation < 1327233493 116913 :Ngevd!~Taneb@host-84-13-74-200.opaltelecom.net QUIT :Client Quit < 1327234193 464246 :Ngevd!~Taneb@host-78-148-9-114.as13285.net JOIN :#esoteric < 1327234199 492507 :Frooxius!~chatzilla@ip-85-163-199-249.eurotel.cz QUIT :Read error: Connection reset by peer < 1327234266 681586 :Frooxius!~chatzilla@ip-85-163-199-249.eurotel.cz JOIN :#esoteric < 1327234466 367920 :leonid[sunp]!~leonid@220.87.153.138 JOIN :#esoteric < 1327234471 942977 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :helo < 1327234534 576141 :Ngevd!~Taneb@host-78-148-9-114.as13285.net PRIVMSG #esoteric :Hello < 1327234537 694741 :Ngevd!~Taneb@host-78-148-9-114.as13285.net PRIVMSG #esoteric :`welcome < 1327234540 832251 :HackEgo!codu@codu.org PRIVMSG #esoteric :Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page < 1327234550 809673 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :i've been looking at fernando language < 1327234568 925153 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :and wondered if it is possible to build a program that outputs the shortest possible fernando code that outputs any given string < 1327234598 926349 :Ngevd!~Taneb@host-78-148-9-114.as13285.net PRIVMSG #esoteric :Definitely < 1327234664 517688 :Ngevd!~Taneb@host-78-148-9-114.as13285.net PRIVMSG #esoteric :Efficiently is another challenge altogether < 1327234876 452303 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :excuse me, but if fernando is turing-complete, that is impossible. < 1327234910 779520 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :see kolmogorov complexity. < 1327234933 650257 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :i see. < 1327234954 747049 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :oerjan: How so? Enumerate through programs in shortlex order, for each program: ask your neighbourhood Turing oracle whether it halts, if it doesn't run it, if it outputted the string you wanted, well, there it is. < 1327234971 58769 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :iirc, fernando doesn't have input function. < 1327234980 710437 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION swats fizzie -----### < 1327235008 552544 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :oerjan: I don't think FerNANDo has any sort of unbounded storage, though. < 1327235039 661925 :Ngevd!~Taneb@host-78-148-9-114.as13285.net PRIVMSG #esoteric :FerNANDo is linear bounded < 1327235151 111073 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :it's basically a matter of detecting a pattern from the desired output < 1327235183 149038 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ah, maybe so then. < 1327235233 910612 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yes, then just simulate and check for repetition to throw out non-halting programs. < 1327235580 159734 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :not sure how to approach this < 1327235597 385889 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :it's still not efficient though. < 1327235612 438838 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :i gave up getting the optimal code < 1327235626 985967 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :'fairly good' ones will satisfy me < 1327235770 7680 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well it's easy to make one which uses 3+8*n commands where n is the number of bits in the string. < 1327235803 41051 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :haha yeah < 1327235811 908603 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :i'd say that one is the upper bound < 1327235871 660792 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and loops are hard to use. especially since you can only jump backwards. < 1327235955 213192 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :also wondering if it's possible to make fernando quine < 1327236069 623422 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :(except for the trivial 0b solution of course) < 1327236089 217258 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :actually nevermind. an empty code will cause an error < 1327236120 480691 :Ngevd!~Taneb@host-78-148-9-114.as13285.net PRIVMSG #esoteric :I don't see anything stopping it < 1327236185 507185 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i don't know why it would be an error. < 1327236222 450713 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :i thought the only valid lines of codes are those that consist of 1, 3, or 8 variables < 1327236230 658963 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :looks like i'm wrong < 1327236262 440764 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yes, what does that have to do with having _no_ lines? < 1327236347 128217 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :i see < 1327236398 342650 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :forget the part where i said 'nevermind' < 1327236408 647703 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :forget what? < 1327236419 486862 :leonid[sunp]!~leonid@220.87.153.138 PRIVMSG #esoteric :forget this line [07:41:15] actually nevermind. an empty code will cause an error < 1327236432 868733 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh, thanks for reminding me. < 1327236458 486759 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i'm not sure how you'd organize a quine in this. < 1327236572 726514 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :for the main reason that i'm not sure how do structured data of comparable size to the program itself. < 1327236622 754862 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*to do < 1327237488 85225 :hagb4rd!~perdito@koln-4db404c4.pool.mediaWays.net QUIT :Read error: Connection reset by peer < 1327237542 307978 :hagb4rd!~perdito@koln-d9329ebe.pool.mediaWays.net JOIN :#esoteric < 1327237936 277227 :Frooxius!~chatzilla@ip-85-163-199-249.eurotel.cz QUIT :Ping timeout: 252 seconds < 1327238089 936707 :Ngevd!~Taneb@host-78-148-9-114.as13285.net PRIVMSG #esoteric :I'm worried. < 1327238096 517917 :Ngevd!~Taneb@host-78-148-9-114.as13285.net PRIVMSG #esoteric :My dog just threw me a ball < 1327238213 692400 :Frooxius!~chatzilla@ip-85-163-71-97.eurotel.cz JOIN :#esoteric < 1327238256 64967 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well did you fetch properly? < 1327238505 716003 :oklopol!~oklopol@dyn58-57.yok.fi PRIVMSG #esoteric :i saw a cat throw a ball at another cat's face yesterday < 1327238527 371095 :olsner!~salparot@c83-252-161-133.bredband.comhem.se PRIVMSG #esoteric :Ngevd: you're the dog now man < 1327238567 391581 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Good boy! < 1327239205 365928 :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 , Skype: patashu0 . < 1327239297 605760 :Ngevd!~Taneb@host-78-148-9-114.as13285.net QUIT :Ping timeout: 245 seconds < 1327239464 569747 :Ngevd!~Taneb@host-78-148-9-114.as13285.net JOIN :#esoteric < 1327239472 823571 :Frooxius!~chatzilla@ip-85-163-71-97.eurotel.cz QUIT :Ping timeout: 252 seconds < 1327239492 337624 :Ngevd!~Taneb@host-78-148-9-114.as13285.net QUIT :Client Quit < 1327240966 319238 :sebbu!~sebbu@ADijon-152-1-29-127.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1327240967 356895 :sebbu!~sebbu@ADijon-152-1-29-127.w83-194.abo.wanadoo.fr QUIT :Changing host < 1327240967 519073 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1327241660 870928 :KingOfKarlsruhe!~chatzilla@p5B131E39.dip.t-dialin.net QUIT :Quit: ChatZilla 0.9.88 [Firefox 9.0.1/20111220165912] < 1327242804 663035 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Read error: Connection reset by peer < 1327242829 398314 :sebbu!~sebbu@ADijon-152-1-29-127.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1327242829 801245 :sebbu!~sebbu@ADijon-152-1-29-127.w83-194.abo.wanadoo.fr QUIT :Changing host < 1327242829 963426 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1327243703 205747 :MSleep!~fyrc@or-67-238-19-212.dhcp.embarqhsd.net NICK :MDude < 1327244300 218680 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net JOIN :#esoteric < 1327244305 203435 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Hello < 1327245210 247209 :kmc!~keegan@c-98-216-51-47.hsd1.ma.comcast.net PRIVMSG #esoteric :hi Ngevd < 1327245323 784252 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :We're in the future < 1327245381 27196 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :How did you get there? < 1327245423 381990 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :By waiting < 1327245433 517903 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :But now we're in the past... < 1327245435 145491 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Sounds complicated. < 1327246087 652401 :Frooxius!~chatzilla@ip-85-161-12-230.eurotel.cz JOIN :#esoteric < 1327246791 295779 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net QUIT :Quit: Goodbye < 1327247079 461327 :primo!~maik@ppp-124-121-249-56.revip2.asianet.co.th JOIN :#esoteric < 1327247232 339791 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1327247241 328685 :azaq23!~derivecto@unaffiliated/azaq23 QUIT :Max SendQ exceeded < 1327247282 818697 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1327248786 637654 :MDude!~fyrc@or-67-238-19-212.dhcp.embarqhsd.net QUIT :Ping timeout: 255 seconds < 1327250058 184360 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :@tell elliott Oh god why are rabbits so tasty im crisis < 1327250058 732068 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1327250898 787824 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Phantom_Hoover, what makes you think elliott is coming back? < 1327250907 586734 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Oh, I guess he can receive the message in #haksell < 1327250909 390812 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :#haskell < 1327250948 685831 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :#haxhell. < 1327251149 664680 :primo!~maik@ppp-124-121-249-56.revip2.asianet.co.th QUIT :Ping timeout: 240 seconds < 1327251265 795677 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Remote host closed the connection < 1327252719 562538 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1327254010 207579 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Just a heads-up, but the robotic uprising has started: http://users.ics.tkk.fi/htkallas/roombastruction.jpg < 1327254051 198655 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :First they cut the cellphone chargers; next, our necks. < 1327254077 980028 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Even the microUSB connector has been sliced, not just the cable.) < 1327254872 312969 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net JOIN :#esoteric < 1327254904 920310 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Hello < 1327255091 883786 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :fwehfiuwehfui < 1327255094 169584 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :fungot < 1327255094 633869 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Ngevd: i could point you in the us a jelly donut. i am sure it can < 1327255101 823539 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :^style < 1327255101 986217 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube < 1327255111 837597 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :^style ss < 1327255111 999535 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: ss (Shakespeare's writings) < 1327255121 335452 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :fungot, fwehfiuwehfui < 1327255121 703431 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Ngevd: pro. as manie as you please. < 1327255132 572569 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :What a dude. < 1327255188 912225 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :fungot: Are you in league with the Roombalords? < 1327255189 497821 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :fizzie: widdow. it quakes me too, now i understand ye very well: could he say lesse < 1327255217 780184 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I'm not sure if that's a yes or a no. < 1327255246 77748 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Truly, fungot is a master of trickery. < 1327255246 798049 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Ngevd: gon. let your study be to content your lord, that fault is none of my lords meat? then they could smile and fawn upon his debts, and take leaue. i am < 1327255261 503989 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :fizzie, how hard is it to add a style? < 1327255273 939754 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Ngevd: It's not entirely automated, but not very hard. < 1327255309 657090 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :You basically need a datafile of what you want it to say in "one sentence per line" plaintext format. < 1327255407 594286 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Then it's just a matter of some ./preprocess.pl sed -e 's#.*# & #' varikn-1.0.2/varigram_kn -o .. -D .. -E .. -C -3 -n .. .. -a .. ./arpa2fungot.pl and there it is. < 1327255408 86385 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :fizzie: first lord. go, comfort your bed, with hey the sweet birds throte: come hither < 1327255432 112082 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :With suitable ..s. < 1327255570 919398 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :I am writing a program and have no way to check it for errors < 1327255587 218949 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :So you thought a new fungot style might help? Makes sense. < 1327255587 912041 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :fizzie: she fals the sword. send succours ( lords) to let you enter his vnpeopled house. enter. mes. so like you, sir. nicholas and frailty, as men you are in hast: and speed must answer it < 1327255597 120934 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Take my mind of things < 1327255606 212279 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :With a bit of automated Oscar Wilde < 1327255740 951421 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I've got 14322 sentences of that stuff at the moment, it seems. < 1327255760 680212 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I suppose it would be possible to stylify that. It's just a bit of a bother. < 1327256056 855821 :cheater!~cheater@dslb-084-057-001-153.pools.arcor-ip.net QUIT :Ping timeout: 244 seconds < 1327256395 876194 :MDude!~fyrc@c-174-55-44-190.hsd1.pa.comcast.net JOIN :#esoteric < 1327256585 893177 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Is fungot's source available? I want to try running fungot in another channel. < 1327256586 957466 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Sgeo: fra. you louing men of angiers open wide your gates and let young arthur, duke of clarence daughter, did he tempt thee so? her. they give their greeting to the senators let me desire to know wherefore i sent, and your fnord, your ques, and your increasing in love leonatus posthumus.' < 1327256945 514220 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :^source < 1327256945 713523 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 < 1327256947 996745 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Sgeo: ^ < 1327256966 549655 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That's actually slightly misleading. < 1327256984 585529 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :What about all the styles? Are they available somewhere? < 1327256998 943690 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :But you can find all the necessary bits from behind that link, you just need more than just fungot.b98. < 1327256999 292317 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :fizzie: mon. how? bribe me? is it? cel. i warrant you < 1327257002 759070 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Or could we just get a multichannel fungot < 1327257003 197562 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Ngevd: captain. pray, at whose suit is this? ham. to be hang'd that wilt not stay her tongue. the fnord < 1327257025 657303 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :It works for msg < 1327257032 989968 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The current fungot works well enough multichannel, yes. < 1327257033 778876 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :fizzie: gloster. now, sirs, be careful of your own will. is he not with the dolphins grace, his new-come champion, vertuous ioane of acre, nor any man of qualitie: i hope this reason stands for my bountie: but who is here? < 1327257039 292622 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :And the styles aren't anywhere. < 1327257043 990918 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :They're quite big, anyway. < 1327257059 752290 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :My fungot directory is ~630M. < 1327257060 460398 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Aww, ok < 1327257060 643938 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :fizzie: sil. what sai'st thou boy? i loue, and thou, and nature must obey necessitie, which we, on like conditions, will have it so, to great and high estate. is left to tyrannize upon my breast; and, when your owne percy, when my father dyed within's two houres < 1327257065 853250 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Sgeo, tell fizzie what channels you wanted < 1327257071 998471 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :fizzie, work magic for Sgeo < 1327257083 670420 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Most of them are from public sources, anyway, so you can build them. < 1327257098 225939 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :And the ones that aren't I probably couldn't share either. < 1327257100 382671 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :^style fisher < 1327257100 544769 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: fisher (Fisher corpus of transcribed telephone conversations) < 1327257102 856736 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Like this one. < 1327257108 488072 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think it's got some copyrights on it. < 1327257119 963397 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :o.O how did you get it? < 1327257131 274188 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :fungot, then who was phone? < 1327257131 836384 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Sgeo: so you know getting your opinion on that how can anything that)) i've ( ( wanted to go to florida for the summer < 1327257132 769691 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :You can buy it with $1000 from LDC, apparently. < 1327257143 818243 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Well, "Part 1" transcripts, anyway. < 1327257148 186649 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I'm not quite sure what I used. < 1327257172 115651 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The extra ()s are something I forgot to clean up, it's got this annotation thing going on. < 1327257248 577282 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Also I got it since we have that sort of stuff at work, and I thought building a model and spewing some output now and then will fall under the "negligible amounts" rules, or whatever. < 1327257424 509184 :kallisti!~eris@h247.16.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1327257424 709438 :kallisti!~eris@h247.16.18.98.dynamic.ip.windstream.net QUIT :Client Quit < 1327257435 783239 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1327257550 92044 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net QUIT :Quit: Goodbye < 1327257957 455976 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1327258258 262062 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :annotation thing? < 1327258324 417168 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :^styles < 1327258328 238958 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :^style < 1327258328 400582 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Available: agora alice c64 ct darwin discworld europarl ff7 fisher* fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube < 1327258336 750569 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ss? < 1327258340 649654 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ct? < 1327258347 155970 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :ic? < 1327258350 90837 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :pa? < 1327258370 288575 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Shapespeare, Chrono Trigger, INTERCAL, Penny Arcade. (From memory.) < 1327258376 478987 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Ah < 1327258376 641045 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Just try them and look at the descriptions. < 1327258378 543577 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :^style ss < 1327258378 705174 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: ss (Shakespeare's writings) < 1327258380 888526 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :^style ct < 1327258381 50498 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: ct (Chrono Trigger game script) < 1327258382 922626 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :^style ic < 1327258383 84228 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: ic (INTERCAL manual) < 1327258384 624732 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :^style pa < 1327258384 786414 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: pa (around 1200 transcribed Penny Arcade comics) < 1327258384 786612 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Oh, ok < 1327258394 601579 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :^style sms < 1327258394 763033 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: sms (National University of Singapore SMS corpus, 2011-08-20) < 1327258405 978445 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :fungot: What's bubbling, mon? < 1327258406 725531 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :fizzie: wat.? abt the imp. at one? if dun go dunno. i generally free since school holiday. are u okay with any guy...after u told to give xerox wen vil u cum? on you or in you. psalm.. ezek.. 2peter decimal. 1peter 5 < 1327258416 99369 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :Why does the National University of Singapore have an SMS corpus? < 1327258422 187637 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :^style c64 < 1327258422 349719 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: c64 (C64 programming material) < 1327258428 714846 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :^style irc < 1327258428 877306 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) < 1327258429 475441 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Why does the National University of Singapore do anything, really? < 1327258451 760323 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :I mean, how does a university get access to SMS messages like that? < 1327258476 117497 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :They asked people. < 1327258485 134155 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That one was more explicit than they usually are, though. < 1327258497 600260 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :In my opinion, the many-worlds interpretation of quantum mechanics is as good as any other. So you might need different interpretation for different purposes < 1327258529 305835 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :purposes? < 1327258535 174407 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"These messages were collected from volunteers who were made aware that their contributions were going to be made publicly available." < 1327258560 613605 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :They're still collecting it, incidentally. < 1327258585 97583 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"As of January 2012 , we have collected 41208 English SMS messages (exclusive the old corpus) and 29381 Chinese SMS messages ." < 1327258595 666589 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :They also put spaces in front of commas and periods, I see. < 1327258609 520066 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Anyway, the 2011-08-20 copy had... maybe 20-30k messages? < 1327259022 91409 :Klisz!~Klisz@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1327259074 404866 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net JOIN :#esoteric < 1327259092 623243 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Hello < 1327259114 947650 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :fizzie, I've began formatting OW's plays into fungot-format < 1327259115 580310 :fungot!~fungot@a91-152-37-146.elisa-laajakaista.fi PRIVMSG #esoteric :Ngevd: the vm or elsewhere. then just ( set! stream... oh well. if it does it's what littledan asked about. < 1327259134 485665 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Ngevd: I've got them in sort-of the right format already. < 1327259154 524772 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Oh, cool < 1327259163 362653 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :http://p.zem.fi/vz5c -- well, these ones, anyway. < 1327259232 217886 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Shall I do Salome? < 1327259258 164149 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Add the style for Super ASCII MZX Town (probably too small data for a meaningful program, however) < 1327259287 685102 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :So add other stuff such as the wiki article for the game < 1327259302 876922 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And other people comments if they complained and so on < 1327259314 227269 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Is probably still too small data < 1327259618 754442 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The smallest styles which I have in there are probably around 2000-3000 lines. The YouTube one might've been smaller than that. Anyway, I'm remarkably lazy when it comes to actually adding new styles. < 1327259930 249062 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I have only 813 lines (31126 bytes) so it is insufficient < 1327259962 563697 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :ASCII MZX Town? < 1327260021 964321 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :It is a computer game series that I have made. Part I is already complete. Part II is not complete so you cannot play the Part II game yet. < 1327260140 406527 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1327260574 761419 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk :: (MonadLogic m) => WalkRule m -> Board -> Move -> m Move < 1327260574 940089 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk rule b = msum . iterate (>>- step rule b) . step rule b < 1327260579 321026 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if I understand this correctly < 1327260587 556818 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :this won't terminate < 1327260600 466939 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because eventually it will begin iterating an infinite list of []'s < 1327260610 914274 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or < 1327260612 837865 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :mzeros actually < 1327260657 531203 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> iterate (>>- const []) [] < 1327260658 235633 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]... < 1327260659 783324 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :iterate always gives an infinite list < 1327260661 640260 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes like that < 1327260667 847385 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> msum $ iterate (>>- const []) [] < 1327260669 415747 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::( < 1327260671 357731 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1327260676 249472 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> msum $ iterate (>>- const []) [1] < 1327260679 778481 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1327260680 127908 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::((((((((((((((((((((((( < 1327260684 16579 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :damn you halting problem. < 1327260694 163242 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so the question is: how many MonadPlus instances are always Eq instances? < 1327260702 634788 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :because I need to check for mzero < 1327260730 829205 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :very few, i should imagine < 1327260737 281352 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327260756 298415 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :since you'd usually need Eq x for Eq (m x) < 1327260789 397413 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t ifte < 1327260790 335589 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a b. (MonadLogic m) => m a -> (a -> m b) -> m b -> m b < 1327260798 644673 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :isn't that what this does? < 1327260804 883622 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh < 1327260813 724558 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well...... < 1327260834 146620 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1327260839 901250 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :> ifte [1,2] return [3,4] < 1327260840 856864 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2] < 1327260857 680115 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I could recursively call that I think < 1327260862 90772 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but I always want to accumulate a list. < 1327260904 482920 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327260942 390449 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so I'll just wrap it in a Maybe < 1327260945 282219 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and check for Nothing < 1327260950 783307 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :perhaps < 1327260954 832458 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'll see if there's a better way. < 1327260975 150606 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh I can't wrap it in Maybe < 1327261024 660723 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh... I know < 1327261100 278030 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk :: (MonadLogic m) => WalkRule m -> Board -> Move -> m Move < 1327261101 190777 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk rule b m = ifte (step rule b m) (walk rule b) (return m) < 1327261111 606806 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think. < 1327261216 286262 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so now I can use StateT [] or just [] or any other MonadLogic < 1327261219 63925 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which is excellent. < 1327261384 529456 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm kind of surprised that Maybe isn't a MonadLogic. < 1327261390 888170 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maybe it doesn't satisfy some law. < 1327261464 145761 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :There is no definition for msplit for Maybe < 1327261466 259596 :Vorpal!~AnMaster@unaffiliated/anmaster PRIVMSG #esoteric :hi < 1327261476 449419 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :That is why it doesn't work < 1327261479 414322 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: ah indeed < 1327261495 49373 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t msplit < 1327261496 36681 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a. (MonadLogic m) => m a -> m (Maybe (a, m a)) < 1327261560 981836 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t let msplit x = flip (,) Nothing <$> x in msplit < 1327261562 29957 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (f :: * -> *) a a1. (Functor f) => f a -> f (a, Maybe a1) < 1327261576 925324 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :um hm < 1327261615 768065 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I believe it has to satisfy some laws as well. :P < 1327261629 495852 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I wonder if at patterns work with record puns.... < 1327261637 852882 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :pun@(Con a b c) < 1327261686 962298 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't think it would < 1327261692 772807 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net JOIN :#esoteric < 1327261696 561432 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric ::t Con < 1327261697 689194 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Not in scope: data constructor `Con' < 1327261712 643641 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :msplit mzero == return Nothing msplit (return a `mplus` m) == return (Just (a, m)) < 1327261772 461610 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :msplit Nothing = Just Nothing; msplit (Just a) = Just (Just (a, ...)) < 1327261801 18443 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i see, the problem is that m is discarded < 1327261958 447595 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Ooh, the progressivest: we just (very likely) voted a gay man to the second round (top two candidates) of the Finnish presidential elections. Though I really don't think the gayness had much to do with it. Still, one could have thought that would have been off-putting to some. < 1327261994 938503 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :You'll see just how off-putting it is when he gets around 30% of the votes in the second round. < 1327262010 614701 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There is that. < 1327262077 403511 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I'm not so sure Paavo #1 would do *that* much better, though who knows. < 1327262104 176378 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There are altogether too many Paavos in this election. < 1327262111 53906 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Heh, true. < 1327262155 645029 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm has anyone gay been directly voted to a top position anywhere in the world - the icelandic prime minister was presumably selected by parliament, not directly < 1327262177 166485 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(37.5% of the candidates have the given name Paavo, for the non-.fi followers.) < 1327262188 702459 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :But I guess the Soini + Essayah votes will probably all go to Niinistö directly, whereas with Väyrynen that'd be different < 1327262225 476225 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and she was supposedly the first to reach that point < 1327262443 517872 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :oerjan: There's the prime minister of Belgium, presumably with the same caveats. And I think there was an almost-President somewhere, was #2 in an election with a not too large gap. < 1327262454 333144 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh right < 1327262694 898726 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :http://en.wikipedia.org/wiki/David_Norris_(politician) is probably what I was thinking of, except seems it was more complicated than that. < 1327263181 150018 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Hmm < 1327263218 687747 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :A Piet program could be represented as a graph where nodes have two values: colour and size < 1327263230 874813 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :It would be directed and non-simple < 1327263236 317116 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :But continuous? < 1327263281 668439 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Each node would have an outdegree of 8 < 1327263354 458681 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Blocked outs would go to itself? < 1327263407 195371 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Given that blocked outs just twiddle those pointer things, they might also go wherever they go. < 1327263418 404930 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1327263422 563443 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net PRIVMSG #esoteric :Of course, this assumes the out-arcs are ordered < 1327263431 465077 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Some Piet compilers probably produce a graph representation. I think my halfway-done llpiet did. < 1327263447 911826 :MDude!~fyrc@c-174-55-44-190.hsd1.pa.comcast.net QUIT :Ping timeout: 255 seconds < 1327263461 459235 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :If I'm not mistaken, it could also write it out as a dot file. < 1327263535 253480 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :I made up a list of monster age category for D&D 3.5e game; it is incomplete but is good enough to make up the age of my and my brother's character < 1327263605 393340 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :And possibly even a few non-player characters we might find, if necessary to figure out their age < 1327263626 900461 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Good night < 1327263644 934301 :MDude!~fyrc@c-174-55-44-190.hsd1.pa.comcast.net JOIN :#esoteric < 1327263656 106806 :TeruFSX!~quassel@71-210-150-147.mpls.qwest.net QUIT :Disconnected by services < 1327263732 947227 :TeruFSX_!~quassel@71-210-150-147.mpls.qwest.net JOIN :#esoteric < 1327263776 31684 :oklopol!~oklopol@dyn58-57.yok.fi QUIT :Ping timeout: 244 seconds < 1327264192 408510 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk rule b m = ifte (step rule b m) (walk rule b) (return m) < 1327264196 912190 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I don't think this is what I want actually < 1327264256 570162 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t reflect < 1327264257 273658 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a (m :: * -> *). (MonadLogic m) => Maybe (a, m a) -> m a < 1327264273 700652 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I think I need to use this to "accumulate" a "list" < 1327264291 721447 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric ::t ifte < 1327264292 678427 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a b. (MonadLogic m) => m a -> (a -> m b) -> m b -> m b < 1327264294 857837 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> reflect Nothing :: [Int[ < 1327264295 568163 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : : parse error (possibly incorrect indentation) < 1327264296 270635 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> reflect Nothing :: [Int] < 1327264296 807249 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [] < 1327264304 423637 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yeah < 1327264326 54703 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :not sure why it's called reflect though < 1327264345 5437 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net JOIN :#esoteric < 1327264351 455741 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :What is reflect? Something with LogicT? < 1327264384 789939 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :something with MonadLogic yes. < 1327264388 256084 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :it's the inverse of msplit < 1327264396 219878 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> msplit [1,2,3] < 1327264396 789097 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [Just (1,[2,3])] < 1327264419 921369 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> reflect (Just (1, [2,3])) < 1327264420 455022 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3] < 1327264423 168687 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well, almost inverse < 1327264568 948979 :Ngevd!~Taneb@host-84-13-84-32.opaltelecom.net QUIT :Ping timeout: 276 seconds < 1327264569 423237 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk :: (MonadLogic m) => WalkRule m -> Board -> Move -> m Move < 1327264569 587985 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk rule b m = ifte (step' m) iterateSteps (return m) < 1327264569 749791 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric : where < 1327264569 749883 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric : iterateSteps m' = reflect $ Just (oneStep, walk rule b m') < 1327264573 115292 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :....I think this is it. < 1327264583 356217 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Hang on < 1327264586 326950 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :When did I lag out < 1327264606 533695 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :? < 1327264614 340413 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Between "I think I need to use this to "accumulate" a "list"" and "What is reflect? Something with LogicT?" < 1327264644 446599 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Taneb: http://codu.org/logs/log/_esoteric/s < 1327264673 765145 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :logreading in stalker mode "a good idea" < 1327264687 215269 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :monqy: yes to figure out what happened in a disconnect it's pretty ideal. < 1327264692 28875 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Ah, I didn't miss much < 1327264866 351270 :DCliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1327264950 863214 :Darth_Cliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1327264992 765018 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :So... < 1327265073 122532 :Klisz!~Klisz@c-67-162-128-110.hsd1.co.comcast.net QUIT :Ping timeout: 245 seconds < 1327265143 739505 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Esolang idea! < 1327265148 564413 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :brb < 1327265149 50179 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Taneb: You have 1 new message. '/msg lambdabot @messages' to read it. < 1327265169 961011 :DCliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net QUIT :Ping timeout: 252 seconds < 1327265526 636568 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk :: (MonadLogic m) => WalkRule m -> Board -> Move -> m Move < 1327265526 837561 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk rule b m = oneStep `mplus` ifte oneStep (walk rule b) mzero where oneStep = step' m < 1327265530 886421 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :....I know I've said this a lot < 1327265533 923874 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :back < 1327265534 86064 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but I think this is the one I want. < 1327265546 712918 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :So, esolang idea! < 1327265555 309538 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Continuous liquid automaton! < 1327265561 879495 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh my < 1327265584 175392 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :sounds interesting < 1327265621 601635 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] `mplus` [4,5,6] < 1327265622 311976 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3,4,5,6] < 1327265627 46073 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :shocking < 1327265633 487206 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :all the list monoids do the same thing < 1327265733 207298 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :That is really the only thing for Alternative and MonadPlus to do; Monoid could have been designed to do something different but instead it doesn't different, but concatenation is probably a useful way anyways so they don't need to change that < 1327265786 803504 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh I just realized that ifte m f mzero < 1327265788 304505 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :is just.... < 1327265791 119115 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :m >>- f < 1327265796 124517 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I believe < 1327266028 159276 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :> [1, 2, 3] >>- replicate 2 < 1327266028 888473 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,1,3,2,3] < 1327266034 257633 :monqy!~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net PRIVMSG #esoteric :> ifte [1, 2, 3] (replicate 2) mzero < 1327266034 811673 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,1,2,2,3,3] < 1327266046 837469 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh < 1327266063 400725 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so.... >>- is better? : < 1327266068 319398 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :for infiniteness < 1327266070 886874 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :as usual. < 1327266092 69581 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric ::t (>>-) < 1327266093 24563 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a b. (MonadLogic m) => m a -> (a -> m b) -> m b < 1327266113 515493 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Just 2 `mplus` Nothing < 1327266114 259506 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 2 < 1327266123 696428 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Just 2 `mplus` Just 3 `mplus` Nothing < 1327266124 406730 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 2 < 1327266124 584717 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :> Just 2 `mplus` Just 3 < 1327266125 646376 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 2 < 1327266128 839592 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> Nothing `mplus` Just 3 `mplus` Nothing < 1327266129 286467 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :> Just 2 `mappend` Just 3 < 1327266129 448235 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Just 3 < 1327266130 258771 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Ambiguous type variable `t' in the constraints: < 1327266130 420616 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : `Data.Monoid.Monoid t' < 1327266130 420714 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : ... < 1327266132 237876 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :okay same as <|> < 1327266133 247128 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :...? < 1327266190 401542 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327266215 780064 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Time to watch Megashark vs Crocosaurus < 1327266456 386871 :ion!ion@heh.fi JOIN :#esoteric < 1327266489 238210 :Scriptor!~user@cpe-68-173-86-236.nyc.res.rr.com JOIN :#esoteric < 1327267377 477483 :Darth_Cliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net QUIT :Read error: Connection reset by peer < 1327267403 183884 :Darth_Cliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1327267715 172009 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :bah, using liftM instead of <$> to remove a Functor dependency feels.... < 1327267717 29032 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :wrong < 1327267743 581355 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :kallisti: I agree. Monad should always have a Functor dependency < 1327267765 5869 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :Let (<#>) = liftM < 1327267819 942392 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Phantom_Hoover, guess what! < 1327267838 66813 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Taneb: http://sprunge.us/dZbj < 1327267851 475422 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :everything in comments is currently broken, everything else at least compiles < 1327267889 768807 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :types: http://sprunge.us/hFcT < 1327267890 724057 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Taneb, OH GOD IS EVERYONE DEAD < 1327267898 350979 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :AM I IN HEXHAM < 1327267899 874825 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Phantom_Hoover, even worse! < 1327267901 501675 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :IS HEXHAM EDINBURGH < 1327267915 157564 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Your Pixelquest suggestion will be in the next update < 1327267915 799591 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :! < 1327267926 731950 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :nooooooooooooo < 1327268023 963626 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net PRIVMSG #esoteric :Goodnight < 1327268025 132223 :Taneb!~Taneb@host-84-13-83-16.opaltelecom.net QUIT :Quit: Goodbye < 1327268043 451571 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :Taneb: what's awesome about MonadLogic is that it has an instance for both lists and (MonadLogic m) StateT s m < 1327268053 855506 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so... I can write walk rules that keep track of state. < 1327268088 773621 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :as well as walkrules that require no state but will still work if state is used. < 1327268163 174096 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walkWith forwardStep (followPortals `orRule` stopAtPiece) < 1327268170 44607 :Darth_Cliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net NICK :Klisz < 1327268171 135976 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :walk = walkWith forwardStep < 1327268204 22578 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what's good about all of this < 1327268212 55746 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :is that changing the rules in the future /should/ be easier. < 1327268287 811017 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] <*> [] < 1327268288 356101 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [] < 1327268297 120271 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327268312 522548 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] <*> [1] < 1327268313 116565 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3] < 1327268315 528517 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :ah < 1327268352 351773 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :@src (<*>) < 1327268352 560540 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Source not found. Sorry. < 1327268372 919702 :Deewiant!~deewiant@cs27125254.pp.htv.fi PRIVMSG #esoteric :@src [] (<*>) < 1327268373 449532 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :(<*>) = ap < 1327268382 635539 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :right right < 1327268392 658015 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t ap < 1327268393 220431 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b < 1327268412 855533 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :except... < 1327268413 398605 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh < 1327268416 327065 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :caleskell < 1327268430 331500 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] >> [] < 1327268430 891107 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [] < 1327268432 881490 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1,2,3] >> [1] < 1327268433 590803 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,1,1] < 1327268442 195418 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm no not quite < 1327268454 893412 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes that's what I want actually. < 1327268565 54541 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> [1] >> [1,2,3] < 1327268565 612383 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3] < 1327268567 881782 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :yes < 1327268889 900818 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :>> is like product, `mplus` is like sum. :> < 1327269104 962021 :Patashu!Patashu@c122-106-155-219.carlnfd1.nsw.optusnet.com.au JOIN :#esoteric < 1327269185 404518 :Vorpal!~AnMaster@unaffiliated/anmaster QUIT :Ping timeout: 260 seconds < 1327269422 601722 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :kallisti: Yes it is the length of the list will be the product and sum! < 1327269528 290012 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :zzo38: you can also use it to do and/or behavior < 1327269531 296640 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :which is what I'm currently doing < 1327269548 167598 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :though neither are commutative. < 1327269646 121100 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Astrology normally splits the ecliptic into twelve sections. For some purposes you might want an eight-section ecliptic instead. I think in some places they have some holidays on the 45 degrees and so on < 1327269940 192401 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :How do you use it to do and/or behavior? < 1327269974 796721 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :well list concatenation is essentially an or of two multi-valued logical assertions < 1327270057 497048 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :and >>, though not really quite the same as and, will produce mzero when either of its terms does so. < 1327270199 520183 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com PRIVMSG #esoteric :Yes, it is the case for list monad. Not all monads follow the right zero law, however. But left zero law is implied by the type signatures and monad laws < 1327270201 455400 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com QUIT :Remote host closed the connection < 1327270399 974272 :oklopol!~oklopol@dyn58-57.yok.fi JOIN :#esoteric < 1327270468 256678 :Klisz!~Klisz@c-67-162-128-110.hsd1.co.comcast.net QUIT :Read error: Connection reset by peer < 1327270496 974886 :Klisz!~Klisz@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1327270727 885004 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :hm < 1327270729 120214 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so < 1327270747 383935 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :if I have a point+direction pair < 1327270785 205160 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :what's the best way to compute a list of the chessboard squares that are a chebyshev distance of N away? < 1327271003 291564 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :oh wait nevermind this should be pretty easy. < 1327271278 526819 :Klisz!~Klisz@c-67-162-128-110.hsd1.co.comcast.net QUIT :Read error: Connection reset by peer < 1327271306 231653 :Klisz!~Klisz@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1327271413 164360 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi QUIT :Ping timeout: 255 seconds < 1327271450 956484 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi JOIN :#esoteric < 1327271535 238371 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t Logic < 1327271535 941022 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Not in scope: data constructor `Logic' < 1327271567 522614 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :uh how do you mean Logics < 1327271570 199878 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :*make < 1327271585 13087 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I guess with return..... < 1327271587 746734 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :. < 1327271596 831553 :augur!~augur@208.58.5.87 QUIT :Remote host closed the connection < 1327271610 90567 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric ::t observeMany < 1327271610 618703 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :forall a. Int -> Logic a -> [a] < 1327271625 967081 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> observeMany $ msum . map return [1,2,3,4,5] < 1327271626 672510 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `GHC.Types.Int' < 1327271626 833993 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type ... < 1327271633 85908 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> observeMany . msum . map return $ [1,2,3,4,5] < 1327271633 788154 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Couldn't match expected type `GHC.Types.Int' < 1327271633 949925 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : against inferred type ... < 1327271637 806214 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> observeAll . msum . map return $ [1,2,3,4,5] < 1327271639 211604 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3,4,5] < 1327271676 751335 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :I'm not entirely sure I understand the purpose of LogicT as it appears to just use lists... < 1327271697 729445 :augur!~augur@208.58.5.87 JOIN :#esoteric < 1327271709 877773 :Sgeo!~sgeo@ool-ad034d00.dyn.optonline.net PRIVMSG #esoteric :kallisti, multiple infinite lists don't play nicely < 1327271719 790292 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :.. I'm aware < 1327271720 667850 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :but < 1327271725 64860 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :MonadLogic has a list instance. < 1327271726 648458 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so........ < 1327271795 479128 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> runLogic (msum . map return $ [1,2,3,4,5]) (,) True < 1327271796 181843 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : Occurs check: cannot construct the infinite type: r = (a, r) < 1327271810 132126 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> runLogic (msum . map return $ [1,2,3,4,5]) (\a r -> r) True < 1327271811 386758 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : True < 1327271814 375713 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> runLogic (msum . map return $ [1,2,3,4,5]) (\a r -> r) False < 1327271815 814252 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : False < 1327271856 794980 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> runLogic (msum . map return $ [1,2,3,4,5]) (\a r -> a == 0) False < 1327271858 241968 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : False < 1327271965 816917 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :maybe it's more efficient. < 1327272232 480044 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :or.... perhaps it's just an abstraction. < 1327272363 147357 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 QUIT :Quit: Leaving < 1327272633 964817 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> runLogic (msum . map return $ [1,2,3,4,5]) (\a r -> a) [] < 1327272634 664878 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Num.Num [a]) < 1327272634 826394 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use of `e_112345' at runLogic (msum . map return $ [1,2,3,4,5]) (\a r -> a) 0 < 1327272640 873434 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 1 < 1327272688 503615 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> runLogic (msum . map return $ [1,2,3,4,5]) (\a r -> a:r) 0 < 1327272689 32469 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : No instance for (GHC.Num.Num [a]) < 1327272689 208647 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : arising from a use of `e_1123450' at <... < 1327272695 365701 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :> runLogic (msum . map return $ [1,2,3,4,5]) (\a r -> a:r) [] < 1327272696 595621 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : [1,2,3,4,5] < 1327272794 207799 :DCliche!~Klisz@c-67-162-128-110.hsd1.co.comcast.net JOIN :#esoteric < 1327272998 178733 :Klisz!~Klisz@c-67-162-128-110.hsd1.co.comcast.net QUIT :Ping timeout: 245 seconds < 1327275777 970326 :Nisstyre!~yours@c-208-90-102-250.netflash.net QUIT :Ping timeout: 240 seconds < 1327275916 951588 :Nisstyre!~yours@c-208-90-102-250.netflash.net JOIN :#esoteric < 1327275956 21424 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :linearWalker :: (MonadState (S.Set Move) m, MonadPlus m) => WalkRule m < 1327275956 183103 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :linearWalker = stopAtPiece `orRule` followPortal `andRule` unlessVisited < 1327275961 822682 :kallisti!~eris@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake PRIVMSG #esoteric :so good.