diff --git a/README.md b/README.md index 4ddee61..2670e33 100644 --- a/README.md +++ b/README.md @@ -66,18 +66,18 @@ Since `matchbot` uses Clojure's [tools.deps library](https://clojure.org/guides/ You can create, start and stop an instance of the chatbot process with the functions in the `system` namespace: ``` clojure -;; creating a new instance -(def my-instance (atom (system/system))) +;; creating a new instance - an empty Var +(def my-instance nil) ;; starting the instance -(swap! my-instance system/start) +(alter-var-root #'my-instance system/start) ;; restarting the instance -(system/restart my-instance) +(system/restart #'my-instance) ;; stopping and resetting the instance -(swap! my-instance stop) -(reset! my-instance (system/system)) +(alter-var-root #'my-instance system/stop) +(alter-var-root #'my-instance (constantly nil)) ``` Once you are familiar with nREPL, you can additionally use [tools.namespace.repl](https://github.com/clojure/tools.namespace) to make reevaluating (reloading) your changes easier: diff --git a/src/system.clj b/src/system.clj index d675a26..e317eea 100644 --- a/src/system.clj +++ b/src/system.clj @@ -55,11 +55,11 @@ (deref (:state system))) (irclj.core/quit (system :irc)))) -(defn restart [system-atom] +(defn restart [system-var] (do - (swap! system-atom stop) - (reset! system-atom (system)) - (swap! system-atom start))) + (alter-var-root system-var stop) + (alter-var-root system-var (constantly system)) + (alter-var-root system-var start))) (defn -main [& args] (let [main-system (system/start nil)]