(examples-for pre-compile-with
("does nothing with an empty hash" (pre-compile-with (hash) '(let a 1 (p a))) (let a 1 (p a))) ("uses the given macros to expand the given expression" (let lang { p (fn args `(print-stuff ,@args)) def (fn (name . body) `(define-it ,(to-string name) ,(len body) ,@body)) brace-list (fn (first second third) `(brace-things ,first (p ,second))) } (pre-compile-with lang '(let a 'b (p { a b c } (with (m n) (def p q r s tt)))))) (let a 'b (print-stuff (brace-things a (print-stuff b)) (with (m n) (define-it "p" 4 q r s tt))))))