[plt-dev] syntax-case error messages

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Mar 30 16:46:28 EDT 2010

I'll fix the docs. (The error message is based on the syntax object
given to `syntax-case', not a macro-invocation context.)

At Tue, 30 Mar 2010 07:40:12 -0600, Robby Findler wrote:
> The docs for syntax-case say "If no clause matches, then the
> exn:fail:syntax exception is raised." Okay I change this to "If no
> clause matches, then the exn:fail:syntax exception is raised with a
> generic error message indicating a syntax error in the most recently
> invoked macro (via the @scheme[#f] argument to
> @scheme[raise-syntax-error])."?
> 
> Robby
> 
> On Tue, Mar 30, 2010 at 7:12 AM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
> >
> > On Mar 30, 2010, at 7:45 AM, Ryan Culpepper wrote:
> >
> >> Really? I read the first as the macro saying "No, you got it wrong. Read
> >> the docs/source and figure it out." Not the most helpful error message,
> >> maybe, but since macro interfaces are so much more free-form than procedure
> >> interfaces, it's harder to say exactly what went wrong.
> >>
> >> The other error message, on the other hand, has very much an internal
> >> error feel to it.
> >
> >
> > Thank you for boiling it all down to such a short summary. Syntax -- like it
> > or not -- has a radically different status than values. Most programmers who
> > approach Racket will NOT have programmed in a world where syntax is just
> > another library 'thing'. Instead they come from a world where parsing
> > signals mistakes and when something from the inside of the parser spills
> > out, it's a compiler bug.
> >
> > [Of course, it is a compiler bug for us, too, because macros are a compiler
> > API. But we don't have to be blatant about it.]
> >
> > -- Matthias
> >
> >
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-dev


Posted on the dev mailing list.