Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.48 KB | None | 0 0
  1. (defmacro with-partial-macro (name macro list-of-args &body body)
  2.   "TODO: docu"
  3.   `(macrolet ((,name (more-args)
  4.                 `(,,macro ,,@list-of-args ,@more-args)))
  5.      ,@body))
  6.  
  7. (defmacro testmacro (&rest args)
  8.   `(+ ,@args))
  9.  
  10. ;;; TOOLS> (macroexpand-1 '(with-partial-macro partial-plus testmacro (1 2 3)
  11. ;;;                         (partial-plus 4 5 6)))
  12. ;;;
  13. ;;; (MACROLET ((PARTIAL-PLUS (MORE-ARGS)
  14. ;;;              `(,TESTMACRO ,1 ,2 ,3 ,@MORE-ARGS)))
  15. ;;;   (PARTIAL-PLUS 4 5 6))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement