"Stephen Thorne" <[EMAIL PROTECTED]> wrote:

> Unresolved Problems:
> 1) How do you handle duck types, i.e. a method that accepts StringIO,
> cStringIO or any other object that has a .readlines(), .seek() and
> .read() method?

I think the 'proper' way of checking duck types (among other things) is by 
defining appropriate
protocols; check pyProtocols (http://peak.telecommunity.com/PyProtocols.html) 
for details.

> 2) How do you turn off the type checking for production code?

Currently I don't, but that's easy to do if desired by checking __debug__ in 
the decorator and
return the passed function if it is false:

def params(**checkedArgs):
    if not __debug__:
        return lambda function: function
    # else return a typechecked proxy of function
    (...)


> Otherwise I quite like it. Please publish it somewhere.

Thanks. I'll post an entry on Vaults of Parnassus as soon as I publish it.

George


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to