Dear Martin,

> category theory is a subject that one could spend a lifetime on

Indeed ;-) and some people actually do so....   I don't buy your
attitude to keep clear from it, as especially in computer science
categories are invaluable. That may be different in computer algebra
though...

> I was thinking about how to convert a finite state machine into a instance of
> Lambda, then I realised this is just about implementing stateful code in a 
> pure
> functional language and Haskell has already solved that problem - use monads 
> ....

Yes, Haskel is great, but it does not really have CAS abilities ;-).
To have Aldor available would make AXIOM much more prone to use such
techniques too.

> Given the above issues, perhaps what I am looking for is some subset
> of category theory that is simple enough to be implementable but
> complex enough to provide the sort of framework I'm looking for.

I didn't wanted to discourage you. I just wanted to understand what
your objectives are. Also I know quite a bit of math on the
categorical level, but have till now no idea how to implement them in
a CAS. Any tool which might help doing so, or even give ideas how to
approach my problems would be appreciated.

> starting with the simplest concrete category where functors are mappings 
> between
> finite sets and then building up

Indeed a set itself can be seen as a category, as also a poset (with
greater effect),
functors are then just mappings. This point of view unites some
constructions. The
main problem I see, is how a CAS would `reason' about categorical statements.
A commutative diagram is just an equation of some (strict) arrows, but
you want to use properties of arrows, like monic, epic, or being a
kernel or an equalizer (in general limits and colimits, unique arrows
such as terminal and initial arros etc.)

> 1) Programs like Haskell provides some category-theory-like
> Typeclasses, using higher order functions and features of the language
> like partial function application and currying.

Haskel is not itself `categorical' but functional. Also types are
actually best seen a
functors. As AXIOM has an underlying lisp layer, it has some
functional aspects, as untyped lambda calculus. However in a CAS one
needs to reason about 'programs'
and that is done by using the Curry-Howard isomorphism (proofs as programs).
Its funny that recent developments in physics employ the same
principle. But once
more it is not evident (to me) how to actually code this...

> 2) Attempts to more fully model category theory such as Charity
> program
I haven't looked into Charity.

Just go ahead and see what you can do. Code rules.
Cheers
BF.
-- 
% PD Dr Bertfried Fauser
%       Research Fellow, School of Computer Science, Univ. of Birmingham
%       Honorary Associate, University of Tasmania
%       Privat Docent: University of Konstanz, Physics Dept
<http://www.uni-konstanz.de>
% contact |->    URL : http://www.cs.bham.ac.uk/~fauserb/
%              Phone :  +44-121-41-42795

-- 
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