Ahhh, there we go, so "file" is type you declare. All I was asking for, I thought you were thinking in a different/"more sophisticated" direction (because what "f" actually wants is not a file, but a "thing which has a read() like file" -- I thought one would like to manifest that in the type instead of implicitely by the code). Your concept is cool, tho :-)
Michael On Thu, 13 Jan 2005 08:52:21 -0500, Phillip J. Eby <[EMAIL PROTECTED]> wrote: > At 10:18 PM 1/13/05 +1000, Nick Coghlan wrote: > >Michael Walter wrote: > >>Yepyep, but *how* you declare types now? Can you quickly type the function > >>def f(x): x.read()? without needing an interface interface x_of_f: def > >>read(): pass or a decorator like @foo(x.read)? I've no idea what you > >>mean, really :o) > > > >Why would something like > > > > def f(x): > > x.read() > > > >do any type checking at all? > > It wouldn't. The idea is to make this: > > def f(x:file): > x.read() > > automatically find a method declared '@implements(file.read,X)' where X is > in x.__class__.__mro__ (or the equivalent of MRO if x.__class__ is classic). > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/michael.walter%40gmail.com > _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com