[Python-Dev] Got None. Maybe Some? (original) (raw)
Michael Chermside mcherm at mcherm.com
Mon Dec 22 08:33:45 EST 2003
- Previous message: [Python-Dev] Vinay Sajip
- Next message: [Python-Dev] Got None. Maybe Some?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Josiah proposes a Some object to be the counterpart of None]
[Guido seems reluctant]
Josiah: I have a counterproposal. The good news is, it's REALLY easy -- you won't need a PEP, and I am sure that you'll get no objections from anyone on this list. And it'll provide you with a "Some" object that acts like you describe (except the one mention you made of "Some == not None"... that one's a bad idea since right now "True == not None").
Here's the idea: Create a file called "Some.py":
-------- Some.py ------------ class _SomeType(object): def lt(self, other): return False # never less than anything def le(self, other): if other is Some: return True # equal to itself else: return False # less than anything else def gt(self, other): if other is Some: return False # equal to itself else: return True # greater than anything else def ge(self, other): return True # greater than or equal to anything def repr(self): return 'Some'
Some = _SomeType() # singleton instance ---------- end --------------
Place this in your python path, then add this line to the top of your scripts:
"from Some import Some".
If you really want to, you could put code in your site.py file so that you don't even need this import line, but I think in the long run you'll prefer using the import line.
I think that this meets your expectations (if I understood them properly), and if not, it can probably be adjusted so that it does. The one thing it doesn't do is that it isn't part of the Standard Library. But that doesn't mean it can't be part of YOUR standard library... something you use all the time all over the place. I think that most people on this list (myself included) would say that the uses of this object are sufficiently esoteric and the naming of it is sufficiently quirky that they wouldn't want it in the language itself, but everyone here would stand up for your right to create and use such an object yourself... something which would never be possible in (for instance) Java.
Once-we've-got-Some-perhaps-we-should-consider-a-builtin-Milk lly yours,
-- Michael Chermside
- Previous message: [Python-Dev] Vinay Sajip
- Next message: [Python-Dev] Got None. Maybe Some?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]