diff options
author | Suzane Sant Ana <tetestonaldo@gmail.com> | 2017-12-31 14:27:06 -0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-31 14:27:06 -0200 |
commit | 42f9329bb3a028d374d6397991ac48b44064741e (patch) | |
tree | 1e75e2b3e122aeb863e3ffa037f6f64c4027fbf8 /clojure-macros.html.markdown | |
parent | e6b77595f2669d66ac7be43c6e6083cbff80a9a7 (diff) | |
parent | 70a36c9bd970b928adde06afb2bd69f6ba8e5d5c (diff) |
Merge pull request #1 from adambard/master
update
Diffstat (limited to 'clojure-macros.html.markdown')
-rw-r--r-- | clojure-macros.html.markdown | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/clojure-macros.html.markdown b/clojure-macros.html.markdown index 8e671936..3864f676 100644 --- a/clojure-macros.html.markdown +++ b/clojure-macros.html.markdown @@ -99,17 +99,17 @@ You'll want to be familiar with Clojure. Make sure you understand everything in (list x) ; -> (4) ;; You can use # within ` to produce a gensym for each symbol automatically -(defmacro define-x-hygenically [] +(defmacro define-x-hygienically [] `(do (def x# 2) (list x#))) (def x 4) -(define-x-hygenically) ; -> (2) +(define-x-hygienically) ; -> (2) (list x) ; -> (4) ;; It's typical to use helper functions with macros. Let's create a few to -;; help us support a (dumb) inline arithmatic syntax +;; help us support a (dumb) inline arithmetic syntax (declare inline-2-helper) (defn clean-arg [arg] (if (seq? arg) @@ -131,7 +131,7 @@ You'll want to be familiar with Clojure. Make sure you understand everything in ; However, we'll need to make it a macro if we want it to be run at compile time (defmacro inline-2 [form] - (inline-2-helper form))) + (inline-2-helper form)) (macroexpand '(inline-2 (1 + (3 / 2) - (1 / 2) + 1))) ; -> (+ (- (+ 1 (/ 3 2)) (/ 1 2)) 1) @@ -142,11 +142,11 @@ You'll want to be familiar with Clojure. Make sure you understand everything in ### Further Reading -Writing Macros from [Clojure for the Brave and True](http://www.braveclojure.com/) +Writing Macros from [Clojure for the Brave and True](http://www.braveclojure.com/) [http://www.braveclojure.com/writing-macros/](http://www.braveclojure.com/writing-macros/) -Official docs +Official docs [http://clojure.org/macros](http://clojure.org/macros) -When to use macros? +When to use macros? [http://dunsmor.com/lisp/onlisp/onlisp_12.html](http://dunsmor.com/lisp/onlisp/onlisp_12.html) |