Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ulysses.UUCP Path: utzoo!linus!decvax!harpo!eagle!mhuxl!ulysses!ggs From: ggs@ulysses.UUCP Newsgroups: net.lang.c Subject: RE: Re: great quote about the "C" language Message-ID: <728@ulysses.UUCP> Date: Tue, 6-Dec-83 22:03:19 EST Article-I.D.: ulysses.728 Posted: Tue Dec 6 22:03:19 1983 Date-Received: Fri, 9-Dec-83 04:46:29 EST References: tektroni.1633, <2288@utah-cs.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 34 With regard to the following: >If you don't think minimizing the number of reserved words is a good idea, >try Lisp. At 1000 or more reserved words (the oblist), it's not always >easy to avoid stepping on things, and the results of a collision are usually >quite mysterious. Foul! There are very few reserved words in Lisp. The conflicts with the oblist are no worse that function name conflicts in the C library. The only cases that I can think of where strange things happen are when you re-bind some of the atoms that have special significance to the interpretor (input or output radix, for example). You can redefine a procedure and cause a system function to break, but you can also do the same thing to a function in the C library. The conflicts are an attribute of the large size of the support library, not of the language. >As for the compiler "probably" doing the right thing, I don't think there's >*any* existing portable language in which the compiler can be guaranteed to >give consistent results - 36 bits is different from 32, no matter how you try >to disguise it... Lisp is just such a language. It allows you to deal with abstract objects that have little relation to the underlying architecture. I wrote a fairly large language interpretor in Lisp in 1969. It ran under Lisp 1.6 on a PDP-10. I was able to port it to Franz Lisp on a VAX in 1983 with about one day's effort. The changes were to eliminate some non-standard function references that I shouldn't have used in the first place. The resulting code would run on the original PDP-10 system with only a few lines of changes. -- Griff Smith AT&T Bell Laboratories, Murray Hill Phone: (201) 582-7736 Internet: ggs@ulysses.uucp UUCP: ulysses!ggs