23 lines
397 B
Clojure
23 lines
397 B
Clojure
(def rules
|
|
{
|
|
[0 0 0] 0
|
|
[0 0 1] 0
|
|
[0 1 0] 0
|
|
[0 1 1] 1
|
|
[1 0 0] 0
|
|
[1 0 1] 1
|
|
[1 1 0] 1
|
|
[1 1 1] 0
|
|
})
|
|
|
|
(defn nextgen [gen]
|
|
(concat [0]
|
|
(->> gen
|
|
(partition 3 1)
|
|
(map vec)
|
|
(map rules))
|
|
[0]))
|
|
|
|
; Output time!
|
|
(doseq [g (take 10 (iterate nextgen [0 1 1 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0]))]
|
|
(println g))
|