Thanks Andrew ... I got past that error. I now get an error below -
" syntax-parse: expected clause in: ()"

(define-syntax (define-primitive stx)
  (syntax-parse stx () ; ERROR
    [(_ (primitive-name:id arg:id ...) body ...+)
     #:with table-name
            (format-id #'primitive-name "~a-property-table"
#'primitive-name)
     #'(begin
        (define table-name (hash 'is-prime #t
        'arg-count (length '(arg ...))
        'emitter (lambda (arg ...) body ...))))

        (define-primitive-application-syntax (primitive-name arg ...))]))

On Thu, Sep 22, 2016 at 8:21 AM, Andrew Kent <[email protected]> wrote:

> The '...' that is causing the error is a '...' at the level of the
> _initial/outer_ macro (define-primitive-application-syntax), and so your
> final use of '...' is trying to splice a parameter of the _initial macro_
> (define-primitive-application-syntax), but you are actually trying to
> output a _literal_ '...' in the syntax you are generating because you want
> it to be a part of the macro you are generating/defining via
> define-primitive-application-syntax (i.e. primitive-name).
>
> TL;DR you want this instead I believe:
>
> …
> (define-simple-macro (define-primitive-application-syntax
> (primitive-name:id arg:id ...))
>   (define-simple-macro (primitive-name arg-expr:expr (... ...))
>     (list 'primitive-name arg-expr (... ...))))
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to