[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ellipses



On 6/24/06, Jens Axel Søgaard <jensaxel@xxxxxxxxxxxx> wrote:

The only place (... ...) is needed is in macro-defining macros, which
aren't too common. A search through the PLT code base for (... ...)
versus a search for ... gives a good impression of how uncommon it is.
In my opinion it would therefore be annoying to the specify the ellipsis
in the "boiler plate" every time I need to define a standard macro.

Furthermore with-syntax lets you choose your own ellipsis, when
you need to define a macro-defining macro:

   (with-syntax ((::: #'(... ...))
     <use ::: here>)

I think it's a little nicer to write something like

(define-syntax syntax-case
   (syntax-case-macro
      (lambda (stx)
         (parametrized-syntax-case stx *** ()
            ((syntax-case name vars body ***)
              #`(parametrized-syntax-case #,(datum->syntax stx '...)
vars body ***))))))

Disclaimer:  I don't know syntax-case well enough to be certain of the
above code, but I think it should be about right.

David Feuer