Chris Smith wrote: > Torben Ægidius Mogensen <[EMAIL PROTECTED]> wrote: > > That's not really the difference between static and dynamic typing. > > Static typing means that there exist a typing at compile-time that > > guarantess against run-time type violations. Dynamic typing means > > that such violations are detected at run-time. This is orthogonal to > > strong versus weak typing, which is about whether such violations are > > detected at all. The archetypal weakly typed language is machine code > > -- you can happily load a floating point value from memory, add it to > > a string pointer and jump to the resulting value. ML and Scheme are > > both strongly typed, but one is statically typed and the other > > dynamically typed. > > Knowing that it'll cause a lot of strenuous objection, I'll nevertheless > interject my plea not to abuse the word "type" with a phrase like > "dynamically typed". If anyone considers "untyped" to be perjorative, > as some people apparently do, then I'll note that another common term is > "type-free," which is marketing-approved but doesn't carry the > misleading connotations of "dynamically typed." We are quickly losing > any rational meaning whatsoever to the word "type," and that's quite a > shame.
I don't think dynamic typing is that nebulous. I remember this being discussed elsewhere some time ago, I'll post the same reply I did then .. A language is statically typed if a variable 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. 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. Some people use dynamic typing as a word for latent typing, others use it to mean something slightly different. But for most purposes the definition above works for dynamic typing also. Untyped and type-free mean something else: they mean no type checking is done. -- http://mail.python.org/mailman/listinfo/python-list