Skip to content

Instantly share code, notes, and snippets.

@trptcolin
Created November 27, 2010 10:06
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 trptcolin/717761 to your computer and use it in GitHub Desktop.
Save trptcolin/717761 to your computer and use it in GitHub Desktop.
(defn seq1 [#^clojure.lang.ISeq s]
(reify clojure.lang.ISeq
(first [_] (.first s))
(more [_] (seq1 (.more s)))
(next [_] (let [sn (.next s)] (and sn (seq1 sn))))
(seq [_] (let [ss (.seq s)] (and ss (seq1 ss))))
(count [_] (.count s))
(cons [_ o] (.cons s o))
(empty [_] (.empty s))
(equiv [_ o] (.equiv s o))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment