Marshall wrote: > Anton van Straaten wrote: >> But beyond that, there's an issue here about the definition of "the >> language". When programming in a latently-typed language, a lot of >> action goes on outside the language - reasoning about static properties >> of programs that are not captured by the semantics of the language. >> >> This means that there's a sense in which the language that the >> programmer programs in is not the same language that has a formal >> semantic definition. As I mentioned in another post, programmers are >> essentially mentally programming in a richer language - a language which >> has informal (static) types - but the code they write down elides this >> type information, or else puts it in comments. >> >> We have to accept, then, that the formal semantic definitions of >> dynamically-checked languages are incomplete in some important ways. >> Referring to those semantic definitions as "the language", as though >> that's all there is to the language in a broader sense, is misleading. >> >> In this context, the term "latently-typed language" refers to the >> language that a programmer experiences, not to the subset of that >> language which is all that we're typically able to formally define. > > That is starting to get a bit too mystical for my tastes.
To paraphrase Abelson & Sussman: Programs must be written for people to read, and only incidentally for compilers to check their types. ;) Pascal -- 3rd European Lisp Workshop July 3 - Nantes, France - co-located with ECOOP 2006 http://lisp-ecoop06.bknr.net/ -- http://mail.python.org/mailman/listinfo/python-list