Some months ago I promised to look into the issue of creating a Reduce
package for Sage (as usual: as and when time permits :). While at the
ISSAC conference where Sage was conspicuous by it's complete absence!
:-(, I had a brief meeting with Winfried Neun [1] from ZIB [2] - one
of main distributors of Reduce (Codemist [3] being the other main
distributor, mostly of the Windows version).
Reduce is not currently available under an open source license [4] but
my conversation with Winfried left me with the impression that this
*might* be subject to change given sufficient motivation.
After discussing ideas for the Sage package, Winfried surprised me by
stating that there is a version of PSL (Portable Standard Lisp - on
which the ZIB version of Reduce is based) that can be called as a
dynamic library API. It seems to me that to be able to interface with
Reduce this way would be vastly superior to using the pexpect serial
interface that Sage uses with Maxima, Axiom and several other
packages). I promised to follow-up on this when I got back home, which
is one reason for this email.
The other reason for this email is that I would like to get some idea
about the number of Sage people who might be interested in a Reduce
interface.
Regards,
Bill Page.
Ref:
1 http://www.zib.de/
1 http://www.zib.de/neun
2 http://www.zib.de/Symbolik/reduce/
2 http://www.zib.de/Symbolik/reduce/dist/geninfo.html
3 http://www.codemist.co.uk/index.html
4 http://www.reduce-algebra.com/
4 http://www.reduce-algebra.com/ordering%20information.htm
Sorry about that...
> :-(, I had a brief meeting with Winfried Neun [1] from ZIB [2] - one
> of main distributors of Reduce (Codemist [3] being the other main
> distributor, mostly of the Windows version).
I've talked with him a few times. The file
SAGE_ROOT/devel/sage/sage/interfaces/reduce.py
is a first step toward making an interface. I haven't found
the time to finish it yet.
> Reduce is not currently available under an open source license [4] but
> my conversation with Winfried left me with the impression that this
> *might* be subject to change given sufficient motivation.
That would be very interesting. I tried to convince Winfried
to try as well, or at least that there was no way REDUCE would
get a lot of support from "the open source community" if it
weren't open sourced.
Evidently he personally knows the person who could open source
REDUCE, so there is a chance.
> After discussing ideas for the Sage package, Winfried surprised me by
> stating that there is a version of PSL (Portable Standard Lisp - on
> which the ZIB version of Reduce is based) that can be called as a
> dynamic library API. It seems to me that to be able to interface with
> Reduce this way would be vastly superior to using the pexpect serial
> interface that Sage uses with Maxima, Axiom and several other
> packages). I promised to follow-up on this when I got back home, which
> is one reason for this email.
It might be. It depends a huge amount on that API. For example,
if any failure during a call to reduce crashes all of SAGE, that's
definitely not good. It also might be vastly more work to get
functionality than the pexpect interface. On the other hand, it
could eventually work much better (given probably more effort on our part).
> The other reason for this email is that I would like to get some idea
> about the number of Sage people who might be interested in a Reduce
> interface.
As far as I know, there is exactly one person in the world
who has ever _asked_ me
about a REDUCE interface for SAGE and that's Winfried Neun. He
has a lot of code he wrote in REDUCE, and he wants to make it
easily available on the web. The SAGE Notebook would be one possible
slick way to do that.
-- William
--
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org