diff options
Diffstat (limited to 'src/clojure/contrib/cond.clj')
-rw-r--r-- | src/clojure/contrib/cond.clj | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/clojure/contrib/cond.clj b/src/clojure/contrib/cond.clj deleted file mode 100644 index 0ae8ca06..00000000 --- a/src/clojure/contrib/cond.clj +++ /dev/null @@ -1,34 +0,0 @@ -;; Copyright (c) Stephen C. Gilardi. All rights reserved. The use and -;; distribution terms for this software are covered by the Eclipse Public -;; License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can -;; be found in the file epl-v10.html at the root of this distribution. By -;; using this software in any fashion, you are agreeing to be bound by the -;; terms of this license. You must not remove this notice, or any other, -;; from this software. -;; -;; File: cond.clj -;; -;; scgilardi (gmail) -;; 2 October 2008 - -(ns #^{:author "Stephen C. Gilardi" - :doc "Extensions to the basic cond function."} - clojure.contrib.cond) - -(defmacro cond-let - "Takes a binding-form and a set of test/expr pairs. Evaluates each test - one at a time. If a test returns logical true, cond-let evaluates and - returns expr with binding-form bound to the value of test and doesn't - evaluate any of the other tests or exprs. To provide a default value - either provide a literal that evaluates to logical true and is - binding-compatible with binding-form, or use :else as the test and don't - refer to any parts of binding-form in the expr. (cond-let binding-form) - returns nil." - [bindings & clauses] - (let [binding (first bindings)] - (when-let [[test expr & more] clauses] - (if (= test :else) - expr - `(if-let [~binding ~test] - ~expr - (cond-let ~bindings ~@more)))))) |