This is a bit of a crank idea, but here goes.
Today I wasted some time trying to find the bug in the following piece
of code:
(define (syntax-car syntax)
(syntax-case syntax () ((car . cdr) #'car)))
Better error reporting in macro-expansion errors might have made it less
painful, but m
2015-08-30 14:30 GMT+02:00 Taylan Ulrich Bayırlı/Kammer <
taylanbayi...@gmail.com>:
> This is a bit of a crank idea, but here goes.
>
> Today I wasted some time trying to find the bug in the following piece
> of code:
>
> (define (syntax-car syntax)
> (syntax-case syntax () ((car . cdr)
> Date: Sat, 29 Aug 2015 13:39:55 -0700
> From: Doug Evans
>
> On Sat, Aug 29, 2015 at 1:16 PM, Eli Zaretskii wrote:
> >> Date: Sat, 29 Aug 2015 12:20:24 -0700
> >> From: Doug Evans
> >> Cc: "gdb-patc...@sourceware.org" , guile-devel
> >>
> >>
> >> > What about platforms that don't have sigpr
Panicz Maciej Godek writes:
> You mean that #'x is synonymous to (syntax x), and that's where the
> problem stems from?
Yup. I shadow 'syntax', but I don't explicitly shadow "#'". It gets
shadowed implicitly. Lexical scoping and hygiene are supposed to let
the programmer forget about such wor
2015-08-30 15:16 GMT+02:00 Taylan Ulrich Bayırlı/Kammer <
taylanbayi...@gmail.com>:
> Panicz Maciej Godek writes:
>
> > You mean that #'x is synonymous to (syntax x), and that's where the
> > problem stems from?
>
> Yup. I shadow 'syntax', but I don't explicitly shadow "#'". It gets
> shadowed
Panicz Maciej Godek writes:
> Your point is that quote (and unquote, and quasiquote, and syntax, and
> unsyntax, and quasisyntax) is a reader macro, so one might forget that
> 'x is really (quote x) -- because that indeed cannot be infered from
> the source code.
Yup, exactly.
> You've got the