[racket] syntax-parse and literals

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Sep 2 23:15:30 EDT 2011

A few minutes ago, Robby Findler wrote:
> On Fri, Sep 2, 2011 at 9:50 PM, Shriram Krishnamurthi <sk at cs.brown.edu> wrote:
> >
> > When I write (:) in syntax-case, I'm saying ": is not a binding
> > form; I want to see literally a :, and I don't want to bind the :
> > in the pattern to whatever you find in that position".  I'm trying
> > to reproduce that effect here.
> You don't want the code you've written, then (and as Asumu pointed
> out, there is the ~datum pattern). But as others have argued,
> "scoped keywords" seem to have worked better for us in general (I'm
> forgetting the series of examples that get us there tho). That is,
> the syntax-parse error message is actually accurate in that case and
> the fix is not to change the error message, but to change the macro.
> (Hopefully that clarifies a little bit.)

(I'll just meta-note here that you're *justifying* Shriram's point,
because you've used "keyword" to describe these kinds of

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the users mailing list.