A once-in-a-lifetime REPL. Keep it alive, but do improve it. We're all in the same REPL.
Since the rules and state changes constantly, you're better off looking at https://livingthing.club to see the latest updates.
Have leiningen installed. Run lein repl
. Inside the REPL, execute (-main)
(defn unix-epoch-to-human [t]
(java.time.Instant/ofEpochMilli
(* 1000 t)))
(def max-size 700)
(defn $command-list-item [{:keys [execution-results
executed-at from
cmd from votes]}]
[:div
[:strong
"From user user "
from
" at "
(unix-epoch-to-human executed-at)]
[:div "Received " votes " votes"]
[:pre cmd]
[:div "Output"]
[:pre (str execution-results)]])
(defn $wrapper [req]
[:div#wrapper
[:h1
"LivingThing.club"
[:span
{:style "color: grey; font-size: 14px;"}
" aka \"Humanity Codes Clojure\""]]
[:h2
"Current server time: "
(unix-epoch-to-human (:current-time @app-state))
" (round " (:current-round @app-state) ")"]
[:div
{:style "width: 50%; float: left;"}
($section-header "How LivingThing works")
[:div
{:style "font-family: serif; max-width: 700px;"}
($intro-message)]]
[:div
{:style "width: 50%; float: right;"}
($pending-vote-list req)
($submit-command)
($command-list)]])