[Python-Dev] a quit that actually quits

Samuele Pedroni pedronis at strakt.com
Fri Dec 30 12:37:37 CET 2005


Nick Coghlan wrote:
> Samuele Pedroni wrote:
> 
>>Michael Chermside wrote:
>>
>>>The F-bot writes:
>>>
>>>
>>>>in reality, some things are carefully thought out and craftily im-
>>>>plemented, some things are engineering tradeoffs made at a certain time,
>>>>and some things are just accidents -- but python-dev will happily defend
>>>>the current solution with the same energy, no matter what it is.
>>>
>>>+1 QOTF.
>>>
>>>Seriously... I've seen this behavior also, but I haven't ever thought
>>>about it as clearly as Fredrik does here. When we go to answer questions
>>>we ought to pause briefly first and decide which of these categories
>>>applies to a given piece of behavior. I think users will be understanding
>>>if we're honest about what are the accidents -- every language or
>>>software package has some, and just because it's an accident does NOT
>>>mean we should "fix" it.
> 
> 
> Most of the times I've asked questions along these lines I've gotten 
> well-considered answers (usually because something I thought was a deliberate 
> design decision on Guido's part turned out to simply be an accident of the way 
> it happened to be implemented in CPython).
> 
> 
>>it's indeed a matter of trade-offs. Converting NameErrors into commands
>>doesn't look like a good trade off in terms of expectations management
>>and understandable behavior. Ka-Ping Yee ExitHatch still seem a 
>>reasonable improvement. Fernando Perez considerations about Python
>>vs. "commands" and prefixing and extra-linguistic extensions seem
>>also on spot. It's not a matter of defending the status quo, more about
>>what kind of price is reasonable for DWIM.
> 
> 
> I think Fredrik has made an excellent case for promoting the quit & exit 
> interpreter-only builtins to be proper callables.
> 

notice that I wrote that Ka-Ping Yee ExitHatch is an improvement!

> Hell, we even have that capability for the callable that displays the 
> *license* text. . . surely quitting the interpreter is far more important than 
> being able to display the license text, but the support for the latter is 
> significantly better:
> 
> 
> Python 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> Py> exit
> 'Use Ctrl-Z plus Return to exit.'
> Py> quit
> 'Use Ctrl-Z plus Return to exit.'
> Py> license
> Type license() to see the full license text
> Py> type(license)
> <class 'site._Printer'>
> 
> Counting blank lines, 60 lines of site.py are devoted to getting copyright, 
> credit and license to work right, 16 to getting help to work, and only 12 to 
> setting quit and exit to the 'right' strings - and due to modules like 
> readline for Windows and differences in the way interpreters buffer the line 
> input, the exit string for Windows is not always correct.
> 
> Cheers,
> Nick.
> 



More information about the Python-Dev mailing list