tag:blogger.com,1999:blog-6757805.post5256326199456128765..comments2023-12-24T07:08:44.996ZComments on Ken's blog: [kiwzoxbe] Deep maybeUnknownnoreply@blogger.comBlogger1125tag:blogger.com,1999:blog-6757805.post-66635759008107394952013-06-25T01:51:14.710Z2013-06-25T01:51:14.710ZOr recurse through an arbitrary functor:
data Foo...Or recurse through an arbitrary functor:<br /><br />data FooM f = FooM (f Int) (f String)<br /><br />etc.<br /><br />Functions manipulating FooM will require different features of this functor: Applicative, Monad, MonadPlus (as you say).<br /><br />The trace can be done via tagging: using the functor Either Tag.<br /><br />This is essentially having the datatype live in a Kleisli category. It'd be cool to be able to have category-polymorphic datatypes.Luke Palmerhttps://www.blogger.com/profile/09807388788677769669noreply@blogger.com