Skip to content

Instantly share code, notes, and snippets.

@tomjack
Created May 8, 2010 00:36
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 tomjack/12c68e4e194f2477313d to your computer and use it in GitHub Desktop.
Save tomjack/12c68e4e194f2477313d to your computer and use it in GitHub Desktop.
(defn partition-by*
[f coll]
(lazy-seq
(when-let [s (seq coll)]
(let [fst (first s)
fv (f fst)
[run remaining] (split-with #(= fv (f %)) (rest s))]
(cons (cons fst run) (partition-by f remaining))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment