Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!ames!ucbcad!ucbvax!hplabs!otter!kers From: kers@otter.HP.COM (Christopher Dollin) Newsgroups: comp.ai Subject: Re: Common Lisp lacks portability (105 lines) Message-ID: <2070001@otter.HP.COM> Date: 9 Dec 87 08:18:16 GMT References: <1421@orstcs.CS.ORST.EDU> Organization: hplabs-brc Bristol,UK. Lines: 31 Re: > I have a bone to pick with Steele about something he left out of > the Common Lisp definition. The above is *EXACTLY* what Common > Lisp *DOES* !!! In the sections about the > strong typing, "Common Lisp:The Language" says the compiler > or interpreter can ignore many declarations. It should also > state that there be a standard way to find out WHAT the compiler/ > interpreter is ignoring (or using). Something like a compiler flag > (":declares-ignored t/nil") or a global flag (*IGNORED-WARNINGS*) to > force common lisp to show what it is ignoring. [etc] Doesn't Steel say that a program that violates type declarations "is in error" and that an implementaion is "encouraged but not required to detect such an error"? Your program is in error. As such, all bets are off. The latitude Steele permits to implementations is to allow them freedom to be efficient in their different contexts. Disclaimer: I HATE Common (Vulgar) Lisp. There are many worse things to complain about in it. In general, you need those type "declarations" (really they're "promises") to get fast enough code. By the way ... you, I, and most everyone else I know blames Steele for the problems of VL. It's not *all* his fault, just because he edited The Book. No single individual could make design a language *that* bad ... Regards, Kers | "Why Lisp when you can speak Poperly?"