[Python-Dev] an alternative to embedding policy in PEP 418 (was: PEP 418: Add monotonic clock)
Ethan Furman
ethan at stoneleaf.us
Thu Apr 5 20:56:00 CEST 2012
Oleg Broytman wrote:
> On Wed, Apr 04, 2012 at 12:52:00PM -0700, Ethan Furman wrote:
>> Forced? I do not use Python to be forced to use one style of
>> programming over another.
>
> Then it's strange you are using Python with its strict syntax
> (case-sensitivity, forced indents), ubiquitous exceptions, limited
> syntax of lambdas and absence of code blocks (read - forced functions),
> etc.
I come from assembly -- 'a' and 'A' are *not* the same.
indents -- I already used them; finding a language that gave them the
same importance I did was incredible.
exceptions -- Python uses them, true, but I don't have to in my own code
(I do, but that's besides the point).
lambdas -- they work just fine for my needs.
etc.
>> And it's not like returning None will allow some clock calls to work
>> but not others -- as soon as they try to use it, it will raise an
>> exception.
>
> There is a philosophical distinction between EAFP and LBYL. I am
> mostly proponent of LBYL.
> Well, I am partially retreat. "Errors should never pass silently.
> Unless explicitly silenced." get_clock(FLAG, on_error=None) could return
> None.
It's only an error if it's documented that way and, more importantly,
thought of that way. The re module is a good example: if it can't find
what you're looking for it returns None -- it does *not* raise a
NotFound exception.
I see get_clock() the same way: I need a clock that does xyz... None?
Okay, there isn't one.
~Ethan~
More information about the Python-Dev
mailing list