Path: utzoo!news-server.csri.toronto.edu!rutgers!att!bu.edu!m2c!umvlsi!dime!yodaiken From: yodaiken@chelm.cs.umass.edu (victor yodaiken) Newsgroups: comp.lang.misc Subject: Re: Dynamic typing (part 3) Message-ID: <27794@dime.cs.umass.edu> Date: 12 Mar 91 13:58:06 GMT References: <602@optima.cs.arizona.edu> Sender: news@dime.cs.umass.edu Reply-To: yodaiken@chelm.cs.umass.edu (victor yodaiken) Organization: University of Massachusetts, Amherst Lines: 32 In article <602@optima.cs.arizona.edu> gudeman@cs.arizona.edu (David Gudeman) writes: >are dynamically typed languages. Mathematical notation is generally >closer to dynamically typed languages than to statically typed >languages. > >In fact, I'd go so far as to claim that it is static type checking >that is the peculiar notion, not dynamic typing. Static typing >originated, as near as I can determine, with low-level languages like >Fortran an Algol that were little more than glorified assemblers. >They had to give type declarations so that they could generate code >that an assembly language programmer expected to be generated for >expressions. Much later, static typing took on religious significance >as an element of the great god Structured Programming, and became a >living force. Now people have actually come to believe, against all >evidence, that static typing is important for program reliability. > When I write: let S be a set let f:S -> X let Y = f(S) and let Z = {g(s): for s IN Y} for each s in S let k_s = f(S) a human being could figure out that: X, Y and Z are also sets that by f(S) I mean to apply f to each element of S and that the last line makes more sense if we interpret f(S) as a typo that should really be f(s) How is a dynamically typed programming language going to figure this out?