   [& msg]
   (throw (#+clj java.lang.Exception. #+cljs js/Error.
                 (apply str msg))))
-
-
 
 (def ^:dynamic *print-warnings*
   "If `*print-warnings*` is truthy, warning messages are printed to

(defmethod print-method Env [env writer]
  (.write writer (str "#" (print-str (class env)) "{:frames " (frames env) "}")))

(defn env-value
  "Return the value at position `[frame slot]` in `vm-state`'s
  environment.  This is similar to `(get-in env [frame slot])` but

  machine."
  (:require #+cljs [cljs.reader :as reader]
            ;; Maybe use clojure.core/read-string for Clojure?
            ;; #+clj [clojure.edn :as reader]
            #+clj [clojure.tools.reader :as reader]
            #+clj [clojure.pprint :as pprint]))


