Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!dimacs.rutgers.edu!bcm!rice!gefion.rice.edu!wright From: wright@gefion.rice.edu (Andrew Wright) Newsgroups: comp.lang.misc Subject: Re: A Hard Problem for Static Type Systems Message-ID: <1991Apr24.042652.23886@rice.edu> Date: 24 Apr 91 04:26:52 GMT References: <1991Apr20.010347.28984@leland.Stanford.EDU> <1991Apr22.151149.9661@watmath.waterloo.edu> Sender: news@rice.edu (News) Organization: Rice University, Houston Lines: 24 In article <1991Apr22.151149.9661@watmath.waterloo.edu> jlophel@watmsg.waterloo.edu (John Ophel) writes: ... > - Static typing solutions are occassionally more involved than dynamic typing >solutions. As more work is done with static systems, however, more and more >problems that were previously clumsy or difficult with static typing can >be naturally expressed with static typing; for example, ML's parameteric >polymorphism permits polymorphic functions to be written with the security >of static typing; ML's type inference removes the need for redundant type >declarations; watML adds overloading to a static type system. Experience >with dynamic type systems has suggested valuable concepts that languages >should be able to support; modern static type systems are attempting to provide >these concepts within secure, efficient systems. Furthermore, static type systems are able to accomplish some things which cannot be accomplished in dynamic type systems. Overloading is a case in point - the appropriate definition of a overloaded name is selected based on information which is not part of a dynamic language. In simple systems, overloading may be regarded as simple syntactic convenience, however in systems like watML and Haskell, it is much more than simple syntactic convenience, as the "min" solutions posted by John indicate. Andrew K. Wright Computer Science, Rice University wright@rice.edu Houston Texas 77251-1892