On Tue, Nov 15, 2011 at 12:59 PM, Martin Baker wrote: > ... >I think what I was trying to get at is if: > > B is some base class > T is an endofunctor > (in category theoretic terms) > > Then this 'generates' a sequence of categories: > > T B, T^2 B, T^3 B ... >
I don't think that is correct. T B need not be a category as such. An endofunctor is defined as a kind of mapping T: X -> X where B is in (i.e. satisfies) some category X. T applied to B is a domain, T applied to T applied to B is a domain - all in the same category X. Similarly, T^2, i.e. T applied to T applied to _, is an endofunctor T^2 : X -> X > If we now swap to SPAD terminology, when we implement a monad, do we > extend the above category sequence or do we create the implementation > independently like: > > List Integer, List List Integer, List List List Integer ... > Ok. (List List List ... n times ... _ ) is a functor in Axiom. > or using your program: > > MonadList(Integer),MonadList(List Integer), MonadList(List List > Integer)... > The way I wrote it at first, MonadList is a package, not a domain constructor. In a sense, packages extend domains. > Actually I think it should really be: > > MonadList(Integer),MonadList(MonadList(Integer)), > MonadList(MonadList(MonadList( Integer)))... > Yes, this is what we want. > So, thinking about it again, its not an issue, because the individual > domains extend the individual categories. So the infinite sequence of > domains extends the infinite sequence of categories. > > So I think I've answered my own question? > Did you? Regards, Bill Page. -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/fricas-devel?hl=en.
