On 7/10/07, David Harvey <[EMAIL PROTECTED]> wrote: > I don't really like the idea of "modules that imitate various > environments", i.e. I don't think it's possible or desirable for us to > try to look specifically like any other system. Mathematica semantics > are so different from SAGE's, it would be misleading to suggest > anything like that.
I agree completely with this. We should learn a lot about how Mathematica/Maple, etc., work, and why, but then make a _choice_ for SAGE that is a reasonable trade-off between various options. Python is flexible enough that individual users can always create such customizations for themselves. For example, people who like "N" being "make it numeric" might just put this in their .sage/init.sage file: N = RDF > But I *do* like the idea of the clean initial > namespace, which gets subsequently polluted on demand when requested by > the user. I do not think this should be the default for everybody, because it is less user friendly. Many people might be annoyed by having to type from sage.all import plot first, just to try out drawing a plot. Then they realize halfway into a plot command that they also need to import sin, and line, and point, and other things they forgot. For interactive work for many peopl it would be very painful. However, it would likely be very easy to support what you want in some form. For example, I just implemented something; see attached patch, which you can apply by typing hg_scripts.apply("265-scripts.patch") in SAGE. The effect of this patch is that when you set the environment variable SAGE_IMPORTALL to "no", e.g., via export SAGE_IMPORTALL="no" then the SAGE command line has exactly the behavior you requested: $ export SAGE_IMPORTALL="no" $ sage Loading SAGE library. Current Mercurial branch is: tomorrow sage: 2/3 2/3 sage: 22.50303 22.5030300000000 sage: EllipticCurve --------------------------------------------------------------------------- <type 'exceptions.NameError'> Traceback (most recent call last) /Users/was/<ipython console> in <module>() <type 'exceptions.NameError'>: name 'EllipticCurve' is not defined sage: from sage.all import EllipticCurve sage: EllipticCurve <function EllipticCurve at 0xb70be30> ------ By the way, a related new feature in SAGE-2.7 is that you can turn the preparser on or off at any time from the command line: sage: preparser(on=False) sage: 2/3 0 sage: preparser(on=True) sage: 2/3 2/3 -- William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---
265-scripts.patch
Description: Binary data