[Python-Dev] PEP 246, redux
Phillip J. Eby
pje at telecommunity.com
Wed Jan 12 01:17:23 CET 2005
At 06:38 PM 1/11/05 -0500, Clark C. Evans wrote:
>| To implement a Liskov violation with my proposal, you do exactly the same
>| as with your proposal, *except* that you can simply return None instead
>| of raising an exception, and the logic for adapt() is more
>| straightforward.
>
>I think I prefer just returning None rather than raising a
>specific exception. The semantics are different: None implies that
>other adaptation mechanisms (like a registry) could be tried, while
>LiskovException implies that processing halts and no further
>adaptation techniques are to be used. In this case, None is
>the better choice for this particular case since it would enable
>third-parties to register a wrapper.
>
>Overall, I think both you and Alex are now proposing essentially
>the same thing... no?
Yes; I'm just proposing shuffling the invocation of things around a bit in
order to avoid the need for an exception, and in the process increasing the
number of possible customizations a bit.
Not that I care about those customizations as such; I just would like to
simplify the protocol. I suppose there's some educational benefit in
making somebody explicitly declare that they're a Liskov violator, but it
seems that if we're going to support it, it should be simple.
More information about the Python-Dev
mailing list