Hi, >> It strikes me that decorators would be a natural way of >> handling this > > I don't think so, because the None/not None distinction is > a decision that needs to be made individually for each > parameter -- it's not a property of the function as a > whole.
True. I was thinking along the lines of changing the default behavior; which arguably could be (in similar fashion to the @cython.boundscheck operator). Thus you would either use @notNone with "or None" to change specified arguments, or no decorator with "not None" per needed argument. Given the discussion about functions interfacing to the rest of the python program, perhaps a good idea is a @checkall or @interface decorator or something that would say such a function interfaces to the outside python code and thus the default is to check all the input arguments for None (and any other issue else that might cause problems, but I can't think of one at the moment). >> If part of the >> reason for switching the default is that writing "not None" for every >> argument is awkward > > No, that's not part of the reason. The reason is that the > current default easily leads people to write buggy code. Okay, that makes sense. --Hoyt +++++++++++++++++++++++++++++++++++ Hoyt Koepke UBC Department of Computer Science http://www.cs.ubc.ca/~hoytak/ [EMAIL PROTECTED] +++++++++++++++++++++++++++++++++++ _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
