Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!njin!princeton!phoenix!eliot From: eliot@phoenix.Princeton.EDU (Eliot Handelman) Newsgroups: comp.lang.lisp Subject: Re: Another Lucid Question Message-ID: <3424@phoenix.Princeton.EDU> Date: 6 Aug 88 21:57:39 GMT References: <3384@phoenix.Princeton.EDU> <6882@bcsaic.UUCP> Reply-To: eliot@phoenix.Princeton.EDU (Eliot Handelman) Distribution: na Organization: Princeton University, NJ Lines: 40 In article <6882@bcsaic.UUCP> rwojcik@bcsaic.UUCP (Rick Wojcik) writes: >>My next question is this: how can I access the definition of an >>interpreted function? [...] >Try (grindef ). Just as I thought ... someone forsaw the need for this. >was to chance upon a colleague who happened to remember it. The manual >only tells you about functions that retrieve the useless #form. We have found that Lucid's documentation is most useful when you >already know the information that you are trying to look up. ;-) I once spent the better part of a day trying to find the Lucid documentation of a function that was reporting an error in connection with the foreign- function loader (something pertaining to discsave, or whatever it's called) -- it was undocumented. I think this raises a couple of questions concerning the question of standards, packages and documentation. What Steele describes is essentially the USER package, which is what standard lisp documentation tends to describe. It turns out that there are an inordinate number of procedures in SYSTEM (or in lucid, LUCID) that you might like to know about, but which remain undocumented because they're "hidden," that is, belong to some package other than USER. Presumably this should not affect anybody's code who keeps to the Steele set, or at least it argues for compatibility. But if you're not necessarily concerned with compatibilty -- and I know that this is a moot point, and some people will frown upon this -- if you just *happen* to be writing LISP, I think it makes tremendous sense to use the particular lisp you have available to its full extent, without bothering to rewrite macros that actually exist in SI but which were excluded from Steele, and hence which are never disclosed. But these examples from Lucid are particularly annoying. I just want to make a practical suggestion to lisp documenters: I think it makes sense to indicate the existence of EVERYTHING available in the lisp, in EVERY package, regardless whether or not it's felt that the user has the right to use these things are not. And considering the volume and expense of the Lucid doc, I can't see why this was not done. Counterarguments? - Eliot