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