Rayner@dcs.st-and.ac.uk, "Bernard [IES]" writes:
> 1. Are there any moves afoot to write a version of GAP in C++ and/or and
> > object-oriented version of the GAP language?
> > If so I'd be interested to know about it.
> > If not, would there be any interest in such a project?
I guess that rewriting GAP in C++ (not only the kernel only)
would be a major project needing maybe 10 times as many developers as
are involved in GAP development now.
And rewriting the kernel in C++ would result in slower, bigger
OO-methodology has its limitations, and computer algebra systems
are a good example for such limitations. To (mis)quote a classic,
"it's better to have 100 functions operating on 1 type of objects,
than 10 functions operating on 10 types"...
Cayley had a stronger type system than GAP, and it's often
quite hard, or impossible, to get over these type barriers.
I remember that for some nontrivial tasks that I did in Cayley
(at that time (1993) GAP was still a quite bit slower)
required outputting data to a file, editing it, and
rereading it back in, as it was no way to convert from a
module generator to a matrix, or something like that...
(OK, Cayley is now called Magma, and has presumably much improved.)
> > 2. I'm currently looking into algorithms for generating the coefficient of a
> > given symmetric function in a given product of other symmetric functions
> > (with the possibility of extending it to functions of a given symmetry
> > type). A special case of this is of course the multinomial theorem, which is
> > already done in GAP.
> > It therefore occurs to me that I may well be reinventing the wheel here, so
> > I'd be interested in any similar work in progress or completed.
This is a special case of the question of working with invariants of
a given finite group. I am not sure what you mean by
"functions of a given symmetry type" - functions that are
invariant under a given permutation group?
I know of a Maple program that deals with invariants of finite
groups, it's called INVAR, and used to be distributed with Maple.