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

Attachment: 265-scripts.patch
Description: Binary data

Reply via email to