Re: nested comments (please correct lexical scope)
Paul Schlie 10 Jan 2005 20:22 UTC
> Sorry, I mashed three ideas together there:
>
> 1. I don't think it's a good idea for (#;#;a b c) => (c).
- fully agree, obviously :)
> 2. I would prefer (#;#;a b c) => (b c), analogous to (''a b c).
- as above, implying to me something along the line of:
(#;#;a b c) :: ({remove {remove a}} b c) => (b c).
> 3. I don't like the suggestion that (#; a) => (a) because of the space.
- only suggested it as although many scheme readers seem to accept:
'<ws><s-exp> :: {quote a} => (quote <s-exp>)
r5rs seems to imply in all examples, no <white-space> being allowed
between the quote abbreviation and it's target <s-exp>; which makes
sense to me as it visually and lexically binds the reader action with
it's target <s-exp>, as opposed to allowing something like:
(+ a b '; some comment
(- c d)) :: (+ a b {quote (- c d)}) => (+ a b (quote (- c d)))
or analogously:
(+ a b #;; some comment
(- c d)) :: (+ a b {remove (- c d)}) => (+ a b)
as opposed to requiring no <ws>:
(+ a b #;; some comment
(- c d)) :: (+ a b {remove } (- c d)) => (+ a b (- c d))
or
(+ a b ; some comment
#;(- c d)) :: (+ a b {remove (- c d)}) => (+ a b)
which overall seems like a good thing to enforce?
> To defend my #1: While I understand the "comment out next sexp"
> explanation, my mind sees "A" as the next sexp for /both/ comment tokens
> in (#;#;a b c), thus making it equivalent to (#;a b c) => (b c).