RE: HS violations in Corman
JP Massar <[email protected]> Thu, 20 Mar 2003 08:12:43 -0800
| Newsgroups | gmane.lisp.corman |
|---|---|
| Message-ID | <[email protected]> |
At 11:07 PM 3/19/03 -0800, Roger Corman wrote: >I had no idea lambda forms supported doc strings. I thought those were >purely part of DEFxxx macros (defun, defvar, etc.). What is the system >supposed to do with them (besides properly parse them)? The HS entry for LAMBDA (under SYMBOL) has for syntax: lambda lambda-list [[declaration* | documentation]] form* I suspect the intent was to allow the transformation of other forms into lambdas without worrying about picking apart the doc and decls. (Nonwithstanding the fact that this doesn't work very well because usually one has to introduce a BLOCK around the actual body, so parsing out the doc and decls becomes the obvious thing to do) > >I have fixed the problem with '|| (symbol with no name, or I should say, a >zero-length name) and will include it with the next patches. If anybody is >desparate for it let me know. That was another thing I had no idea was >supposed to be supported, but reading the detailed reader algorithm it is >clear that it should be allowed. Yeah, one could go one's whole Lisp programming life and never think about such things! :-) This came up because the ANSI tests have a list of keywords used as test examples, and one of the items included in that list was :|| Tests are generally useful, even if they just point out the degenerate cases. As Kent Pitman recently suggested in comp.lang.lisp, getting the degenerate cases correct is important because one often has macros that generate code which will generate such degenerate, but legitimate, forms, even if a human programmer would never do so.