Rob Thorpe <[EMAIL PROTECTED]> wrote: > A language is latently typed if a value has a property - called it's > type - attached to it, and given it's type it can only represent values > defined by a certain class.
I'm assuming you mean "class" in the general sense, rather than in the sense of a specific construct of some subset of OO programming languages. Now I define a class of values called "correct" values. I define these to be those values for which my program will produce acceptable results. Clearly there is a defined class of such values: (1) they are immediately defined by the program's specification for those lines of code that produce output; (2) if they are defined for the values that result from any expression, then they are defined for the values that are used by that expression; and (3) for any value for which correctness is not defined by (1) or (2), we may define its "correct" values as the class of all possible values. Now, by your definition, any language which provides checking of that property of correctness for values is latently typed. Of course, there are no languages that assign this specific class of values; but ANY kind of correctness checking on values that a language does (if it's useful at all) is a subset of the perfect correctness checking system above. Apparently, we should call all such systems "latent type systems". Can you point out a language that is not latently typed? I'm not trying to poke holes in your definition for fun. I am proposing that there is no fundamental distinction between the kinds of problems that are "type problems" and those that are not. Types are not a class of problems; they are a class of solutions. Languages that solve problems in ways that don't assign types to variables are not typed languages, even if those same problems may have been originally solved by type systems. > Untyped and type-free mean something else: they mean no type checking > is done. Hence, they don't exist, and the definitions being used here are rather pointless. -- Chris Smith - Lead Software Developer / Technical Trainer MindIQ Corporation -- http://mail.python.org/mailman/listinfo/python-list