Logging rule errors.
This commit is contained in:
parent
68298cf9c1
commit
321e6edd9a
|
@ -1,171 +0,0 @@
|
||||||
; This is the Calva evaluation results output window.
|
|
||||||
; TIPS: The keyboard shortcut `ctrl+alt+o o` shows and focuses this window
|
|
||||||
; when connected to a REPL session.
|
|
||||||
; Please see https://calva.io/output/ for more info.
|
|
||||||
; Happy coding! ♥️
|
|
||||||
|
|
||||||
; Connecting ...
|
|
||||||
; Reading port file: file:///Users/simon/workspace/MicroWorld/mw-engine/.nrepl-port ...
|
|
||||||
; Using host:port localhost:58100 ...
|
|
||||||
; Hooking up nREPL sessions ...
|
|
||||||
; Connected session: clj
|
|
||||||
; TIPS:
|
|
||||||
; - You can edit the contents here. Use it as a REPL if you like.
|
|
||||||
; - `alt+enter` evaluates the current top level form.
|
|
||||||
; - `ctrl+enter` evaluates the current form.
|
|
||||||
; - `alt+up` and `alt+down` traverse up and down the REPL command history
|
|
||||||
; when the cursor is after the last contents at the prompt
|
|
||||||
; - Clojure lines in stack traces are peekable and clickable.
|
|
||||||
; Evaluating code from settings: 'calva.autoEvaluateCode.onConnect.clj'
|
|
||||||
nil
|
|
||||||
clj꞉user꞉> ; Use `alt+enter` to evaluate
|
|
||||||
clj꞉user꞉>
|
|
||||||
nil
|
|
||||||
; WARNING: abs already refers to: #'clojure.core/abs in namespace: mw-engine.utils, being replaced by: #'mw-engine.utils/abs
|
|
||||||
clj꞉mw-engine.core꞉>
|
|
||||||
nil
|
|
||||||
clj꞉mw-engine.core꞉>
|
|
||||||
#'mw-engine.core/apply-rule
|
|
||||||
clj꞉mw-engine.core꞉>
|
|
||||||
#'mw-engine.core/apply-rules
|
|
||||||
clj꞉mw-engine.core꞉>
|
|
||||||
#'mw-engine.core/transform-cell
|
|
||||||
clj꞉mw-engine.core꞉>
|
|
||||||
#'mw-engine.core/transform-world
|
|
||||||
clj꞉mw-engine.core꞉>
|
|
||||||
#'mw-engine.core/run-world
|
|
||||||
clj꞉mw-engine.core꞉>
|
|
||||||
#'mw-engine.display/*image-base*
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
; Syntax error compiling at (src/cljc/mw_engine/display.clj:32:1).
|
|
||||||
; Unable to resolve symbol: defn in this context
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
; Syntax error compiling at (src/cljc/mw_engine/display.clj:32:1).
|
|
||||||
; Unable to resolve symbol: defn in this context
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
nil
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
#'mw-engine.display/*image-base*
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
#'mw-engine.display/format-css-class
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
#'mw-engine.display/format-image-path
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
#'mw-engine.display/format-mouseover
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
#'mw-engine.display/render-cell
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
#'mw-engine.display/render-world-row
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
#'mw-engine.display/render-world-table
|
|
||||||
clj꞉mw-engine.display꞉>
|
|
||||||
nil
|
|
||||||
; WARNING: abs already refers to: #'clojure.core/abs in namespace: mw-engine.heightmap, being replaced by: #'mw-engine.utils/abs
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/*sealevel*
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/flow
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/rainfall
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/rain-row
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/rain-world
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/flow-contributors
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/is-hollow
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/flood-hollow
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/flood-hollows
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/max-altitude
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/flow-nr
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/flow
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/flow-world-nr
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/flow-world
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/explore-lake
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/is-lake?
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/find-lakes
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/run-drainage
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
#'mw-engine.drainage/run-drainage
|
|
||||||
clj꞉mw-engine.drainage꞉>
|
|
||||||
nil
|
|
||||||
clj꞉mw-engine.heightmap꞉>
|
|
||||||
#'mw-engine.heightmap/tag-property
|
|
||||||
clj꞉mw-engine.heightmap꞉>
|
|
||||||
#'mw-engine.heightmap/tag-gradient
|
|
||||||
clj꞉mw-engine.heightmap꞉>
|
|
||||||
#'mw-engine.heightmap/tag-gradients
|
|
||||||
clj꞉mw-engine.heightmap꞉>
|
|
||||||
#'mw-engine.heightmap/tag-altitude
|
|
||||||
clj꞉mw-engine.heightmap꞉>
|
|
||||||
#'mw-engine.heightmap/apply-heightmap
|
|
||||||
clj꞉mw-engine.heightmap꞉>
|
|
||||||
nil
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/member?
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/get-int-or-zero
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/in-bounds
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/in-bounds?
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/map-world-n-n
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/map-world-p-p
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/map-world
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/get-cell
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/get-int
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/population
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/memo-get-neighbours
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/get-neighbours
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/get-neighbours-with-property-value
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/get-neighbours-with-state
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/get-least-cell
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/set-cell-property
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/set-property
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
#'mw-engine.utils/merge-cell
|
|
||||||
clj꞉mw-engine.utils꞉>
|
|
||||||
nil
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
#'mw-engine.world/make-cell
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
#'mw-engine.world/make-world-row
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
#'mw-engine.world/make-world-rows
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
#'mw-engine.world/make-world
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
#'mw-engine.world/truncate-state
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
#'mw-engine.world/format-cell
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
#'mw-engine.world/format-world-row
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
#'mw-engine.world/print-world
|
|
||||||
clj꞉mw-engine.world꞉>
|
|
||||||
; nREPL Connection was closed
|
|
|
@ -82,16 +82,17 @@
|
||||||
(apply-rules world cell rules)
|
(apply-rules world cell rules)
|
||||||
{:generation (+ (get-int-or-zero cell :generation) 1)})
|
{:generation (+ (get-int-or-zero cell :generation) 1)})
|
||||||
(catch Exception e
|
(catch Exception e
|
||||||
(merge cell {:error
|
(let [narrative (format "%s with message `%s` at generation %d when in state %s"
|
||||||
(format "%s with message `%s` at generation %d when in state %s"
|
(-> e .getClass .getName)
|
||||||
(-> e .getClass .getName)
|
(.getMessage e)
|
||||||
(.getMessage e)
|
(:generation cell)
|
||||||
(:generation cell)
|
(:state cell))]
|
||||||
(:state cell))
|
(l/warn e narrative)
|
||||||
|
(merge cell {:error narrative
|
||||||
:stacktrace ;; (remove #(starts-with? % "clojure.")
|
:stacktrace ;; (remove #(starts-with? % "clojure.")
|
||||||
(map #(.toString %) (.getStackTrace e))
|
(map #(.toString %) (.getStackTrace e))
|
||||||
;;)
|
;;)
|
||||||
:state :error}))))
|
:state :error})))))
|
||||||
|
|
||||||
(defn transform-world
|
(defn transform-world
|
||||||
"Return a world derived from this `world` by applying the production rules
|
"Return a world derived from this `world` by applying the production rules
|
||||||
|
|
Loading…
Reference in a new issue