Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: $Revision: 1.6.2.16 $; site prism.UUCP Path: utzoo!watmath!clyde!burl!ulysses!unc!mcnc!decvax!cca!prism!zrm From: zrm@prism.UUCP Newsgroups: net.ai Subject: Re: Lisp Machines Message-ID: <900004@prism.UUCP> Date: Mon, 27-May-85 21:26:00 EDT Article-I.D.: prism.900004 Posted: Mon May 27 21:26:00 1985 Date-Received: Fri, 31-May-85 23:56:51 EDT References: <922@noscvax.UUCP> Lines: 20 Nf-ID: #R:noscvax:-92200:prism:900004:000:1062 Nf-From: prism!zrm May 27 21:26:00 1985 Not only does runtime type-tagging mean that errors are detected earlier than in systems that can't or don't do runtime type-checking, it also means that an add instruction does not need to know what it will be adding together at compile time. Doing type checking in macro-code is one reason why object oriented systems run not-so-fast. If the hardware does it for you you spend less time fetching flag-words that tell you what you are trying to operate on. It also makes "hidden" pointers possible, and that lets you pack a list into a vector. In short, hardware support lets languages like Zetalisp deliver on the promise of high-level-languages: you are free to use the convenient contructs of object oriented without incurring horrible performance penalties. The huge amount of code that exists for the Zetalisp environment means that in practical terms, Lisp machines do make programmers significantly more productive than do Lisp environments and other more conventional environments found on conventional minis.