On 17 October 2016 at 10:52, oldk1331 <oldk1...@gmail.com> 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?

##
Advertising

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 fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.