diff options
author | Konrad Hinsen <konrad.hinsen@laposte.net> | 2009-02-15 21:56:18 +0000 |
---|---|---|
committer | Konrad Hinsen <konrad.hinsen@laposte.net> | 2009-02-15 21:56:18 +0000 |
commit | 742d0143421335f7eea6ca858efe9af576ec8f6a (patch) | |
tree | 2da3b15227b00185e54f46bd65ad1dfd9090a95b /src/clojure/contrib/macros.clj | |
parent | 5107e9d5b03204c2a60b47a669821939de7c07ac (diff) |
macros: new macro lazy-and-standard-branch
Diffstat (limited to 'src/clojure/contrib/macros.clj')
-rw-r--r-- | src/clojure/contrib/macros.clj | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/clojure/contrib/macros.clj b/src/clojure/contrib/macros.clj index e58892c4..5820e48e 100644 --- a/src/clojure/contrib/macros.clj +++ b/src/clojure/contrib/macros.clj @@ -26,3 +26,12 @@ (let [makefn (fn [[name args body]] (list name (list 'fn name args body))) fns (vec (apply concat (map makefn (partition 3 fn-bindings))))] `(let ~fns ~@exprs))) + +;; By Konrad Hinsen +(defmacro lazy-and-standard-branch + "Comile the first expression in the lazy branch of Clojure, and the second + one in the standard branch." + [lazy-expr standard-expr] + (if (find (ns-map (find-ns 'clojure.core)) 'lazy-seq) + lazy-expr + standard-expr)) |