Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!boingo.med.jhu.edu!haven!ni.umd.edu!uc780.umd.edu!cs450a03 From: cs450a03@uc780.umd.edu Newsgroups: comp.lang.misc Subject: RE: Sigh. Doesn't anyone bother to read the literature? Message-ID: <29MAR91.20191947@uc780.umd.edu> Date: 29 Mar 91 20:19:19 GMT References: <10733@exodus.Eng.Sun.COM> Sender: usenet@ni.umd.edu (USENET News System) Organization: The University of Maryland University College Lines: 38 Nntp-Posting-Host: uc780.umd.edu Dave Chase writes: >All this drivel about what language xyzzy can or can't do is pretty >tiresome, since nobody is saying anything new. The arguments are also >pretty pointless, since most of the languages discussed (all but ML, >Russell, and Quest), whether "statically" or "dynamically" typed, have >pitifully inadequate type systems (Eiffel too -- nice touch, leaving >that contravariance hole in there for procedure types), if they claim >to have type systems at all. Nothing new under the Sun, eh? It may not be true for you, but I find that reviewing basic concepts and assumptions is an extremely fruitful line of thought. >(2) does any "expert" out there care to explain how "data types are > values"? (Hans Boehm is not allowed to answer this question) "What operations are allowed on a datum" is representable as data. The point is not that data types "are" values. The point is that viewing data types as values is a useful approach to problem solving. Of course, "data type" means different things to different people. To some, it is the "word size" used to hold the bit patterns that represent values. To some, it is what kind of register holds these values. To some, it is a syntactic feature of a programming language. If you are dealing with large data objects (much larger than the word size of the machine you are working on), it becomes convenient to "tag" these structures so that functions may reject values which are outside their domain. This is analogous to the sort of thing that you need to do to insure that machine operations are doing meaningful work, but it is also different. Disclaimer: this technique is not monopolized by any language, though some languages specialize in certain forms of this technique. Raul Rockwell