((second (iterate (partial comp inc) inc)) 1)
3
(let [xs [1 2 3 4 5]] (map vector (range) xs (iterate pop xs) (iterate rest xs)))
([0 1 [1 2 3 4 5] [1 2 3 4 5]] [1 2 [1 2 3 4] (2 3 4 5)] [2 3 [1 2 3] (3 4 5)] [3 4 [1 2] (4 5)] [4 5 [1] (5)])
(take 4 (#(map (fn [i _] (take i %)) (iterate inc 1) %) (iterate inc 1)))
((1) (1 2) (1 2 3) (1 2 3 4))
(take-while (partial > 1000) (iterate inc 0))
(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 1...
(take 10 (filter odd? (iterate inc 0)))
(1 3 5 7 9 11 13 15 17 19)
(meta (with-meta (iterate inc 1) {:type ::foo}))
{:type :user/foo}
(let [[a b] (iterate inc 1)] a)
1
(take 10 (filter even? (iterate inc 0)))
(0 2 4 6 8 10 12 14 16 18)
(take 1 (map print (iterate inc 0)))
(nil)
"0"
(reduce + (take 10 (iterate inc 1)))
55
(def myseq (map constantly (iterate inc 0)))
#'user/myseq
(take 3 (iterate (partial + 1) 0))
(0 1 2)
(take 5 (iterate #(conj % 10) []))
([] [10] [10 10] [10 10 10] [10 10 10 10])
(take-while #(< % 10) (iterate inc 1))
(1 2 3 4 5 6 7 8 9)
(partition 4 4 (take 15 (iterate inc 1)))
((1 2 3 4) (5 6 7 8) (9 10 11 12))
(nth (iterate #(remove identity %) [1]) 1000)
()
(def naturals ((fn [x] (iterate inc x)) 1))
#'user/naturals
(reverse (take-while (partial > 10) (iterate inc 0)))
(9 8 7 6 5 4 3 2 1 0)
(take 10 (iterate #(+ 1 %) 1))
(1 2 3 4 5 6 7 8 9 10)
(take-while #(< % 30) (iterate inc 0))
(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29)
(take 5 (map + (range) (iterate inc 1)))
(1 3 5 7 9)
(interleave (take 10 (iterate inc 1)) (repeat 3))
(1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 10 3)
(second (first (doall [(iterate inc 0) [1 2]])))
1
(nth (iterate #(concat nil % []) [1]) 10)
(1)
(take 10 (iterate #(/ % 10) 0.1))
(0.1 0.01 0.001 1.0E-4 1.0E-5 1.0000000000000002E-6 1.0000000000000002E-7 1.0000000000000002E-8 1.0000000000000003E-9 1.0000000000000003E-10)
(do (next (map println (iterate inc 0))) nil)
nil
"0\n1\n"
(take 8 (iterate #(* 3 %) 5))
(5 15 45 135 405 1215 3645 10935)
(last (reductions + (take 10 (iterate inc 1))))
55
(take-while #(< % 5) (iterate inc 1))
(1 2 3 4)
(nth (iterate #(* 2 %) 1) 5)
32
(take 5 (iterate #(conj % (rand-int 10)) []))
([] [4] [4 1] [4 1 2] [4 1 2 9])
(zipmap (iterate inc 0) '(a b c))
{0 a, 1 b, 2 c}
(def triangles (lazy-seq (reductions + (iterate inc 1))))
#'user/triangles
(take 10 (reductions * 1 (iterate inc 1)))
(1 1 2 6 24 120 720 5040 40320 362880)
(take 10 (iterate #(+ 4 %) 0))
(0 4 8 12 16 20 24 28 32 36)
(let [f (nth (iterate constantly 42) 10)] ((((((((((f)))))))))))
42
(= (range 20) (take 20 (iterate inc 0)))
true
(take-while seq (iterate rest '(1 2 3)))
((1 2 3) (2 3) (3))
(nth (iterate #(* 2 %) 1) 6)
64
(nth (iterate (partial list 1) '(1)) 10)
(1 (1 (1 (1 (1 (1 (1 (1 (1 (1 (1)))))))))))
(take 10 (first (partition-by identity (iterate identity 1))))
(1 1 1 1 1 1 1 1 1 1)
(def myvar (iterate (partial + 2) (rand-int 10)))
#'user/myvar
(apply (fn [& _] 1) (iterate inc 0))
1
(binding [*print-level* 2] (take 10 (iterate list 1)))
(1 (1) ((1)) (((1))) ((((1)))) (((((1))))) ((((((1)))))) (((((((1))))))) ((((((((1)))))))) (((((((((1))))))))))
(last (take 10 (reductions + (iterate inc 1))))
55
(take 5 (iterate #(+ % 1.5) 0))
(0 1.5 3.0 4.5 6.0)
(take-while identity (iterate next [1 2 3 4]))
([1 2 3 4] (2 3 4) (3 4) (4))
(take 5 (iterate #(get get %) get))
(#object [clojure.core$get 0x3f888abb "clojure.core$get@3f888abb"] nil nil nil nil)
(map vector [:a :b :c] (iterate inc 0))
([:a 0] [:b 1] [:c 2])
(partition 4 1 (take 15 (iterate inc 1)))
((1 2 3 4) (2 3 4 5) (3 4 5 6) (4 5 6 7) (5 6 7 8) (6 7 8 9) (7 8 9 10) (8 9 10 11) (9 10 11 12) (10 11 12 13) (11 12 13 14) (12 13 14 15))