(meditations
  "There is a wide range of ways to generate a sequence"
  (= __ (range 1 5))

  "The range starts at the beginning by default"
  (= __ (range 5))

  "It's important to only take what you need from a big sequence"
  (= [0 1 2 3 4 5 6 7 8 9]
     (take __ (range 100)))

  "You can also limit results by dropping what you don't need"
  (= [95 96 97 98 99]
     (drop __ (range 100)))

  "Iteration provides an infinite lazy sequence"
  (= __ (take 20 (iterate inc 0)))

  "Repetition is key"
  (= [:a :a :a :a :a :a :a :a :a :a ]
     (repeat 10 __))

  "Iteration can be used for repetition"
  (= (repeat 100 :foo)
     (take 100 (iterate ___ :foo))))

(meditations
  "There is a wide range of ways to generate a sequence"
  (= '(1 2 3 4) (range 1 5))

  "The range starts at the beginning by default"
  (= '(0 1 2 3 4) (range 5))

  "It's important to only take what you need from a big sequence"
  (= [0 1 2 3 4 5 6 7 8 9]
     (take 10 (range 100)))

  "You can also limit results by dropping what you don't need"
  (= [95 96 97 98 99]
     (drop 95 (range 100)))

  "Iteration provides an infinite lazy sequence"
  (= (range 0 20) (take 20 (iterate inc 0)))

  "Repetition is key"
  (= [:a :a :a :a :a :a :a :a :a :a ]
     (repeat 10 :a))

  "Iteration can be used for repetition"
  (= (repeat 100 :foo)
     (take 100 (iterate identity :foo))))

Complete lazy sequences koans test
Complete lazy sequences koans test

darkrodry/3languages2months,darkrodry/3languages2months,darkrodry/3languages2months,darkrodry/3languages2months