On Sep 17, 2007, at 7:21 PM, William Stein wrote:

> On 9/17/07, Peter Doyle <[EMAIL PROTECTED]> wrote:
> On 9/17/07, William Stein <[EMAIL PROTECTED]> wrote:
> > On 9/17/07, Peter G. Doyle <[EMAIL PROTECTED]> wrote:
>
> > > --  It's still far from clear to me what `downloading' and  
> `uploading' are
> > > supposed to mean.
> >
> >
> > It's supposed to be exactly the same as "save" and "open".  Maybe  
> I should
> > change the names to "save" and "open"?  Right now the terminology  
> just
> > follows Google Documents (which inspired much of the notebook's  
> layout).
> >
>
> I `upload' a paper to the arxiv:  That's like saving it.
>
> You could also think of it as the arxiv opening the paper.  The  
> SAGE notebook
> is not like the arxiv though -- it's a program, so this is more  
> like opening
> a file in Microsoft Word.
>
> I `download'
> a paper from the arxiv:  That's like opening it.  Here the
> nomenclature seems to be backwards.
>
> When you click download, what happens is that you save the file
> to your local disk, and only after that happens it happens to
> be opened by a pdf (or dvi or ps) reader on your computer.  Three
> separate things happen.
>
> It sounds from what you write though, that it is best to just stick
> with the "upload" / "download" terminology, since it is *very* clear
> in which direction the file goes in each case.  Upload means "goes
> to the server (SAGE notebook), and download means it goes to
> your local hard drive.

I really like the "open" and "save" terminology best--it even brings  
up "open" and "save" dialogs. Download/upload is much less intuitive  
(I think it should almost be transparent that there is even a "server").

>
> > A better solution would, as you suggest, to define a function like
> > range -- but not called range -- that includes both endpoints.
> > One possibly nasty possibility would be to allow Magma-like
> > notation:
> >   sage: [1..4]
> >   [1, 2, 3, 4]
> >  I can't think of any situation where .. (not in a string) is  
> valid Python,
> > so the above might be a reasonable option.
> >
>
> This sounds like a great idea!  I like having the lower bound  
> explicit.
>
> I wonder if there would be some consistent way to make 1..4 stand for
> an iterator, and [1..4] a list.  Hmm:  then since we'd want [2,3,5..9]
> to be a list, we'd want 2,3,5..9 to be an iterator, whereas (2,3,5..9)
> would presumably be a tuple, which seems problematic.  Is there a
> clean way to handle this?

I like this a lot too, and think it would be worth modifying the  
preparser to do. The range starting at 0 is natural for me, but it  
seems to trip a lot of (non-programmers) up.

  - Robert

> I don't know.  I'll wait to see if sage-devel (the mailing list)  
> generates
> discussion about this before deciding whether to consider actually
> doing it.  Since nobody has seriously proposed it before (after 2.5
> years), there may be some good arguments against it.  A general
> rule of thumb with Sage development is that one should avoid
> modifying the preparser if at all possible, because all such  
> modifications
> distance Sage from the very widely used and known Python language,
> and this in itself actually can cause a lot of problems and confusion.
> So we're pretty conservative about making any changes at all to
> the preparser at this point.
>
>
> > How does one specify an integer range in Maple, Mathematica, Maxima?
> >
>
> In Mathematica, Range[10] is 1..10, Range[0,10] is 0..10.
>
> Interesting.  It is like in Python, but adjusted for Mathematica  
> being 1-based.
>
>  -- William
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
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