Newsgroups: comp.lang.lisp Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!barmar From: barmar@think.com (Barry Margolin) Subject: Re: CLtL2 is not official Message-ID: <1991Apr5.002613.26490@Think.COM> Sender: news@Think.COM Organization: Thinking Machines Corporation, Cambridge MA, USA References: <1991Apr3.060648.13283@Think.COM> Date: Fri, 5 Apr 91 00:26:13 GMT I'm following up to my own posting, since I've received several replies. I want to point out that CLtL2 should not necessarily be shunned, but users should be "careful" with it. The most useful stuff in the new material is information about portability. There are many new "it is an error" situations, because we noticed that different implementation has interpreted CLtL differently. In many cases, rather than X3J13 deciding on a particular interpretation, we decided to make it explicit in the language that depending on such choices is not portable. This merely makes the status quo official, since it was already the case that programs that assumed a particular behavior were not portable to implementation that provide the other behavior. What users should be careful with are the *new* features. I'm told that MCL 2.0 implements most of CLtL2. That's fine, if you only need to run your program under MCL 2.0, and it will probably work pretty well under a future ANSI CL. But suppose you want to port it to Lucid, Symbolics, or Allegro before they implement ANSI CL? If you made use of lots of new CLtL2 features, you may be out of luck. By the way, at its last meeting, X3J13 decided to remove all the new stuff that provides direct access to lexical environments (AUGMENT-ENVIRONMENT, DEFINE-DECLARATION, etc.). We had determined that there were serious design flaws with them. There were proposals to fix the problems, but many of us weren't confident that new bugs wouldn't pop up right after, and felt that we'd rammed this new stuff in too close to the completion of the project. We encourage implementors to implement this stuff, but we're just not going to require it as part of ANSI CL. -- Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar