Skip to content

Instantly share code, notes, and snippets.

@tomjack
Created April 12, 2010 23:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomjack/43e7d7d5248e6d639eea to your computer and use it in GitHub Desktop.
Save tomjack/43e7d7d5248e6d639eea to your computer and use it in GitHub Desktop.
(ns scratch.heart)
(defmacro <3
([x] x)
([x mode form]
(case mode
-> `(-> ~x ~form)
->> `(->> ~x ~form)))
([x mode form & more]
`(<3 (<3 ~x ~mode ~form) ~@more)))
;; (<3 [1 2 3] -> (conj 4) ->> (map inc) ->> (filter even?) -> (concat [5 7]))
;; (concat (filter even? (map inc (conj [1 2 3] 4))) [5 7])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment