We're working on rewriting the doctest framework only.  So we're still
just sticking to hyphens, but are making them UNIX-compliant: --gdb
instead of -gdb for example.  My first impression of your proposal is
that I like it, though there are some ambiguities in the syntax: in
mercurial the subcommand is required, whereas in sage we would also
want to allow "sage ARGS".  So you have to be careful what you mean by
"sage test": are you running sage on a file called test, or are you
running the subcommand test with no arguments.

I think that we can separate out the functionality which should be
available before building python (sage -i for example).  Overall I
think using python for the majority of sage's option parsing is a good
idea.
David

On Fri, Jan 27, 2012 at 02:20, R. Andrew Ohana <andrew.oh...@gmail.com> wrote:
> On Fri, Jan 27, 2012 at 02:07, David Roe <r...@math.harvard.edu> wrote:
>> Come over to Padelford: Robert and I are working on something like this.  :-)
>
> Is it at all similar to what I proposed? If not, please share :)
>
>> David
>>
>> On Fri, Jan 27, 2012 at 02:04, R. Andrew Ohana <andrew.oh...@gmail.com> 
>> wrote:
>>> So I've been looking into restarting ticket #21 now that we have
>>> argparse in python 2.7. The basic premise of the ticket was to make
>>> our command line options use a standard library, however, since it was
>>> opened (a long time ago), the command line options have become an
>>> incredibly cluttered mess as more and more functionality has been
>>> added. To that end, I think we should discuss some sort of uniform
>>> design to command line options. Looking through what sorts of
>>> arguments we already have, and playing around with argparse, I
>>> personally came to the conclusion that sage would do well with
>>> subcommand/subparsers (like mecurial, git, apt-get, aptitude, ...).
>>> Some examples:
>>>
>>> % sage ARGS # this would be for running sage scripts, or a couple of
>>> oddball arguments
>>> % sage notebook ARGS
>>> % sage pkg ARGS # this would include spkg stuff
>>> % sage pkg install # since install has some special flags like -f or -s
>>> % sage test ARGS
>>> % sage build ARGS
>>> % sage {python,maxima,R,gp,...} ARGS # we can consider these programs
>>> as subcommands of sage
>>>
>>> Obviously, this is a fairly significant departure from the current set
>>> command line options, and I'm not convinced this is necessarily the
>>> best way to handle them (I don't necessarily see how to add in
>>> debugging options), which is why I'm bringing this up as more of a
>>> brainstorm rather than any sort of vote (that may be a future thread,
>>> depending on the fallout of this one).
>>>
>>> So as far as feedback I would like
>>>
>>> 1) If you think the above is the general direction we should go, any
>>> thoughts on how it could be improved, and why (also, a +1 wouldn't
>>> hurt, if you don't have any suggestions)
>>> 2) If you don't like the direction of above, but have some other idea
>>> of how we could go about it, and why
>>> 3) You don't think we should make any effort to clean up command line
>>> options, and why
>>>
>>> For 3, I'm well aware that current users would need to relearn command
>>> line options (which is the main argument I see for that perspective),
>>> but ideally any new set of commands should be intuitive, and easy to
>>> learn (plus we have the deprecation period for a reason). If you think
>>> this is a more serious issue than I am making it out to be, please let
>>> me know (and "I don't want to relearn the command line" does not make
>>> a serious issue).
>>>
>>> --
>>> Andrew
>>>
>>> --
>>> To post to this group, send an email to sage-devel@googlegroups.com
>>> To unsubscribe from this group, send an email to 
>>> sage-devel+unsubscr...@googlegroups.com
>>> For more options, visit this group at 
>>> http://groups.google.com/group/sage-devel
>>> URL: http://www.sagemath.org
>>
>> --
>> To post to this group, send an email to sage-devel@googlegroups.com
>> To unsubscribe from this group, send an email to 
>> sage-devel+unsubscr...@googlegroups.com
>> For more options, visit this group at 
>> http://groups.google.com/group/sage-devel
>> URL: http://www.sagemath.org
>
>
>
> --
> Andrew
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to