diff options
author | Konrad Hinsen <konrad.hinsen@laposte.net> | 2009-02-23 12:40:21 +0000 |
---|---|---|
committer | Konrad Hinsen <konrad.hinsen@laposte.net> | 2009-02-23 12:40:21 +0000 |
commit | 6a59026ea72fcd1ec1d0465326d97e23ed37e4cd (patch) | |
tree | ff5d1047f286b3e02d4b6803d3c78fef601b2f25 /src/clojure/contrib | |
parent | 5c68bc277d17e3dcdfef7ea6e79402ec7a190044 (diff) |
macros and monads/examples: removed lazy-cons-based code
Diffstat (limited to 'src/clojure/contrib')
-rw-r--r-- | src/clojure/contrib/macros.clj | 9 | ||||
-rw-r--r-- | src/clojure/contrib/monads/examples.clj | 15 |
2 files changed, 3 insertions, 21 deletions
diff --git a/src/clojure/contrib/macros.clj b/src/clojure/contrib/macros.clj index 5820e48e..e58892c4 100644 --- a/src/clojure/contrib/macros.clj +++ b/src/clojure/contrib/macros.clj @@ -26,12 +26,3 @@ (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)) diff --git a/src/clojure/contrib/monads/examples.clj b/src/clojure/contrib/monads/examples.clj index 7c11fbc2..96632097 100644 --- a/src/clojure/contrib/monads/examples.clj +++ b/src/clojure/contrib/monads/examples.clj @@ -7,7 +7,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (ns clojure.contrib.monads.examples - (:use [clojure.contrib.macros :only (lazy-and-standard-branch)]) (:use clojure.contrib.monads) (:require (clojure.contrib [accumulators :as accu]))) @@ -151,18 +150,10 @@ ; We define a convenience function that creates an infinite lazy seq ; of values obtained from iteratively applying a state monad value. -(lazy-and-standard-branch - - (defn value-seq [f seed] - (lazy-seq - (let [[value next] (f seed)] - (cons value (value-seq f next))))) - - (defn value-seq [f seed] +(defn value-seq [f seed] + (lazy-seq (let [[value next] (f seed)] - (lazy-cons value (value-seq f next)))) - -) + (cons value (value-seq f next))))) ; Next, we define basic statistics functions to check our random numbers (defn sum [xs] (apply + xs)) |