7 lines
266 KiB
Clojure
7 lines
266 KiB
Clojure
[[{:y 0, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 10, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 5 when in state :forest", :x 0, :altitude 13} {:y 0, :state :scrub, :x 1, :altitude 20, :gradient 28, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 0, :state :scrub, :x 2, :altitude 29, :gradient 35, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 0, :state :grassland, :x 3, :altitude 39, :gradient 43, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 0, :state :grassland, :x 4, :altitude 51, :gradient 48, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 0, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 51, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 5 when in state :forest", :x 5, :altitude 64} {:y 0, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 46, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 6, :altitude 73} {:y 0, :state :scrub, :x 7, :altitude 82, :gradient 44, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 0, :state :grassland, :x 8, :altitude 90, :gradient 40, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 0, :state :scrub, :x 9, :altitude 91, :gradient 38, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 0, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 40, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 10, :altitude 91} {:y 0, :state :grassland, :x 11, :altitude 88, :gradient 47, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 0, :state :scrub, :x 12, :altitude 81, :gradient 55, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 0, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 53, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 13, :altitude 69} {:y 0, :state :grassland, :x 14, :altitude 60, :gradient 54, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 0, :state :grassland, :x 15, :altitude 47, :gradient 51, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 0, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 46, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 16, :altitude 34} {:y 0, :state :grassland, :x 17, :altitude 23, :gradient 41, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 0, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 32, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 5 when in state :forest", :x 18, :altitude 12} {:y 0, :state :water, :x 19, :altitude 6, :gradient 12, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10}] [{:y 1, :state :grassland, :x 0, :altitude 19, :gradient 28, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 1, :state :grassland, :x 1, :altitude 29, :gradient 42, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 1, :state :scrub, :x 2, :altitude 41, :gradient 52, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 1, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 62, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 3, :altitude 55}
|
|
|
|
{:y 1, :state :forest, :x 4, :altitude 72, :gradient 74, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 1, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 76, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 5, :altitude 87} {:y 1, :state :scrub, :x 6, :altitude 102, :gradient 69, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 1, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 69, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 7, :altitude 110}
|
|
|
|
|
|
|
|
{:y 1, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 67, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 4 when in state :forest", :x 8, :altitude 117} {:y 1, :state :heath, :x 9, :altitude 122, :gradient 62, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 1, :state :grassland, :x 10, :altitude 128, :gradient 64, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 1, :state :heath, :x 11, :altitude 124, :gradient 71, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 1, :state :forest, :x 12, :altitude 113, :gradient 82, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 1, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 79, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 13, :altitude 101} {:y 1, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 82, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 6 when in state :forest", :x 14, :altitude 85} {:y 1, :state :grassland, :x 15, :altitude 69, :gradient 78, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 1, :state :grassland, :x 16, :altitude 53, :gradient 69, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 1, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 62, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 17, :altitude 38} {:y 1, :state :scrub, :x 18, :altitude 24, :gradient 48, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 1, :state :grassland, :x 19, :altitude 15, :gradient 30, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10}] [{:y 2, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 28, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 5 when in state :forest", :x 0, :altitude 27} {:y 2, :state :grassland, :x 1, :altitude 41, :gradient 49, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :scrub, :x 2, :altitude 55, :gradient 62, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 2, :state :scrub, :x 3, :altitude 72, :gradient 70, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 2, :state :scrub, :x 4, :altitude 91, :gradient 72, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 2, :state :forest, :x 5, :altitude 113, :gradient 70, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 2, :state :grassland, :x 6, :altitude 127, :gradient 63, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 7, :altitude 133, :gradient 58, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 8, :altitude 142, :gradient 57, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 9, :altitude 149, :gradient 50, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :heath, :x 10, :altitude 152, :gradient 45, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 2, :state :grassland, :x 11, :altitude 151, :gradient 54, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 12, :altitude 139, :gradient 64, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 13, :altitude 129, :gradient 73, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 81, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 14, :altitude 112} {:y 2, :state :grassland, :x 15, :altitude 92, :gradient 85, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 16, :altitude 74, :gradient 82, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 17, :altitude 54, :gradient 73, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 18, :altitude 36, :gradient 56, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 2, :state :grassland, :x 19, :altitude 23, :gradient 36, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10}] [{:y 3, :state :grassland, :x 0, :altitude 33, :gradient 26, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :grassland, :x 1, :altitude 47, :gradient 48, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :grassland, :x 2, :altitude 68, :gradient 59, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :scrub, :x 3, :altitude 91, :gradient 68, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 3, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 64, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 4, :altitude 111} {:y 3, :state :grassland, :x 5, :altitude 127, :gradient 57, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :heath, :x 6, :altitude 142, :gradient 48, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 3, :state :grassland, :x 7, :altitude 150, :gradient 44, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :heath, :x 8, :altitude 160, :gradient 59, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 3, :state :heath, :x 9, :altitude 167, :gradient 56, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 3, :state :heath, :x 10, :altitude 167, :gradient 49, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 3, :state :heath, :x 11, :altitude 165, :gradient 59, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 3, :state :grassland, :x 12, :altitude 158, :gradient 68, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :grassland, :x 13, :altitude 150, :gradient 63, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :grassland, :x 14, :altitude 138, :gradient 71, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :grassland, :x 15, :altitude 120, :gradient 78, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :scrub, :x 16, :altitude 97, :gradient 84, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 3, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 80, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 17, :altitude 71} {:y 3, :state :grassland, :x 18, :altitude 51, :gradient 66, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 3, :state :scrub, :x 19, :altitude 33, :gradient 42, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10}] [{:y 4, :state :grassland, :x 0, :altitude 36, :gradient 24, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 48, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 5 when in state :forest", :x 1, :altitude 53} {:y 4, :state :grassland, :x 2, :altitude 75, :gradient 54, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 55, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 3, :altitude 100} {:y 4, :state :grassland, :x 4, :altitude 123, :gradient 45, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :state :heath, :x 5, :altitude 136, :gradient 37, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 4, :state :grassland, :x 6, :altitude 148, :gradient 34, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :state :grassland, :x 7, :altitude 161, :gradient 31, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :state :grassland, :x 8, :altitude 171, :gradient 57, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :state :grassland, :x 9, :altitude 192, :gradient 62, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :state :grassland, :x 10, :altitude 198, :gradient 57, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :state :grassland, :x 11, :altitude 197, :gradient 64, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :state :heath, :x 12, :altitude 175, :gradient 64, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 4, :state :heath, :x 13, :altitude 163, :gradient 50, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 4, :state :heath, :x 14, :altitude 152, :gradient 53, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 4, :state :grassland, :x 15, :altitude 138, :gradient 66, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :state :scrub, :x 16, :altitude 116, :gradient 78, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 4, :state :grassland, :x 17, :altitude 89, :gradient 74, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 4, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 68, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 18, :altitude 65} {:y 4, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 43, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 19, :altitude 45}] [{:y 5, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 21, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 0, :altitude 37} {:y 5, :state :scrub, :x 1, :altitude 57, :gradient 45, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 5, :state :grassland, :x 2, :altitude 81, :gradient 48, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 5, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 49, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 3, :altitude 101} {:y 5, :state :heath, :x 4, :altitude 122, :gradient 45, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 5, :state :grassland, :x 5, :altitude 135, :gradient 34, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 5, :state :heath, :x 6, :altitude 147, :gradient 29, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 5, :state :heath, :x 7, :altitude 161, :gradient 29, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 5, :state :heath, :x 8, :altitude 173, :gradient 48, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 5, :state :snow, :x 9, :altitude 207, :gradient 53, :rule "if state is new and altitude is more than 200 then state should be snow", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (> (:altitude cell) 200)) (merge cell {:state :snow}))), :generation 10} {:y 5, :state :snow, :x 10, :altitude 222, :gradient 28, :rule "if state is new and altitude is more than 200 then state should be snow", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (> (:altitude cell) 200)) (merge cell {:state :snow}))), :generation 10} {:y 5, :state :snow, :x 11, :altitude 214, :gradient 47, :rule "if state is new and altitude is more than 200 then state should be snow", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (> (:altitude cell) 200)) (merge cell {:state :snow}))), :generation 10} {:y 5, :state :grassland, :x 12, :altitude 188, :gradient 52, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 5, :state :grassland, :x 13, :altitude 173, :gradient 36, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 5, :state :grassland, :x 14, :altitude 163, :gradient 37, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 5, :state :heath, :x 15, :altitude 149, :gradient 49, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 5, :state :heath, :x 16, :altitude 125, :gradient 63, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 5, :state :grassland, :x 17, :altitude 101, :gradient 68, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 5, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 63, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 18, :altitude 76} {:y 5, :state :heath, :x 19, :altitude 53, :gradient 38, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10}] [{:y 6, :state :heath, :x 0, :altitude 36, :gradient 27, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 6, :state :scrub, :x 1, :altitude 53, :gradient 51, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 6, :state :scrub, :x 2, :altitude 74, :gradient 55, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 6, :state :forest, :x 3, :altitude 91, :gradient 57, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 6, :state :scrub, :x 4, :altitude 114, :gradient 52, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 6, :state :grassland, :x 5, :altitude 132, :gradient 46, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 6, :state :heath, :x 6, :altitude 144, :gradient 42, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 6, :state :grassland, :x 7, :altitude 159, :gradient 39, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 6, :state :heath, :x 8, :altitude 169, :gradient 59, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 6, :state :snow, :x 9, :altitude 204, :gradient 64, :rule "if state is new and altitude is more than 200 then state should be snow", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (> (:altitude cell) 200)) (merge cell {:state :snow}))), :generation 10} {:y 6, :state :snow, :x 10, :altitude 220, :gradient 40, :rule "if state is new and altitude is more than 200 then state should be snow", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (> (:altitude cell) 200)) (merge cell {:state :snow}))), :generation 10} {:y 6, :state :snow, :x 11, :altitude 215, :gradient 38, :rule "if state is new and altitude is more than 200 then state should be snow", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (> (:altitude cell) 200)) (merge cell {:state :snow}))), :generation 10} {:y 6, :state :heath, :x 12, :altitude 187, :gradient 43, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 6, :state :heath, :x 13, :altitude 175, :gradient 25, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 6, :state :grassland, :x 14, :altitude 165, :gradient 26, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 6, :state :grassland, :x 15, :altitude 152, :gradient 41, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 6, :state :grassland, :x 16, :altitude 133, :gradient 52, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 6, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 58, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 6 when in state :forest", :x 17, :altitude 108} {:y 6, :state :grassland, :x 18, :altitude 83, :gradient 58, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 6, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 36, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 19, :altitude 59}] [{:y 7, :state :forest, :x 0, :altitude 30, :gradient 29, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 7, :state :grassland, :x 1, :altitude 46, :gradient 50, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 7, :state :forest, :x 2, :altitude 65, :gradient 54, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 7, :state :grassland, :x 3, :altitude 83, :gradient 62, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 7, :state :grassland, :x 4, :altitude 101, :gradient 55, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 7, :state :scrub, :x 5, :altitude 119, :gradient 58, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 7, :state :heath, :x 6, :altitude 134, :gradient 59, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 7, :state :grassland, :x 7, :altitude 148, :gradient 50, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 7, :state :heath, :x 8, :altitude 158, :gradient 70, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 7, :state :heath, :x 9, :altitude 182, :gradient 76, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 7, :state :heath, :x 10, :altitude 192, :gradient 65, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 7, :state :heath, :x 11, :altitude 195, :gradient 59, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 7, :state :heath, :x 12, :altitude 184, :gradient 50, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 7, :state :grassland, :x 13, :altitude 172, :gradient 28, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 7, :state :grassland, :x 14, :altitude 166, :gradient 25, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 7, :state :heath, :x 15, :altitude 153, :gradient 33, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 7, :state :grassland, :x 16, :altitude 134, :gradient 45, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 7, :state :scrub, :x 17, :altitude 111, :gradient 53, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 7, :state :scrub, :x 18, :altitude 89, :gradient 53, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 7, :state :scrub, :x 19, :altitude 63, :gradient 30, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10}] [{:y 8, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 29, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 0, :altitude 24} {:y 8, :state :scrub, :x 1, :altitude 37, :gradient 48, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 8, :state :forest, :x 2, :altitude 52, :gradient 55, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 8, :state :grassland, :x 3, :altitude 77, :gradient 58, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 8, :state :scrub, :x 4, :altitude 86, :gradient 65, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 8, :state :grassland, :x 5, :altitude 100, :gradient 68, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 8, :state :scrub, :x 6, :altitude 119, :gradient 59, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 8, :state :grassland, :x 7, :altitude 134, :gradient 49, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 8, :state :heath, :x 8, :altitude 144, :gradient 65, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 8, :state :heath, :x 9, :altitude 155, :gradient 69, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 8, :state :heath, :x 10, :altitude 161, :gradient 59, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 8, :state :grassland, :x 11, :altitude 166, :gradient 51, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 8, :state :grassland, :x 12, :altitude 166, :gradient 43, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 8, :state :heath, :x 13, :altitude 165, :gradient 33, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 8, :state :grassland, :x 14, :altitude 159, :gradient 28, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 8, :state :heath, :x 15, :altitude 150, :gradient 32, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 8, :state :heath, :x 16, :altitude 136, :gradient 43, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 8, :state :grassland, :x 17, :altitude 112, :gradient 49, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 8, :state :grassland, :x 18, :altitude 89, :gradient 49, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 8, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 26, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 19, :altitude 63}] [{:y 9, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 27, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 0, :altitude 17} {:y 9, :state :scrub, :x 1, :altitude 28, :gradient 42, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 9, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 58, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 5 when in state :forest", :x 2, :altitude 43} {:y 9, :state :grassland, :x 3, :altitude 54, :gradient 49, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 9, :state :grassland, :x 4, :altitude 66, :gradient 49, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 9, :state :forest, :x 5, :altitude 89, :gradient 59, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 9, :state :grassland, :x 6, :altitude 109, :gradient 57, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 9, :state :grassland, :x 7, :altitude 117, :gradient 49, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 9, :state :heath, :x 8, :altitude 123, :gradient 60, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 9, :state :grassland, :x 9, :altitude 136, :gradient 58, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 9, :state :grassland, :x 10, :altitude 144, :gradient 47, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 9, :state :heath, :x 11, :altitude 152, :gradient 44, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 9, :state :heath, :x 12, :altitude 155, :gradient 30, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 9, :state :heath, :x 13, :altitude 154, :gradient 25, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 9, :state :heath, :x 14, :altitude 151, :gradient 26, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 9, :state :heath, :x 15, :altitude 144, :gradient 26, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 9, :state :heath, :x 16, :altitude 135, :gradient 41, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 9, :state :grassland, :x 17, :altitude 110, :gradient 50, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 9, :state :grassland, :x 18, :altitude 87, :gradient 51, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 9, :state :grassland, :x 19, :altitude 63, :gradient 28, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10}] [{:y 10, :state :grassland, :x 0, :altitude 10, :gradient 22, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 10, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 37, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 6 when in state :forest", :x 1, :altitude 19} {:y 10, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 42, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 4 when in state :forest", :x 2, :altitude 37} {:y 10, :state :grassland, :x 3, :altitude 51, :gradient 41, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 10, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 46, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 5 when in state :forest", :x 4, :altitude 60} {:y 10, :state :forest, :x 5, :altitude 77, :gradient 49, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 10, :state :scrub, :x 6, :altitude 96, :gradient 40, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 10, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 42, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 7, :altitude 95} {:y 10, :state :forest, :x 8, :altitude 103, :gradient 55, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 10, :state :grassland, :x 9, :altitude 119, :gradient 58, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 10, :state :grassland, :x 10, :altitude 122, :gradient 58, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 10, :state :heath, :x 11, :altitude 136, :gradient 55, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 10, :state :heath, :x 12, :altitude 141, :gradient 40, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 10, :state :heath, :x 13, :altitude 145, :gradient 29, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 10, :state :grassland, :x 14, :altitude 147, :gradient 19, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 10, :state :grassland, :x 15, :altitude 139, :gradient 21, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 10, :state :grassland, :x 16, :altitude 133, :gradient 35, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 10, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 49, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 17, :altitude 109} {:y 10, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 49, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 18, :altitude 86} {:y 10, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 24, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 19, :altitude 61}] [{:y 11, :state :water, :x 0, :altitude 6, :gradient 16, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 11, :state :scrub, :x 1, :altitude 12, :gradient 34, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 11, :state :grassland, :x 2, :altitude 25, :gradient 39, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 11, :state :forest, :x 3, :altitude 43, :gradient 39, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 11, :state :grassland, :x 4, :altitude 60, :gradient 45, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 11, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 50, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 5, :altitude 80} {:y 11, :state :scrub, :x 6, :altitude 84, :gradient 45, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 11, :state :grassland, :x 7, :altitude 81, :gradient 46, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 11, :state :grassland, :x 8, :altitude 86, :gradient 59, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 11, :state :grassland, :x 9, :altitude 94, :gradient 45, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 11, :state :forest, :x 10, :altitude 100, :gradient 59, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 11, :state :grassland, :x 11, :altitude 115, :gradient 55, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 11, :state :heath, :x 12, :altitude 126, :gradient 39, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 11, :state :heath, :x 13, :altitude 135, :gradient 26, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 11, :state :grassland, :x 14, :altitude 141, :gradient 18, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 11, :state :heath, :x 15, :altitude 136, :gradient 22, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 11, :state :grassland, :x 16, :altitude 130, :gradient 30, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 11, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 47, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 6 when in state :forest", :x 17, :altitude 110} {:y 11, :state :scrub, :x 18, :altitude 86, :gradient 51, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 11, :state :scrub, :x 19, :altitude 63, :gradient 26, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10}] [{:y 12, :state :water, :x 0, :altitude 3, :gradient 15, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 12, :state :scrub, :x 1, :altitude 17, :gradient 23, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 12, :state :grassland, :x 2, :altitude 21, :gradient 34, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 12, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 48, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 3, :altitude 35} {:y 12, :state :grassland, :x 4, :altitude 46, :gradient 61, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 12, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 54, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 5, :altitude 51} {:y 12, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 54, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 6, :altitude 57} {:y 12, :state :heath, :x 7, :altitude 60, :gradient 46, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 12, :state :scrub, :x 8, :altitude 80, :gradient 47, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 12, :state :grassland, :x 9, :altitude 77, :gradient 31, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 12, :state :heath, :x 10, :altitude 86, :gradient 46, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 12, :state :grassland, :x 11, :altitude 106, :gradient 40, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 12, :state :heath, :x 12, :altitude 121, :gradient 29, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 12, :state :grassland, :x 13, :altitude 129, :gradient 20, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 12, :state :heath, :x 14, :altitude 138, :gradient 12, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 12, :state :heath, :x 15, :altitude 136, :gradient 16, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 12, :state :heath, :x 16, :altitude 125, :gradient 27, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 12, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 44, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 17, :altitude 112} {:y 12, :state :forest, :x 18, :altitude 87, :gradient 52, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 12, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 29, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 19, :altitude 64}] [{:y 13, :state :water, :x 0, :altitude 2, :gradient 16, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 13, :state :water, :x 1, :altitude 9, :gradient 20, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 13, :state :grassland, :x 2, :altitude 12, :gradient 30, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 13, :state :grassland, :x 3, :altitude 19, :gradient 37, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 13, :state :forest, :x 4, :altitude 44, :gradient 42, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 13, :state :grassland, :x 5, :altitude 30, :gradient 42, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 13, :state :scrub, :x 6, :altitude 40, :gradient 45, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 13, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 41, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 7, :altitude 47} {:y 13, :state :heath, :x 8, :altitude 73, :gradient 42, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 13, :state :grassland, :x 9, :altitude 69, :gradient 36, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 13, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 56, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 7 when in state :forest", :x 10, :altitude 86} {:y 13, :state :grassland, :x 11, :altitude 111, :gradient 39, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 13, :state :heath, :x 12, :altitude 121, :gradient 29, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 13, :state :heath, :x 13, :altitude 133, :gradient 19, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 13, :state :grassland, :x 14, :altitude 136, :gradient 11, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 13, :state :heath, :x 15, :altitude 137, :gradient 15, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 13, :state :grassland, :x 16, :altitude 129, :gradient 28, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 13, :state :scrub, :x 17, :altitude 115, :gradient 44, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 13, :state :grassland, :x 18, :altitude 92, :gradient 51, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 13, :state :grassland, :x 19, :altitude 68, :gradient 32, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10}] [{:y 14, :state :water, :x 0, :altitude 1, :gradient 8, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 14, :state :water, :x 1, :altitude 5, :gradient 11, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 14, :state :water, :x 2, :altitude 9, :gradient 18, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 14, :state :water, :x 3, :altitude 9, :gradient 38, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 14, :state :scrub, :x 4, :altitude 24, :gradient 38, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 14, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 31, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 4 when in state :forest", :x 5, :altitude 15} {:y 14, :state :grassland, :x 6, :altitude 39, :gradient 36, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 14, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 43, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 4 when in state :forest", :x 7, :altitude 49} {:y 14, :state :scrub, :x 8, :altitude 68, :gradient 66, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 14, :state :grassland, :x 9, :altitude 89, :gradient 56, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 14, :state :grassland, :x 10, :altitude 104, :gradient 58, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 14, :state :heath, :x 11, :altitude 125, :gradient 46, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 14, :state :grassland, :x 12, :altitude 125, :gradient 31, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 14, :state :heath, :x 13, :altitude 135, :gradient 26, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 14, :state :heath, :x 14, :altitude 140, :gradient 15, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 14, :state :heath, :x 15, :altitude 140, :gradient 19, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 14, :state :heath, :x 16, :altitude 131, :gradient 33, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 14, :state :grassland, :x 17, :altitude 115, :gradient 43, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 14, :state :heath, :x 18, :altitude 96, :gradient 53, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 14, :state :forest, :x 19, :altitude 74, :gradient 32, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10}] [{:y 15, :state :water, :x 0, :altitude 1, :gradient 4, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 15, :state :water, :x 1, :altitude 1, :gradient 8, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 15, :state :water, :x 2, :altitude 7, :gradient 8, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 15, :state :water, :x 3, :altitude 6, :gradient 19, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 15, :state :grassland, :x 4, :altitude 13, :gradient 18, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 15, :state :grassland, :x 5, :altitude 13, :gradient 31, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 15, :state :scrub, :x 6, :altitude 30, :gradient 48, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 15, :state :grassland, :x 7, :altitude 46, :gradient 55, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 15, :state :forest, :x 8, :altitude 65, :gradient 66, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 15, :state :heath, :x 9, :altitude 112, :gradient 60, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 15, :state :heath, :x 10, :altitude 121, :gradient 38, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 15, :state :heath, :x 11, :altitude 127, :gradient 32, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 15, :state :heath, :x 12, :altitude 132, :gradient 22, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 15, :state :heath, :x 13, :altitude 142, :gradient 28, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 15, :state :heath, :x 14, :altitude 147, :gradient 18, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 15, :state :grassland, :x 15, :altitude 148, :gradient 22, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 15, :state :grassland, :x 16, :altitude 135, :gradient 37, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 15, :state :grassland, :x 17, :altitude 121, :gradient 41, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 15, :state :grassland, :x 18, :altitude 100, :gradient 47, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 15, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 26, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 19, :altitude 76}] [{:y 16, :state :water, :x 0, :altitude 1, :gradient 2, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 16, :state :water, :x 1, :altitude 1, :gradient 6, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 16, :state :water, :x 2, :altitude 5, :gradient 6, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 16, :state :water, :x 3, :altitude 7, :gradient 10, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 16, :state :water, :x 4, :altitude 8, :gradient 10, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 16, :state :water, :x 5, :altitude 9, :gradient 25, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 16, :state :scrub, :x 6, :altitude 28, :gradient 48, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 16, :state :scrub, :x 7, :altitude 57, :gradient 61, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 16, :state :scrub, :x 8, :altitude 83, :gradient 66, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 16, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 60, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 9, :altitude 111} {:y 16, :state :grassland, :x 10, :altitude 125, :gradient 25, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 16, :state :grassland, :x 11, :altitude 125, :gradient 21, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 16, :state :heath, :x 12, :altitude 136, :gradient 27, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 16, :state :heath, :x 13, :altitude 147, :gradient 21, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 16, :state :heath, :x 14, :altitude 153, :gradient 10, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 16, :state :grassland, :x 15, :altitude 152, :gradient 18, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 16, :state :heath, :x 16, :altitude 137, :gradient 34, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 16, :state :heath, :x 17, :altitude 121, :gradient 41, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 16, :state :grassland, :x 18, :altitude 99, :gradient 51, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 16, :state :grassland, :x 19, :altitude 75, :gradient 30, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10}] [{:y 17, :state :water, :x 0, :altitude 1, :gradient 2, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 17, :state :water, :x 1, :altitude 3, :gradient 4, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 17, :state :water, :x 2, :altitude 3, :gradient 6, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 17, :state :water, :x 3, :altitude 3, :gradient 7, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 17, :state :water, :x 4, :altitude 5, :gradient 8, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 17, :state :grassland, :x 5, :altitude 10, :gradient 23, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 17, :state :grassland, :x 6, :altitude 24, :gradient 48, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 17, :state :grassland, :x 7, :altitude 46, :gradient 63, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 17, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 69, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 8, :altitude 85} {:y 17, :state :scrub, :x 9, :altitude 102, :gradient 52, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 17, :state :scrub, :x 10, :altitude 116, :gradient 38, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 17, :state :heath, :x 11, :altitude 123, :gradient 35, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 17, :state :heath, :x 12, :altitude 137, :gradient 29, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 17, :state :heath, :x 13, :altitude 150, :gradient 19, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 17, :state :heath, :x 14, :altitude 152, :gradient 13, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 17, :state :heath, :x 15, :altitude 148, :gradient 24, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 17, :state :heath, :x 16, :altitude 138, :gradient 41, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 17, :state :scrub, :x 17, :altitude 118, :gradient 50, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 17, :state :scrub, :x 18, :altitude 97, :gradient 55, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 17, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 33, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 6 when in state :forest", :x 19, :altitude 70}] [{:y 18, :state :water, :x 0, :altitude 1, :gradient 2, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 18, :state :water, :x 1, :altitude 1, :gradient 2, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 18, :state :water, :x 2, :altitude 1, :gradient 2, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 18, :state :water, :x 3, :altitude 3, :gradient 4, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 18, :state :water, :x 4, :altitude 5, :gradient 10, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 18, :state :grassland, :x 5, :altitude 11, :gradient 20, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 18, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 36, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 6 when in state :forest", :x 6, :altitude 22} {:y 18, :state :scrub, :x 7, :altitude 42, :gradient 64, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 18, :state :forest, :x 8, :altitude 73, :gradient 68, :rule "if state is scrub then 1 chance in 5 state should be forest", :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :generation 10} {:y 18, :state :grassland, :x 9, :altitude 87, :gradient 57, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 18, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 45, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 4 when in state :forest", :x 10, :altitude 102} {:y 18, :state :grassland, :x 11, :altitude 121, :gradient 42, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 18, :state :grassland, :x 12, :altitude 134, :gradient 38, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 18, :state :grassland, :x 13, :altitude 145, :gradient 26, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 18, :state :heath, :x 14, :altitude 145, :gradient 24, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 18, :state :heath, :x 15, :altitude 140, :gradient 34, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 18, :state :grassland, :x 16, :altitude 129, :gradient 47, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 18, :state :grassland, :x 17, :altitude 111, :gradient 59, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 18, :state :grassland, :x 18, :altitude 88, :gradient 63, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 18, :state :scrub, :x 19, :altitude 66, :gradient 42, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10}] [{:y 19, :state :water, :x 0, :altitude 1, :gradient 0, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 19, :state :water, :x 1, :altitude 1, :gradient 0, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 19, :state :water, :x 2, :altitude 1, :gradient 2, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 19, :state :water, :x 3, :altitude 1, :gradient 4, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 19, :state :water, :x 4, :altitude 4, :gradient 10, :rule "if state is new and altitude is less than 10 then state should be water", :lisp (fn [cell world] (when (and (= (:state cell) (or (:new cell) :new)) (< (:altitude cell) 10)) (merge cell {:state :water}))), :generation 10} {:y 19, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 18, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 9 when in state :forest", :x 5, :altitude 11} {:y 19, :state :scrub, :x 6, :altitude 21, :gradient 31, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 19, :state :grassland, :x 7, :altitude 34, :gradient 52, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 19, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 53, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 8, :altitude 59} {:y 19, :generation 9, :lisp (fn [cell world] (when (= (:state cell) (or (:scrub cell) :scrub)) (if (< (rand 5) 1) (merge cell {:state :forest})))), :rule "if state is scrub then 1 chance in 5 state should be forest", :state :error, :gradient 43, :stacktrace ("clojure.lang.Numbers.ops(Numbers.java:1095)" "clojure.lang.Numbers.gt(Numbers.java:261)" "clojure.lang.Numbers.gt(Numbers.java:3967)" "mw_desktop.core$eval9735$fn__9736.invoke(492c9e7d63cf6a02a8ff13d60211a48a8b57468b-init.clj:1)" "clojure.lang.AFn.applyToHelper(AFn.java:156)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.core$apply_rule.invokeStatic(core.clj:61)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rule.invokeStatic(core.clj:63)" "mw_engine.core$apply_rule.invoke(core.clj:52)" "mw_engine.core$apply_rules$fn__7798.invoke(core.clj:75)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core$filter$fn__5962.invoke(core.clj:2826)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.LazySeq.first(LazySeq.java:73)" "clojure.lang.RT.first(RT.java:692)" "clojure.core$first__5449.invokeStatic(core.clj:55)" "clojure.core$first__5449.invoke(core.clj:55)" "mw_engine.core$apply_rules.invokeStatic(core.clj:75)" "mw_engine.core$apply_rules.invoke(core.clj:68)" "mw_engine.core$transform_cell.invokeStatic(core.clj:88)" "mw_engine.core$transform_cell.invoke(core.clj:82)" "clojure.lang.AFn.applyToHelper(AFn.java:160)" "clojure.lang.AFn.applyTo(AFn.java:144)" "clojure.core$apply.invokeStatic(core.clj:667)" "clojure.core$apply.invoke(core.clj:662)" "mw_engine.utils$map_world$fn__3446$fn__3447.invoke(utils.clj:113)" "clojure.core$map$fn__5935.invoke(core.clj:2770)" "clojure.lang.LazySeq.sval(LazySeq.java:42)" "clojure.lang.LazySeq.seq(LazySeq.java:51)" "clojure.lang.RT.seq(RT.java:535)" "clojure.core$seq__5467.invokeStatic(core.clj:139)" "clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)" "clojure.core.protocols$fn__8236.invokeStatic(protocols.clj:75)" "clojure.core.protocols$fn__8236.invoke(protocols.clj:75)" "clojure.core.protocols$fn__8178$G__8173__8191.invoke(protocols.clj:13)" "clojure.core$reduce.invokeStatic(core.clj:6886)" "clojure.core$into.invokeStatic(core.clj:6958)" "clojure.core$into.invoke(core.clj:6950)" "mw_engine.utils$map_world$fn__3446.invoke(utils.clj:112)" "clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)" "clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)" "clojure.lang.AFn.call(AFn.java:18)" "java.util.concurrent.FutureTask.run(FutureTask.java:266)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"), :error "null at generation 8 when in state :forest", :x 9, :altitude 78} {:y 19, :state :grassland, :x 10, :altitude 95, :gradient 43, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 19, :state :scrub, :x 11, :altitude 112, :gradient 39, :rule "if state is heath and altitude is less than 120 then state should be scrub", :lisp (fn [cell world] (when (and (= (:state cell) (or (:heath cell) :heath)) (< (:altitude cell) 120)) (merge cell {:state :scrub}))), :generation 10} {:y 19, :state :heath, :x 12, :altitude 126, :gradient 33, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 19, :state :heath, :x 13, :altitude 134, :gradient 19, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 19, :state :grassland, :x 14, :altitude 134, :gradient 17, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 19, :state :heath, :x 15, :altitude 128, :gradient 27, :rule "if state is grassland then 1 chance in 10 state should be heath", :lisp (fn [cell world] (when (= (:state cell) (or (:grassland cell) :grassland)) (if (< (rand 10) 1) (merge cell {:state :heath})))), :generation 10} {:y 19, :state :grassland, :x 16, :altitude 118, :gradient 39, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 19, :state :grassland, :x 17, :altitude 101, :gradient 50, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 19, :state :grassland, :x 18, :altitude 79, :gradient 56, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10} {:y 19, :state :grassland, :x 19, :altitude 55, :gradient 22, :rule "if state is new then state should be grassland", :lisp (fn [cell world] (when (= (:state cell) (or (:new cell) :new)) (merge cell {:state :grassland}))), :generation 10}]] |