Skip to content

Instantly share code, notes, and snippets.

@pervognsen
Created Mar 11, 2010
Embed
What would you like to do?
(defn cut [is xs]
(if (and (seq xs) (seq is))
(let [[ls rs] (split-at (first is) xs)]
(lazy-seq (cons ls (cut (rest is) rs))))
(when (seq xs) [xs])))
;; user> (cut [2 3] (range 10))
;; ((0 1) (2 3 4) (5 6 7 8 9))
;; user> (cut (repeat 2) (range 10))
;; ((0 1) (2 3) (4 5) (6 7) (8 9))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment