Re: nested comments (please correct lexical scope)
Paul Schlie 10 Jan 2005 01:02 UTC
> From: "Bradd W. Szonye" <xxxxxx@szonye.com>
> Paul Schlie wrote:
>> Personally I believe this is not a good idea, it's neither
>> syntactically consistent with scheme, nor visually expected: more
>> simply and consistently I would expect a #; comment to lexically
>> remove the expression/token it's been lexically prepended to, nothing
>> else. (including white-space). i.e.:
>>
>> ... (a #; b #;c) => (a b)
>
> Why? That's a token comment, not an s-expression comment, and it seems
> to serve no useful purpose (unless you intend to support token-pasting a
> la (a#; b) => (ab), which is IMO a very bad idea).
Huh? arguably a# is a symbol, followed by a ; comment rest of line.
> I do agree that it'd be somewhat more intuitive if #; worked more like
> QUOTE, with (#;#;foo bar) being equivalent to (#;(#;foo) bar) rather
> than (#;foo #;bar). However, this idea of commenting tokens instead of
> s-expressions seems like a very bad idea.
Huh? '(a b c) or (a 'b c) applies to the prepended lexical s-expr, just
as #;(a b c) or (a #;b c) should. (if I've used the term token
in place of symbol, which is an <s-exp>, I apologize my mistake).
The proposed #; should essentially lexically remove the <s-exp> it's
prepended to (as it's scope is lexically determined that way), just as '
"quotes" the <s-exp> it's prepended to; don't see any rational reason to
otherwise break the scheme's syntactic/lexical scoping conventions presumed
by similar reader abbreviation conventions.
The very notion of (#;#; a b c) => ( c ) ; sends chills down my spine;
as it would seem hard to think of a worse syntactic/lexical scoping
abomination/hack for scheme to adopt. (again, just an opinion).