Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!udel!rochester!pt.cs.cmu.edu!rain.andrew.cmu.edu!ddean From: ddean@rain.andrew.cmu.edu (Drew Dean) Newsgroups: comp.lang.misc Subject: Re: A Hard Problem for Static Type Systems Message-ID: <12906@pt.cs.cmu.edu> Date: 4 May 91 00:51:51 GMT References: <566@eiffel.UUCP> <2672@optima.cs.arizona.edu> Organization: Carnegie Mellon University Lines: 34 In article olson@juliet.ll.mit.edu ( Steve Olson) writes: >In article <2672@optima.cs.arizona.edu> cjeffery@optima.UUCP (Clinton Jeffery) writes: > > I would. I am not willing to type one keystroke (e.g. type declarations) > more than I have to in order to satisfy your need for everyone to do so. > What is this sweeping generalization doing here after your very nice > concession to dynamically typed languages earlier in your post? > >Um, well, in my opinion, the extra keystrokes involved are the weakest of >the arguments against static typing. I mean, the botom line isn't keystrokes, >its total programmer effort. >-- Steve Olson >-- MIT Lincoln Laboratory >-- olson@juliet.ll.mit.edu I know that "functional language" is considered a dirty term in this group :-), but there seems to be a lot known about typing-systems in relation to them. Before following up to this message, why don't you look at, say, Ch. 7 of Field & Harrison's _Functional_Programming_, or read about the Standard ML type system (note that Standard ML has type-inference, so no extra typing is required, unless the compiler cannot infer the type itself, which is a rare event, although simple to program: fun f x y = x + y. Now + is defined for reals & integers, and the compiler needs to know the type of one operand (or both) or the result in order to type the expression). Note: I'm sure there are better references than Field & Harrison, that's just one that I happen to have on hand. A good question: how might the Standard ML type system be adopted to an OO world ? -- Drew Dean Drew_Dean@rain.andrew.cmu.edu [CMU provides my net connection; they don't necessarily agree with me.]