Search code examples
clojurespyscope

Spyscope Java RuntimeException No reader function for tag spy/p


I'm trying out spyscope, and following the documented example, I'm getting:

user=>  (take 20 (repeat #spy/d (+ 1 2 3)))

RuntimeException No reader function for tag spy/d  clojure.lang.LispReader$CtorReader.readTagged (LispReader.java:1245)
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException (Util.java:221)
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException (Util.java:221)

My ~/.lein/profile.clj is:

{:user {:dependencies [[spyscope "0.1.6"]]
        :injections [(require 'spyscope.core)
                     (use 'clojure.tools.trace)]

        :plugins [[lein-try "0.4.3"]]
        }
 }

My version of Leiningen is:

$ lein --version
Leiningen 2.8.1 on Java 1.8.0_212 OpenJDK 64-Bit Server VM

I can't seem to find any answers on how to resolve this.


Solution

  • Answering my own question to make it easier for the next person to looking for the solution.

    The answer can be traced to [this issue]: (https://github.com/dgrnbrg/spyscope/issues/8)

    Lein 2 allows users to fire lein repl in a non project directory and that's the case

    You have to use spyscope within a directory with a project.clj file.