jmiller@crl.DEC.COM (06/26/91)
Well, I've held my tongue for a long time on this one. I can't resist any longer, triggered by the following statement from Richard A. O'Keefe: Surely there is only one sensible environment for (LOAD "file") to extend, and that is "the" top-level environment? (Or the current "locale", if you have locales.) Surely not! If this is part of the language, then it becomes executable as part of a program (it isn't restricted to a top-level form). Hence it makes sense for it to act as would INCLUDE instead. That aside, I think the real issue is the one that Will Clinger brought up at Snowbird: this issue is one of programming environment not language, and I agree with the very strong stance taken by the standardization committee against any work on environment issues. Will's point was, essentially, that on a Macintosh you point at the file to load -- on a Macintosh the notion of a "file name" is meaningless to users! [And, no, I don't think I'm being hypocritical by allowing I/O into the language. I was one of the small minority that supported including a separate notion of I/O port that could have supported I/O to strings, etc. so that file names were only one among many options for choosing where I/O was directed.] --Jim