Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define-syntax definem
- (lambda (x)
- (syntax-case x ()
- ((_ (macro . args) body ...)
- #'(definem macro (lambda* args body ...)))
- ((_ macro transformer)
- #'(define-syntax macro
- (lambda (y)
- (syntax-case y ()
- ((_ . args)
- (let ((v (syntax->datum #'args)))
- (datum->syntax y (apply transformer v)))))))))))
- (definem (test lst #:optional (fun car))
- `(,fun lst))
- (define lst (list 1 2 3 4))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement