Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ira.uka.de!fauern!opal!wg From: wg@opal.cs.tu-berlin.de (Wolfgang Grieskamp) Newsgroups: comp.lang.misc Subject: Re: Dynamic typing (part 31,497) Message-ID: <3093@opal.cs.tu-berlin.de> Date: 17 Apr 91 20:43:15 GMT References: <2046@optima.cs.arizona.edu> Sender: news@opal.cs.tu-berlin.de Reply-To: wg@opal.cs.tu-berlin.de Followup-To: comp.lang.misc Organization: Technical University of Berlin Lines: 24 Nntp-Posting-Host: troll.cs.tu-berlin.de gudeman@cs.arizona.edu (David Gudeman) writes: > If you >associate type information with a value at runtime then you have >dynamic typing. I have heard of this definition before, but I think its to weak. For instance, to implement C++ virtual messages, you have to add type information to values. (If C++ was classified as a dynamical typed language in the course of this discussion, I must apologize.) To implement Haskells type classes (which is surely statically typed) you dont have to add type information to values, but at least to functions performing computations with these values. Its an interesting observation that the restrictions of Haskell which dont allow the usage of "heterogeneous" lists are caused to the fact that type information is associated only with values passed to functions but not with values stored in data types. This seems to be quite unnaturaly in a framework based on the lambda calculus, where data types can be expressed through higher-order functions. -- Wolfgang Grieskamp wg@opal.cs.tu-berlin.de tub!tubopal!wg wg%opal@DB0TUI11.BITNET