> Let me mention that I like the rules for unwrapping. I am sure it was not an
> easy compromise, but I think it is an elegant solution to the problems you
> point out with prior approaches, and will make macros significantly less
> painful to write.
I appreciate your saying so.
> - Just to confirm: (car (syntax (1 2))) --> an error.
Yes.
> - Could one write
>
> (define-syntax or
> (lambda (x)
> (syntax-case x ()
> [(_) #f]
> ...
>
> instead of (syntax #f)? The definition of syntax objects
> seems to allow it.
Yes.
> - Related, is (quote (1 2 3)) a valid output of a transformer,
> as opposed to (syntax (1 2 3)). Again, the spec appears to
> allow it.
Yes. Of course, the resulting expression should result in a run-time
exception.
You might get better source-object correlation in some implementations
if you use #'#f or #'(1 2 3), but whether that's true is outside the
scope of the SRFI.
Kent