Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #lang racket
- (require [for-syntax racket/stream])
- (define-for-syntax (range n) (stream->list (in-range n)))
- (define-syntax big-case-datum
- (lambda (ctx)
- (syntax-case ctx ()
- ((_ n)
- (with-syntax ([ra (datum->syntax ctx (range (syntax->datum #'n)))])
- #'(lambda (a) (case a
- (ra 'in)
- (else 'out))))))))
- ((big-case-datum 10) 2) ;; => 'in
- ((big-case-datum 10) 13) ;; => 'out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement