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

Re: nested comments (please correct lexical scope)

This page is part of the web mail archives of SRFI 62 from before July 7th, 2015. The new archives for SRFI 62 contain all messages, not just those from before July 7th, 2015.

> 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).