Anton van Straaten wrote: > I'm suggesting that if a language classifies and tags values in a way > that supports the programmer in static reasoning about the behavior of > terms, that calling it "untyped" does not capture the entire picture, > even if it's technically accurate in a restricted sense (i.e. in the > sense that terms don't have static types that are known within the > language). > > Let me come at this from another direction: what do you call the > classifications into number, string, vector etc. that a language like > Scheme does? And when someone writes a program which includes the > following lines, how would you characterize the contents of the comment: > > ; third : integer -> integer > (define (third n) (quotient n 3))
I would call it an informal type annotation. But the very fact that it has to be expressed as a comment, and is not checked, means that the *language* is not typed (even though Scheme is dynamically tagged, and even though dynamic tagging provides *partial* support for a programming style that uses this kind of informal annotation). -- David Hopwood <[EMAIL PROTECTED]> -- http://mail.python.org/mailman/listinfo/python-list