В сообщении от Четверг 21 августа 2008 Greg Ewing написал(a): > Lisandro Dalcin wrote: > > > I know, I can (and I do) use 'Type arg is not > > None' in argument lists, but I never liked it. > > Speaking of that, I've been thinking for a while now > about making "not None" the default, and requiring > "or None" to specify that None is an acceptable > parameter value. > > Having seen a number of pieces of Pyrex code that > were susceptible to being crashed because "not None" > wasn't used where it should have been, I think > this would be a safer default. The change may > break some existing code, though. > > What do people think?
I'm +1 for having "not None" the default. I was always wondering why was it the vice versa when I was stydying Pyrex -- for internal functions this was creating additional overhead and additional inconvenience, and I'd better put "or None" explicitely where it makes sence -- for high-level functions who interface with Python level. Bearing backward compatibility in mind, maybe let's create a compile option to switch this behaviour? And we'll remove old behaviour step-by-step: o first declare there is new "not None" by default with explicit switch, saying it will be the default in the next release. o then make default "not None" default and allow users to switch back with cython/pyrex option, but say this old behaviour will be removed in the next release o remove old behaviour in the next release. Sounds reasonable? Thanks, Kirill. _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
