PasteRack.org
Paste # 95579
2016-12-09 10:36:50

Fork as a new paste.

Paste viewed 47 times.


Embed:

  1. #lang racket
  2.  
  3. (require syntax/parse/define (for-syntax syntax/parse))
  4.  
  5. (begin-for-syntax
  6.  (define-syntax-class name0 (pattern value:id))
  7.  (define-syntax-class name1 (pattern value:name0)))
  8.  
  9. ;; this works
  10. (define-syntax-parser names0
  11.   [(_ name:name0 ...)
  12.    #'(list 'name.value ...)])
  13.  
  14. ;; but this doesn't?
  15. (define-syntax-parser names1
  16.   [(_ name:name1 ...)
  17.    #'(list 'name.value.value ...)])

=>

eval:3:0: syntax: no pattern variables before ellipsis in

template

  at: ...

  in: (list (quote name.value.value) ...)