PasteRack.org
Paste # 70121
2017-02-09 15:00:43

Fork as a new paste.

Paste viewed 1421 times.


Embed:

  1. #lang racket/base
  2.  
  3. (require
  4.   (for-syntax racket/base)
  5.   (for-syntax syntax/parse)
  6.   )
  7.  
  8. (begin-for-syntax
  9.   (define-splicing-syntax-class thing
  10.     (pattern thing:id
  11.              #:attr norm #''thing
  12.              )))
  13.  
  14. (define-syntax (read-thing stx)
  15.   (syntax-parse stx
  16.     ((_ thing0:thing ...)
  17.      #''(thing0 ...)
  18.      )))
  19.  
  20. (read-thing foo bar)

=>

'((foo) (bar))