On 6/27/07, Nick Alexander <[EMAIL PROTECTED]> wrote:
> >> No, there's an eval.  In the context of SAGE, the eval is more useful
> >> than the (defensible, correct) IPython behaviour.
> >
> > FYI, I'm definitely *not* opposed to having an eval like Fernando is.
> > Thanks for your patch!!
>
> Hi William,
>
> What will happen to it?  Is it in refereeing, will you apply it
> yourself, or what?

I'm going to read it myself, and apply it.  It's related to code I know well,
and I've wanted to do something similar myself for a long time.

> PS.  The new SAGE notebook is the coolest thing since sliced bread.

How sluggish does it feel on your laptop?  Does it feel usable?  I haven't
had the chance to test it on a G4.

> I am going to work on updating load and attach to allow for reloading
> modules in place, which should be useful for developers who use the
> notebook.

Excellent, thanks!  Definitely.  Note also that you can create and/or upload
text files to the notebook, have them get linked to several different worksheets
(via UNIX file links), edit them in the notebook, and -- even load them right
now.  Tutorial:
  (1) Create a new worksheet
  (2) Click "Data..." and select "Upload or create file"
  (3) In the third box type "foo.sage", then click "Upload file" (I
know -- that's confusing).
  (4) In the box that appears input this:

def f(x,y):
    return x*y

  (5) Click "Save Changes"
  (6) In the SAGE worksheet, type
sage: load foo.sage
sage: f(3,11)
33

> PPS.  It occurs that the notebook has very little do with SAGE, and a
> lot to do with Python and IPython.  Would it be possible/desirable to
> have it separate, for other projects to reuse?  Because I think it is
> just way too cool to keep for SAGE alone.

The Notebook has a huge amount to do with the pexpect interfaces.
However, I have been very careful to make sure that notebook does
not depend at all on any of the mathematical SAGE library.  In fact,
*probably* if you type:
   sage -python
   >>> from sage.server.notebook.all import notebook
only the following components of the SAGE library are imported:
   * all the notebook stuff
   * the sage/misc directory
   * some of the pexpect stuff
 -- and no math code.

This means that one should be able to distribute
    the SAGE notebook + some of the pexpect interface stuff
just by creating a different setup.py file and doing
    python setup-notebook.py sdist

I haven't done this yet only because I hope somebody else will
do it for me, I haven't had time, and it's not necessary for me to
do in order to accomplish my personal goals.   I would, however,
be very supportive of a project to distribute "the notebook + interfaces"
this way.  In fact, it might make sense to split the math and non-math
parts of the SAGE library at some point.  The math part will depend
on the non-math part, but the non-math part would stand alone.   This
non-math part would also be the right thing to consider getting
made into a standard Debian (Fink, etc.) package.



-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org

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

Reply via email to