Giovanni> One way would be to keep boolean flags like "is this a list of Giovanni> integers". It could be updated after each list modification, Giovanni> so that typechecks come for (almost) free.
Where would that be done? If it's in the untyped function in Guido's example, how does it know it's supposed to be a list of ints? If it's in the typed function the untyped function calls, it seems to me you'll have to do the entire check of a million elements before any user code is executed to raising a typecheck error after partial execution someone else brought up. Other (difficult or unworkable I think) alternatives: * Require that typed functions may only be called by other typed functions. That way lies madness I think. It seems to me like it would be similar to the "const" virus in ANSI C. * Allow lazy type checking, but implement some sort of transaction that is only committed if the typed function executes successfully. (More madness. I know! Implement the virtual machine objects in a database! Tell the Jython and IronPython folks to suck rocks!) Then again, perhaps brighter folk will think of something that will actually work. (I'm happy to live without type annotations, but that's just me.) Skip _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com