On 17 October 2016 at 10:52, oldk1331 <[email protected]> wrote: >> Rather than Haskell per se, personally I am most interested in >> the "category theory" approach summarized in Martin's email, therefore >> I prefer the alternative definition of monads as a domain satisfying >> Functor >> >> map :: (a -> b) -> M a -> M b >> >> with these two additional operations: >> >> return :: a -> M a >> join :: M (M a) -> M a >> >> instead of "bind". > > We can have both. BTW, the 'join' operation is impossible to deal > with more than one type?
In 'join' more than one type is not necessary. The main work is done by 'map' which is presumed to be able to handle this case. > >> Concerning your hack for FunctorPackage and MonadPackage you might >> be interested in another OpenAxiom innovation implementing the "forall" >> universal quantifier which often eliminates the need to write separate >> packages. > > Yes! One thing I felt lacking in FriCAS is the "forall" quantifier, aka > anonymous packages. Another thing is category/domain constructor > as first class entity: in principle Maybe is a domain constructor with > type Domain->Domain, and a member of Monad, but FriCAS only > recognize "Maybe INT has Monad INT", not "Maybe has Monad" nor > "x : Monad" in package parameter. > Here is another rather long and related thread on this subject from 2011: https://groups.google.com/d/msg/fricas-devel/DEu215PYERg/m7SAlBDNofQJ Unfortunately it did not end in a complete resolution even in OpenAxiom. Perhaps now with your interest we can make some more progress? Bill Page. -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
