[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] FW: Pyrex and SAGE
[Axiom-developer] FW: Pyrex and SAGE
Tue, 7 Nov 2006 11:01:18 -0500
Although the attached email is from another list and is specifically
about Sage and Python, I decided to forward it here to the Axiom
Developer list because I think it is an excellent example of the
*right way* for open source projects to collaborate and co-operate.
I hope that we can achive this in the Axiom project.
Greg Ewing is the developer of an open source tool that compiles a
subset of Python to C++ for reasons of efficiency. Pyex for Sage
plays a similar role as Aldor for Axiom.
From: address@hidden [mailto:address@hidden
On Behalf Of William Stein
Sent: November 7, 2006 5:00 AM
Subject: [sage-devel] Pyrex and SAGE
Pyrex is *awesome*. It's existence is one of the main reasons that
I choose Python as the main interpreter language for SAGE
I have lofty goals for SAGE, and Pyrex plays a key roll
in them. E.g., we have used Pyrex a *huge* amount already
sha:~/d/sage/sage was$ cat */*.pyx */*/*.pyx */*.pxd */*/*.pxd |wc -l
Also, I've written code to inline Pyrex in Python scripts (like
scipy's weave, but for Pyrex), and make it easy to use Pyrex
from an interactive GUI (put %pyrex at the beginning of a block
in the SAGE notebook).
However, there are numerous specific goals for SAGE that absolutely
require me to modify Pyrex. For example, it's crucial for SAGE
that it be easy to view the source code of functions from the
interactive prompt, like IPython does with Python code (via
Python's inspect module). I very recently added support to the
SAGE version of Pyrex so it can embed file and line number
information in docstrings, so now source code of Pyrex functions
is easily viewable from Ipython (this isn't released yet). Also,
Martin Albrecht and I made numerous changes to properly support
cimporting of modules defined in other directories (this works
very nicely now).
All these changes (and others) were easier than I thought they
would be, because you did an excellent job writing Pyrex in the
first place. A potential problem is that the SAGE project is
creating a variant of Pyrex that is significantly different from
yours. In particular, our version could (in theory -- hopefully
not in practice!) contain new bugs, misfeatures, and other things
you would not be proud to be attributed to you. So what would
*you* prefer I do?:
(1) Continue to distribute the SAGE-modified Pyrex as "pyrex",
and make it very clear that the SAGE version has numerous
modifications from your version, and that questions should
be directed to the sage-forum instead of the pyrex forum.
(2) Distribute the SAGE-modified version, but give it a different
name, e.g., "SageX", so nobody will confuse it with Pyrex.
If we do this, it will be made *extremely* clear in README's,
documentation, etc., that "SageX" is a based very heavily on
Pyrex by you. Hopefully this could be viewed not as a fork,
but as an adaptation of Pyrex for use in the SAGE project.
(3) Make a concerted effort to convince you to include in the
next official release of Pyrex many of the modifications
that we've made for SAGE.
In all cases, SAGE is a very strongly open source project, and all
of the SAGE modifications to Pyrex will always be made freely
available. So whatever you prefer it won't stop people interested
in using Pyrex from potentially benefiting from any SAGE work on
Associate Professor of Mathematics
University of Washington
To post to this group, send email to address@hidden
To unsubscribe from this group, send email to
For more options, visit this group at
URLs: http://sage.scipy.org/sage/ and
|[Prev in Thread]
||[Next in Thread]|
- [Axiom-developer] FW: Pyrex and SAGE,
Bill Page <=