On Monday 07 Nov 2011 21:16:22 Ralf Hemmecke wrote:
> On 11/05/2011 11:07 AM, Martin Baker wrote:
> > I find myself wanting a way to define types inductively like this:
> >
> > X := Union(A,T X)
>
> Have you studied Aldor-Combinat? I'm not sure whether it helps you with
> monads, though. But it has some code to define inductive types...

Ralf,

I have had a quick look at:

http://www.risc.jku.at/people/hemmecke/AldorCombinat/

It looks very interesting and it is one of the things I have been
intending to get back to and study in more detail.

Just looking at some of your description, for instance:
"Speaking in terms of category theory, a combinatorial species is
nothing but an endofunctor F : B -> B from the category B of finite
sets and bijections to itself."
It looks like there may be a lot of commonalty between what we are
both trying to do?

Could you point me to the part which deals with defining inductive
types?

Also I would be interested in your more general views on the
suitability of certain languages for this type of programming. Are
there language features that I should be asking for in SPAD that would
make modelling this type of mathematics more practical? (well I can
ask).

I'm only guessing here but, for some reason, I suspect you may be keen
on Aldor language features such as 'dependant parameters'? However
although it is useful, it doesn't seem to be enough. For example Saul
Youssef code at:
http://axiom-wiki.newsynthesis.org/SandBoxAldorCategoryTheoryCategories?root=SandBox%20Aldor%20Category%20Theory
seems less than ideal?

What I would really like to work out is why things like this Haskell
code:

  class Monad m where
   unit :: a -> m a
   mult :: m (m a) -> m a

which are so powerful seem to be hard to do in SPAD related languages?

Could it be that SPAD and Haskell are complementory, SPAD is better
for maths that is characterised in a set-theoretic way and Haskell is
better for maths that is characterised in a category-theoretic way?
Then we should not try to force a single language to do both? I'm not
saying I have come to this conclusion, I just don't know.

It would help if I understood what it is about the above Haskell class
that makes it so difficult to represent in SPAD. Is it somthing about
allowing partial types to be combined to form a complete type? I just
can't work it out.

Martin

-- 
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 fricas-devel@googlegroups.com.
To unsubscribe from this group, send email to 
fricas-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to