[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nested comments (please correct lexical scope)

> From: "Bradd W. Szonye" <bradd+srfi@xxxxxxxxxx>
> 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).