Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!kaukau.comp.vuw.ac.nz!brian From: brian@comp.vuw.ac.nz (Brian Boutel) Newsgroups: comp.arch Subject: Re: why tagged immediate floats are good Keywords: garbage collection, generational garbage collection, floating point Message-ID: <1990Mar19.001008.7553@kaukau.comp.vuw.ac.nz> Date: 19 Mar 90 00:10:08 GMT References: <6143@crdgw1.crd.ge.com> <1990Mar10.234555.150@Neon.Stanford.EDU> Sender: news@kaukau.comp.vuw.ac.nz (News Admin) Reply-To: brian@comp.vuw.ac.nz (Brian Boutel) Organization: Dept. of Comp. Sci., Victoria Uni. of Wellington, New Zealand. Lines: 46 In article <6143@crdgw1.crd.ge.com>, chao@sunflower.crd.ge.com (William Chao) writes: > In the paper "Basic Polymorphic typechecking," by Luca Cardelli, > Science of Computer Programming 8 (1987) pp. 147-172. On page 150: > ----------------------------------------------------------------------- > Polymorphism in language comes from the interaction of two contrasting > programming language design goals: static typing and reusability. > : > : > Polymorphic type systems try to reconcile these two goals > by providing all the safety of statically typed languages, > and most (but not all) the flexibility of untyped languages. > ----------------------------------------------------------------------- > My 1st question: Why he says "but not all?" > 2nd question: It seems that the "full" flexibility of untyped languages > will never be achieved by static typing, then static binding. > Does this imply that we got to have dynamic binding to accomplish > the full reusability? > 3rd question: People (especially real-time systems) are against dynamic binding > because it is too slow. Some people use the same reason (too > slow) to against object-oriented programming. Can we do somethings > about this? > I will appreciate whoever in this news group gives me the answer. Typing schemes generally disallow some programs that could be written in an untyped language. An example of this is self-application, where a function can take itself as an argument. This is not to say that no type system can deal with this. The problem is finding an algorithm that will do the type inference. Dynamic binding was a mistake. Even Lisp people now accept this. The problem is that the meaning of a name can only be determined at runtime, because it depends on the dynamic environment, and this precludes compile-time analysis of the program, so reliability goes out of the window. It's slow too, but this is not the fundamental problem. A boss told be years ago that it is better to be late that wrong! --brian Internet: brian@comp.vuw.ac.nz UUCP: ...!uunet!vuwcomp!brian Postal: Brian Boutel, Computer Science Dept, Victoria University of Wellington, PO Box 600, Wellington, New Zealand Phone: +64 4 721000 Fax: +64 4 712070