aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonrad Hinsen <konrad.hinsen@laposte.net>2009-03-02 17:59:18 +0000
committerKonrad Hinsen <konrad.hinsen@laposte.net>2009-03-02 17:59:18 +0000
commit3fd57b7681bd25d6d97e55441593f1e838f6c2af (patch)
treec7de935ccd83f57f4e5606a2c99c1e16b7cf0da7
parentadef4d0980992077b804796f80cceb7b5f9ee780 (diff)
seq-utils: new multimethod seq-on
-rw-r--r--src/clojure/contrib/seq_utils.clj14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/clojure/contrib/seq_utils.clj b/src/clojure/contrib/seq_utils.clj
index d6f73d6e..d46a57e7 100644
--- a/src/clojure/contrib/seq_utils.clj
+++ b/src/clojure/contrib/seq_utils.clj
@@ -1,7 +1,7 @@
;;; seq_utils.clj -- Sequence utilities for Clojure
;; by Stuart Sierra, http://stuartsierra.com/
-;; last updated January 10, 2009
+;; last updated March 2, 2009
;; Copyright (c) Stuart Sierra, 2008. All rights reserved. The use
;; and distribution terms for this software are covered by the Eclipse
@@ -147,3 +147,15 @@
"Return a random element of this seq"
[s]
(nth s (rand-int (count s))))
+
+
+;; seq-on writte by Konrad Hinsen
+(defmulti seq-on
+ "Returns a seq on the object s. Works like the built-in seq but as
+ a multimethod that can have implementations for new classes and types."
+ {:arglists '([s])}
+ type)
+
+(defmethod seq-on :default
+ [s]
+ (seq s))