Alexander D. Knauth writes:
> > At least it's one that works. It feels like cheating to use dynamic
> > scoping to get around a problem with lexical scoping, but knowing when
> > to cheat is a fundamental competence when dealing with any bureaucracy ;-)
>
> Um, the reason a syntax parameter
Racket's syntax-expander deliberately goes out of its way to break exactly
this example. ("hygiene")
The issue/bug/ambiguity it is protecting you from is:
(let ((send (lambda args (length args)) ))
(def (foo3 x y)
(send x + y)
))
(foo3 2 3) ;; In lisps with poor grooming, 5.
> On Sep 4, 2015, at 4:26 AM, Konrad Hinsen wrote:
>
> Brian Mastenbrook writes:
>
>> It's a capture problem. In the first case, you're just binding the
>> name "send" locally and all is well. In the second case, you're
>> trying to introduce a binding for "send" that you didn't get from
>> the
Brian Mastenbrook writes:
> It's a capture problem. In the first case, you're just binding the
> name "send" locally and all is well. In the second case, you're
> trying to introduce a binding for "send" that you didn't get from
> the input form.
Ahhh that one has bitten me before, but I
On Sep 3, 2015, at 11:44, Konrad Hinsen wrote:
> Hi everyone,
>
> Here's another plea for help from the macro experts. I am trying to
> write a macro whose expansion contains another macro, more precisely a
> let-syntax form. My full example is attached below. In the first part,
> I use a let-sy
Hi everyone,
Here's another plea for help from the macro experts. I am trying to
write a macro whose expansion contains another macro, more precisely a
let-syntax form. My full example is attached below. In the first part,
I use a let-syntax directly. In the second part, I use a macro that
generat
6 matches
Mail list logo