Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not possible to evaluate forms after (specific) error #33

Closed
jlesquembre opened this issue May 10, 2019 · 7 comments
Closed

Not possible to evaluate forms after (specific) error #33

jlesquembre opened this issue May 10, 2019 · 7 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@jlesquembre
Copy link
Contributor

deps.edn:

{:deps {org.clojure/test.check {:mvn/version "0.10.0-alpha4"}}}

If I evaluate this code:

(require '[clojure.test.check.generators :as gen])
(gen/sample (gen/bind gen/int #(gen/tuple %)))

I don't see any error on Conjure's buffer, and Conjure blocks. I cannot evaluate more forms, unless I reconnect with the command :ConjureAdd {:tag :jvm :port 5555}

If I evaluate the same code with clj shell I get the proper error:

user=> (gen/sample (gen/bind gen/int #(gen/tuple %)))
Error printing return value (AssertionError) at clojure.test.check.generators/tuple (generators.cljc:516).
Assert failed: Args to tuple must be generators
(every? generator? generators)

Logs

19-05-10 16:02:48 beta INFO [conjure.dev:15] - Logging initialised
19-05-10 16:02:48 beta INFO [conjure.rpc:142] - Starting RPC TCP server on port 41415
19-05-10 16:02:48 beta INFO [conjure.rpc:160] - Starting RPC loops
19-05-10 16:02:48 beta INFO [conjure.prepl:183] - Started prepl server on port 35713
19-05-10 16:02:48 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-set-var, :params ["conjure_ready" 1]}
19-05-10 16:02:48 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result nil, :client :stdio}
19-05-10 16:02:48 beta INFO [conjure.main:32] - Everything's ready! Let's perform some magic.
19-05-10 16:02:50 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :notify, :method :add, :params ["{:tag :jvm :port 5555}"], :client :stdio}
19-05-10 16:02:50 beta INFO [conjure.prepl:111] - Adding :jvm 127.0.0.1 5555
19-05-10 16:02:50 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:02:50 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:02:50 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:02:50 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 1, :client :stdio}
19-05-10 16:02:50 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 0 1 false ["; conjure/out | Welcome to Conjure!"]]] ["nvim_buf_set_lines" [3 -1 -1 false ("; conjure/out | Adding :jvm")]] ["nvim_win_set_cursor" [1001 [2 0]]])]}
19-05-10 16:02:50 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil nil] nil], :client :stdio}
19-05-10 16:02:50 beta INFO [conjure.prepl:66] - Connecting through remote-prepl :jvm
19-05-10 16:02:50 beta TRACE [conjure.prepl:129] - Sending prelude:  (require 'clojure.repl 'clojure.string 'clojure.j…
19-05-10 16:02:50 beta TRACE [conjure.prepl:89] - Writing to tag: :jvm -  (require 'clojure.repl 'clojure.string 'clojure.j…
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "user", :ms 0, :form "(require 'clojure.repl 'clojure.string 'clojure.ja…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.sources", :ms 5, :form "(ns conjure-compliment.sources \"Tools for defining…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources/sources", :ns "conjure-compliment.sources", :ms 0, :form "(def ^{:doc \"Stores defined sources.\" :private tru…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources/all-sources", :ns "conjure-compliment.sources", :ms 1, :form "(defn all-sources \"Returns the list of all complet…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources/defsource", :ns "conjure-compliment.sources", :ms 2, :form "(defn defsource \"Defines a source with the given n…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.utils", :ms 6, :form "(ns conjure-compliment.utils \"Functions and utilit…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/*extra-metadata*", :ns "conjure-compliment.utils", :ms 0, :form "(def ^:dynamic *extra-metadata* \"Signals to downst…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/fuzzy-matches?", :ns "conjure-compliment.utils", :ms 2, :form "(defn fuzzy-matches? \"Tests if symbol matches the …"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/fuzzy-matches-no-skip?", :ns "conjure-compliment.utils", :ms 2, :form "(defn fuzzy-matches-no-skip? \"Tests if symbol matc…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/resolve-class", :ns "conjure-compliment.utils", :ms 2, :form "(defn resolve-class \"Tries to resolve a classname …"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/resolve-namespace", :ns "conjure-compliment.utils", :ms 1, :form "(defn resolve-namespace \"Tries to resolve a namesp…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/defmemoized", :ns "conjure-compliment.utils", :ms 3, :form "(defmacro ^{:doc \"Defines a memoized function.\" :f…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/primitive-cache", :ns "conjure-compliment.utils", :ms 0, :form "(def primitive-cache (atom {}))"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/cache-last-result", :ns "conjure-compliment.utils", :ms 3, :form "(defmacro cache-last-result \"If cache for `name` i…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/flush-caches", :ns "conjure-compliment.utils", :ms 0, :form "(defn flush-caches \"Removes all cached values, for…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/android-vm?", :ns "conjure-compliment.utils", :ms 0, :form ";; Classpath inspection (def android-vm? \"Signifie…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/jdk9+?", :ns "conjure-compliment.utils", :ms 1, :form "(def jdk9+? \"Signifies if the application is runni…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/classpath", :ns "conjure-compliment.utils", :ms 1, :form "(defn- classpath \"Returns a sequence of File objec…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/symlink?", :ns "conjure-compliment.utils", :ms 1, :form "(defn- symlink? \"Checks if the given file is a sym…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/file-seq-nonr", :ns "conjure-compliment.utils", :ms 2, :form "(defn- file-seq-nonr \"A tree seq on java.io.Files,…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/list-files", :ns "conjure-compliment.utils", :ms 15, :form "(defn- list-files \"Given a path (either a jar file…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/list-jdk9-base-classfiles", :ns "conjure-compliment.utils", :ms 5, :form "(defn- list-jdk9-base-classfiles \"Because on JDK9+…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/all-files-on-classpath", :ns "conjure-compliment.utils", :ms 3, :form "(defn- all-files-on-classpath \"Given a list of fil…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/classes-on-classpath", :ns "conjure-compliment.utils", :ms 8, :form "(defn classes-on-classpath \"Returns a map of all c…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/namespaces-on-classpath", :ns "conjure-compliment.utils", :ms 7, :form "(defn namespaces-on-classpath \"Returns the list of…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.utils/project-resources", :ns "conjure-compliment.utils", :ms 12, :form "(defn project-resources \"Returns a list of all non…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.context", :ms 4, :form "(ns conjure-compliment.context \"Utilities for pars…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.context/restore-map-literals", :ns "conjure-compliment.context", :ms 1, :form "(defn- restore-map-literals [context] (walk/postwa…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.context/try-read-replacing-maps", :ns "conjure-compliment.context", :ms 1, :form "(defn- try-read-replacing-maps [s] (try (binding […"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.context/dumb-read-form", :ns "conjure-compliment.context", :ms 2, :form "(defn- dumb-read-form \"Take a presumably unfinishe…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.context/safe-read-context-string", :ns "conjure-compliment.context", :ms 0, :form "#_(dumb-read-form \"(let [a {:b 1}, c {__prefix__\")…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.context/previous-context", :ns "conjure-compliment.context", :ms 0, :form "(def ^{:doc \"Stores the last completion context.\" …"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.context/prefix-placeholder", :ns "conjure-compliment.context", :ms 0, :form "(def ^{:doc \"Special symbol which substitutes pref…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.context/parse-context", :ns "conjure-compliment.context", :ms 4, :form "(defn parse-context \"Takes a context which is a Li…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.context/cache-context", :ns "conjure-compliment.context", :ms 1, :form "(defn cache-context \"Parses the context, or return…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.resources", :ms 5, :form "(ns conjure-compliment.sources.resources \"Completi…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.resources/inside-resource-call?", :ns "conjure-compliment.sources.resources", :ms 1, :form "(defn inside-resource-call? \"If context is not nil…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.resources/candidates", :ns "conjure-compliment.sources.resources", :ms 3, :form "(defn candidates \"Returns list of completions for …"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.resources/doc", :ns "conjure-compliment.sources.resources", :ms 1, :form "(defn doc \"Documentation function for project reso…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#:conjure-compliment.sources.resources{:resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}}", :ns "conjure-compliment.sources.resources", :ms 0, :form "(defsource ::resources :candidates #'candidates :d…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.ns-mappings", :ms 6, :form "(ns conjure-compliment.sources.ns-mappings \"Comple…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/var-symbol?", :ns "conjure-compliment.sources.ns-mappings", :ms 0, :form "(defn var-symbol? \"Test if prefix resembles a var …"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/dash-matches?", :ns "conjure-compliment.sources.ns-mappings", :ms 0, :form "(defn dash-matches? \"Tests if prefix partially mat…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/get-scope-and-prefix", :ns "conjure-compliment.sources.ns-mappings", :ms 1, :form "(defn get-scope-and-prefix \"Tries to get take apar…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/try-get-ns-from-context", :ns "conjure-compliment.sources.ns-mappings", :ms 2, :form "(defn try-get-ns-from-context \"Tries to extract a …"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/generate-docstring", :ns "conjure-compliment.sources.ns-mappings", :ms 3, :form "(defn generate-docstring \"Generates a docstring fr…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/candidates", :ns "conjure-compliment.sources.ns-mappings", :ms 7, :form "(defn candidates \"Returns a list of namespace-boun…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.ns-mappings/doc", :ns "conjure-compliment.sources.ns-mappings", :ms 1, :form "(defn doc \"Documentation function for this sources…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}}", :ns "conjure-compliment.sources.ns-mappings", :ms 0, :form "(defsource ::ns-mappings :candidates #'candidates …"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.local-bindings", :ms 5, :form "(ns conjure-compliment.sources.local-bindings \"Com…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/let-like-forms", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(def let-like-forms '#{let if-let when-let if-some…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/defn-like-forms", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(def defn-like-forms '#{defn defn- fn defmacro})"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/doseq-like-forms", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(def doseq-like-forms '#{doseq for})"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/letfn-like-forms", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(def letfn-like-forms '#{letfn})"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/parse-binding", :ns "conjure-compliment.sources.local-bindings", :ms 1, :form "(defn parse-binding \"Given a binding node returns …"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/parse-fn-body", :ns "conjure-compliment.sources.local-bindings", :ms 2, :form "(defn parse-fn-body \"Extract function name and arg…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/extract-local-bindings", :ns "conjure-compliment.sources.local-bindings", :ms 2, :form "(defn extract-local-bindings \"When given a form th…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/distinct-preserve-tags", :ns "conjure-compliment.sources.local-bindings", :ms 1, :form "(defn- distinct-preserve-tags \"Like `distinct` but…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/bindings-from-context", :ns "conjure-compliment.sources.local-bindings", :ms 1, :form "(defn bindings-from-context \"Returns all local bin…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.local-bindings/candidates", :ns "conjure-compliment.sources.local-bindings", :ms 3, :form "(defn candidates \"Returns a list of local bindings…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x2e37b16b \"clojure.core$constantly$fn__5657@2e37b16b\"], :enabled true}}", :ns "conjure-compliment.sources.local-bindings", :ms 0, :form "(defsource ::local-bindings :candidates #'candidat…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.class-members", :ms 7, :form "(ns conjure-compliment.sources.class-members \"Comp…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static?", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn static? \"Tests if class member is static.\" […"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/members-cache", :ns "conjure-compliment.sources.class-members", :ms 0, :form ";; ## Regular (non-static) members (def members-ca…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/populate-members-cache", :ns "conjure-compliment.sources.class-members", :ms 5, :form "(defn populate-members-cache \"Populate members cac…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/update-cache", :ns "conjure-compliment.sources.class-members", :ms 2, :form "(defn update-cache \"Updates members cache for a gi…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/get-all-members", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn get-all-members \"Returns all non-static memb…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/class-member-symbol?", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn class-member-symbol? \"Tests if a symbol name…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/camel-case-matches?", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn camel-case-matches? \"Tests if prefix matches…"}
19-05-10 16:02:50 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/try-get-object-class", :ns "conjure-compliment.sources.class-members", :ms 2, :form "(defn try-get-object-class \"Tries to get the type …"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/members-candidates", :ns "conjure-compliment.sources.class-members", :ms 5, :form "(defn members-candidates \"Returns a list of Java n…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/type-to-pretty-string", :ns "conjure-compliment.sources.class-members", :ms 1, :form ";; ### Member documentation (defn type-to-pretty-s…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/doc-method-parameters", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn doc-method-parameters \"Takes a list of metho…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/create-members-doc", :ns "conjure-compliment.sources.class-members", :ms 3, :form "(defn create-members-doc \"Takes a list of members …"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/members-doc", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn members-doc \"Documentation function for non-…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/classname-doc", :ns "conjure-compliment.sources.class-members", :ms 8, :form "(defn classname-doc [^Class class] (let [members (…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x2e37b16b \"clojure.core$constantly$fn__5657@2e37b16b\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__5832 0x2cc32358 \"conjure_compliment.sources.class_members$fn__5832@2cc32358\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}}", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defsource ::members :candidates #'members-candida…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-member-symbol?", :ns "conjure-compliment.sources.class-members", :ms 0, :form ";; ## Static members (defn static-member-symbol? \"…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-members-cache", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(def ^{:doc \"Stores cache of all static members fo…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/populate-static-members-cache", :ns "conjure-compliment.sources.class-members", :ms 2, :form "(defn populate-static-members-cache \"Populates sta…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/update-static-cache", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn update-static-cache \"Updates static members …"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-members", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defn static-members \"Returns all static members f…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-members-candidates", :ns "conjure-compliment.sources.class-members", :ms 4, :form "(defn static-members-candidates \"Returns a list of…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/resolve-static-member", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn resolve-static-member \"Given a string repres…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.class-members/static-member-doc", :ns "conjure-compliment.sources.class-members", :ms 1, :form "(defn static-member-doc \"Given a member name and c…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x2e37b16b \"clojure.core$constantly$fn__5657@2e37b16b\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__5832 0x2cc32358 \"conjure_compliment.sources.class_members$fn__5832@2cc32358\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}}", :ns "conjure-compliment.sources.class-members", :ms 0, :form "(defsource ::static-members :candidates #'static-m…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.keywords", :ms 6, :form "(ns conjure-compliment.sources.keywords \"Completio…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.keywords/keywords-table", :ns "conjure-compliment.sources.keywords", :ms 1, :form "(defmemoized ^:private keywords-table [] (let [^Fi…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.keywords/tagged-candidate", :ns "conjure-compliment.sources.keywords", :ms 1, :form "(defn- tagged-candidate [c] {:candidate c, :type :…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.keywords/qualified-candidates", :ns "conjure-compliment.sources.keywords", :ms 4, :form "(defn qualified-candidates \"Returns a list of name…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.keywords/namespace-alias-candidates", :ns "conjure-compliment.sources.keywords", :ms 4, :form "(defn namespace-alias-candidates \"Returns a list o…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.keywords/aliased-candidates", :ns "conjure-compliment.sources.keywords", :ms 4, :form "(defn aliased-candidates \"Returns a list of alias-…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.keywords/candidates", :ns "conjure-compliment.sources.keywords", :ms 4, :form "(defn candidates [^String prefix, ns _] (let [sing…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x2e37b16b \"clojure.core$constantly$fn__5657@2e37b16b\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__5832 0x2cc32358 \"conjure_compliment.sources.class_members$fn__5832@2cc32358\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}, :conjure-compliment.sources.keywords/keywords {:candidates #'conjure-compliment.sources.keywords/candidates, :doc #object[clojure.core$constantly$fn__5657 0x77e02d5b \"clojure.core$constantly$fn__5657@77e02d5b\"], :enabled true}}", :ns "conjure-compliment.sources.keywords", :ms 0, :form "(defsource ::keywords :candidates #'candidates :do…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 6, :form "(ns conjure-compliment.sources.namespaces-and-clas…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/nscl-symbol?", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 1, :form "(defn nscl-symbol? \"Tests if prefix looks like a n…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/nscl-matches?", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 1, :form "(defn nscl-matches? \"Tests if prefix partially mat…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/imported-classes", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 3, :form ";;; Obtaining the list of classes (defn imported-c…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/all-classes-short-names", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 2, :form "(defn all-classes-short-names \"Returns a map where…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/analyze-import-context", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 2, :form "(defn- analyze-import-context \"Checks if the compl…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/get-all-full-names", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 1, :form "(defn- get-all-full-names \"Returns a list of packa…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/get-classes-by-package-name", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 1, :form "(defn- get-classes-by-package-name \"Returns simple…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/candidates", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 17, :form "(defn candidates \"Returns a list of namespace and …"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.namespaces-and-classes/doc", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 2, :form "(defn doc [ns-or-class-str curr-ns] (when (nscl-sy…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x2e37b16b \"clojure.core$constantly$fn__5657@2e37b16b\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__5832 0x2cc32358 \"conjure_compliment.sources.class_members$fn__5832@2cc32358\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}, :conjure-compliment.sources.keywords/keywords {:candidates #'conjure-compliment.sources.keywords/candidates, :doc #object[clojure.core$constantly$fn__5657 0x77e02d5b \"clojure.core$constantly$fn__5657@77e02d5b\"], :enabled true}, :conjure-compliment.sources.namespaces-and-classes/namespaces-and-classes {:candidates #'conjure-compliment.sources.namespaces-and-classes/candidates, :doc #'conjure-compliment.sources.namespaces-and-classes/doc, :enabled true}}", :ns "conjure-compliment.sources.namespaces-and-classes", :ms 0, :form "(defsource ::namespaces-and-classes :candidates #'…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.sources.special-forms", :ms 5, :form "(ns conjure-compliment.sources.special-forms \"Comp…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/special-forms", :ns "conjure-compliment.sources.special-forms", :ms 0, :form "(def ^:private special-forms (set (map name '[def …"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/first-item-in-list?", :ns "conjure-compliment.sources.special-forms", :ms 1, :form "(defn first-item-in-list? \"If context is not nil, …"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/candidates", :ns "conjure-compliment.sources.special-forms", :ms 3, :form "(defn candidates \"Returns list of completions for …"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/doc", :ns "conjure-compliment.sources.special-forms", :ms 1, :form "(defn doc \"Documentation function for special form…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "{:conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x2e37b16b \"clojure.core$constantly$fn__5657@2e37b16b\"], :enabled true}, :conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__5832 0x2cc32358 \"conjure_compliment.sources.class_members$fn__5832@2cc32358\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}, :conjure-compliment.sources.keywords/keywords {:candidates #'conjure-compliment.sources.keywords/candidates, :doc #object[clojure.core$constantly$fn__5657 0x77e02d5b \"clojure.core$constantly$fn__5657@77e02d5b\"], :enabled true}, :conjure-compliment.sources.namespaces-and-classes/namespaces-and-classes {:candidates #'conjure-compliment.sources.namespaces-and-classes/candidates, :doc #'conjure-compliment.sources.namespaces-and-classes/doc, :enabled true}, :conjure-compliment.sources.special-forms/special-forms {:candidates #'conjure-compliment.sources.special-forms/candidates, :doc #'conjure-compliment.sources.special-forms/doc, :enabled true}}", :ns "conjure-compliment.sources.special-forms", :ms 0, :form "(defsource ::special-forms :candidates #'candidate…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.sources.special-forms/literal-candidates", :ns "conjure-compliment.sources.special-forms", :ms 1, :form "(defn literal-candidates \"We define `true`, `false…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "{:conjure-compliment.sources.class-members/members {:candidates #'conjure-compliment.sources.class-members/members-candidates, :tag-fn #object[conjure_compliment.sources.class_members$fn__5832 0x2cc32358 \"conjure_compliment.sources.class_members$fn__5832@2cc32358\"], :doc #'conjure-compliment.sources.class-members/members-doc, :enabled true}, :conjure-compliment.sources.resources/resources {:candidates #'conjure-compliment.sources.resources/candidates, :doc #'conjure-compliment.sources.resources/doc, :enabled true}, :conjure-compliment.sources.keywords/keywords {:candidates #'conjure-compliment.sources.keywords/candidates, :doc #object[clojure.core$constantly$fn__5657 0x77e02d5b \"clojure.core$constantly$fn__5657@77e02d5b\"], :enabled true}, :conjure-compliment.sources.local-bindings/local-bindings {:candidates #'conjure-compliment.sources.local-bindings/candidates, :doc #object[clojure.core$constantly$fn__5657 0x2e37b16b \"clojure.core$constantly$fn__5657@2e37b16b\"], :enabled true}, :conjure-compliment.sources.namespaces-and-classes/namespaces-and-classes {:candidates #'conjure-compliment.sources.namespaces-and-classes/candidates, :doc #'conjure-compliment.sources.namespaces-and-classes/doc, :enabled true}, :conjure-compliment.sources.special-forms/special-forms {:candidates #'conjure-compliment.sources.special-forms/candidates, :doc #'conjure-compliment.sources.special-forms/doc, :enabled true}, :conjure-compliment.sources.special-forms/literals {:candidates #'conjure-compliment.sources.special-forms/literal-candidates, :doc #object[clojure.core$constantly$fn__5657 0x1c82e6b5 \"clojure.core$constantly$fn__5657@1c82e6b5\"], :enabled true}, :conjure-compliment.sources.class-members/static-members {:candidates #'conjure-compliment.sources.class-members/static-members-candidates, :doc #'conjure-compliment.sources.class-members/static-member-doc, :enabled true}, :conjure-compliment.sources.ns-mappings/ns-mappings {:candidates #'conjure-compliment.sources.ns-mappings/candidates, :doc #'conjure-compliment.sources.ns-mappings/doc, :enabled true}}", :ns "conjure-compliment.sources.special-forms", :ms 0, :form "(defsource ::literals :candidates #'literal-candid…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "nil", :ns "conjure-compliment.core", :ms 7, :form ";; ## Compliment - a completion library you deserv…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.core/all-files", :ns "conjure-compliment.core", :ms 0, :form "(def all-files \"List of all Compliment files in an…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.core/by-length-comparator", :ns "conjure-compliment.core", :ms 1, :form "(def ^:private by-length-comparator (reify Compara…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.core/sort-by-length", :ns "conjure-compliment.core", :ms 0, :form "(defn sort-by-length \"Sorts list of strings by the…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.core/ensure-ns", :ns "conjure-compliment.core", :ms 2, :form "(defn ensure-ns \"Takes either a namespace object o…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.core/completions", :ns "conjure-compliment.core", :ms 4, :form "(defn completions \"Returns a list of completions f…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "#'conjure-compliment.core/documentation", :ns "conjure-compliment.core", :ms 6, :form "(defn documentation \"Returns a documentation strin…"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val ":ready", :ns "conjure-compliment.core", :ms 0, :form ":ready"}
19-05-10 16:02:51 beta TRACE [conjure.prepl:134] - Prelude loaded
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :notify, :method :eval-current-form, :params [], :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_get_current_buf" []] ["nvim_get_current_win" []] ["nvim_eval" ["matchstr(getline('.'), '\\%'.col('.').'c.')"]] ["nvim_call_function" ["searchpairpos" ("(" "" ")" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("(" "" ")" "nzW")]] ["nvim_call_function" ["searchpairpos" ("\\[" "" "\\]" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("\\[" "" "\\]" "nzW")]] ["nvim_call_function" ["searchpairpos" ("{" "" "}" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("{" "" "}" "nzW")]])]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[#msgpack.core.Ext{:type 0, :data #object["[B" 0x2d5215d5 "[B@2d5215d5"]} #msgpack.core.Ext{:type 1, :data #object["[B" 0x7875e55e "[B@7875e55e"]} "r" [3 1] [3 50] [0 0] [0 0] [0 0] [0 0]] nil], :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-win-get-cursor, :params [#msgpack.core.Ext{:type 1, :data #object["[B" 0x7875e55e "[B@7875e55e"]}]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [3 1], :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_get_lines" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x2d5215d5 "[B@2d5215d5"]} 2 3 false]])]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[["(require '[clojure.test.check.generators :as gen])"]] nil], :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-get-current-buf, :params nil}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result #msgpack.core.Ext{:type 0, :data #object["[B" 0x553b032d "[B@553b032d"]}, :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_get_name" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x553b032d "[B@553b032d"]}]] ["nvim_buf_line_count" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x553b032d "[B@553b032d"]}]] ["nvim_buf_get_lines" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x553b032d "[B@553b032d"]} 0 25 false]] ["nvim_get_current_win" []])]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [["/home/jlle/tmp/foo/foo.clj" 6 ["(ns foo)" "" "(require '[clojure.test.check.generators :as gen])" "" "" "(gen/sample (gen/bind gen/int #(gen/tuple %)))"] #msgpack.core.Ext{:type 1, :data #object["[B" 0x29d95242 "[B@29d95242"]}] nil], :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 2, :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 -1 -1 false ("; jvm/eval | (require '[clojure.test.check.generators :as gen])")]] ["nvim_win_set_cursor" [1001 [3 0]]])]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil] nil], :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.prepl:89] - Writing to tag: :jvm -  (try (ns foo) (let [rdr (-> (java.io.StringReader…
19-05-10 16:02:53 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val "[:ok nil]", :ns "foo", :ms 9, :form "(try (ns foo) (let [rdr (-> (java.io.StringReader.…"}
19-05-10 16:02:53 beta TRACE [conjure.prepl:141] - Read value from :jvm - {:tag :ret, :val "[:ok nil]", :ns "foo", :ms 9, :form "(try (ns foo) (let [rdr (-> (java.io.StringReader.…"}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 3, :client :stdio}
19-05-10 16:02:53 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 -1 -1 false ("; jvm/ret ⤸" "nil")]] ["nvim_win_set_cursor" [1001 [5 0]]])]}
19-05-10 16:02:53 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil] nil], :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :notify, :method :eval-current-form, :params [], :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_get_current_buf" []] ["nvim_get_current_win" []] ["nvim_eval" ["matchstr(getline('.'), '\\%'.col('.').'c.')"]] ["nvim_call_function" ["searchpairpos" ("(" "" ")" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("(" "" ")" "nzW")]] ["nvim_call_function" ["searchpairpos" ("\\[" "" "\\]" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("\\[" "" "\\]" "nzW")]] ["nvim_call_function" ["searchpairpos" ("{" "" "}" "bnzW")]] ["nvim_call_function" ["searchpairpos" ("{" "" "}" "nzW")]])]}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[#msgpack.core.Ext{:type 0, :data #object["[B" 0x14181611 "[B@14181611"]} #msgpack.core.Ext{:type 1, :data #object["[B" 0x43905ed9 "[B@43905ed9"]} "g" [6 1] [6 46] [0 0] [0 0] [0 0] [0 0]] nil], :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-win-get-cursor, :params [#msgpack.core.Ext{:type 1, :data #object["[B" 0x43905ed9 "[B@43905ed9"]}]}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [6 1], :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_get_lines" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x14181611 "[B@14181611"]} 5 6 false]])]}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[["(gen/sample (gen/bind gen/int #(gen/tuple %)))"]] nil], :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-get-current-buf, :params nil}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result #msgpack.core.Ext{:type 0, :data #object["[B" 0x4e3f0fed "[B@4e3f0fed"]}, :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_get_name" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x4e3f0fed "[B@4e3f0fed"]}]] ["nvim_buf_line_count" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x4e3f0fed "[B@4e3f0fed"]}]] ["nvim_buf_get_lines" [#msgpack.core.Ext{:type 0, :data #object["[B" 0x4e3f0fed "[B@4e3f0fed"]} 0 25 false]] ["nvim_get_current_win" []])]}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [["/home/jlle/tmp/foo/foo.clj" 6 ["(ns foo)" "" "(require '[clojure.test.check.generators :as gen])" "" "" "(gen/sample (gen/bind gen/int #(gen/tuple %)))"] #msgpack.core.Ext{:type 1, :data #object["[B" 0x2d970f2a "[B@2d970f2a"]}] nil], :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').upsert_log(...)" ("/tmp/conjure.cljc" 40 false false)]}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result {"win" 1001, "buf" 3}, :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-buf-line-count, :params [3]}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result 5, :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-call-atomic, :params [(["nvim_buf_set_lines" [3 -1 -1 false ("; jvm/eval | (gen/sample (gen/bind gen/int #(gen/tuple %)))")]] ["nvim_win_set_cursor" [1001 [6 0]]])]}
19-05-10 16:02:57 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result [[nil nil] nil], :client :stdio}
19-05-10 16:02:57 beta TRACE [conjure.prepl:89] - Writing to tag: :jvm -  (try (ns foo) (let [rdr (-> (java.io.StringReader…
19-05-10 16:02:57 beta TRACE [conjure.prepl:70] - Read from remote-prepl :jvm - {:tag :ret, :val {:via [{:type java.lang.AssertionError, :message "Assert failed: Args to tuple must be generators\n(every? generator? generators)", :at [clojure.test.check.generators$tuple invokeStatic "generators.cljc" 516]}], :trace [[clojure.test.check.generators$tuple invokeStatic "generators.cljc" 516] [clojure.test.check.generators$tuple doInvoke "generators.cljc" 504] [clojure.lang.RestFn invoke "RestFn.java" 408] [foo$eval6267$fn__6268 invoke "foo.clj" 6] [clojure.test.check.generators$bind_helper$fn__4787$fn__4788$fn__4789 invoke "generators.cljc" 121] [clojure.test.check.rose_tree$fmap invokeStatic "rose_tree.cljc" 77] [clojure.test.check.rose_tree$fmap invoke "rose_tree.cljc" 73] [clojure.test.check.generators$bind_helper$fn__4787$fn__4788 invoke "generators.cljc" 121] [clojure.test.check.generators$gen_fmap$fn__4756 invoke "generators.cljc" 59] [clojure.test.check.generators$gen_bind$fn__4761 invoke "generators.cljc" 70] [clojure.test.check.generators$call_gen invokeStatic "generators.cljc" 43] [clojure.test.check.generators$call_gen invoke "generators.cljc" 39] [clojure.test.check.generators$sample_seq$fn__4798 invoke "generators.cljc" 158] [clojure.core$map$fn__5855 invoke "core.clj" 2760] [clojure.lang.LazySeq sval "LazySeq.java" 42] [clojure.lang.LazySeq seq "LazySeq.java" 51] [clojure.lang.RT seq "RT.java" 531] [clojure.core$seq__5387 invokeStatic "core.clj" 137] [clojure.core$take$fn__5894 invoke "core.clj" 2884] [clojure.lang.LazySeq sval "LazySeq.java" 42] [clojure.lang.LazySeq seq "LazySeq.java" 51] [clojure.lang.RT seq "RT.java" 531] [clojure.core$seq__5387 invokeStatic "core.clj" 137] [clojure.core$print_sequential invokeStatic "core_print.clj" 53] [clojure.core$fn__7295 invokeStatic "core_print.clj" 174] [clojure.core$fn__7295 invoke "core_print.clj" 174] [clojure.lang.MultiFn invoke "MultiFn.java" 234] [clojure.core$pr_on invokeStatic "core.clj" 3674] [clojure.core$pr_on invoke "core.clj" 3668] [clojure.core$print_sequential invokeStatic "core_print.clj" 66] [clojure.core$fn__7315 invokeStatic "core_print.clj" 225] [clojure.core$fn__7315 invoke "core_print.clj" 225] [clojure.lang.MultiFn invoke "MultiFn.java" 234] [clojure.core$pr_on invokeStatic "core.clj" 3674] [clojure.core$pr invokeStatic "core.clj" 3677] [clojure.core$pr invoke "core.clj" 3677] [clojure.lang.AFn applyToHelper "AFn.java" 154] [clojure.lang.RestFn applyTo "RestFn.java" 132] [clojure.core$apply invokeStatic "core.clj" 665] [clojure.core$pr_str invokeStatic "core.clj" 4736] [clojure.core$pr_str doInvoke "core.clj" 4736] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core.server$io_prepl$fn__8940$fn__8941 invoke "server.clj" 289] [clojure.core.server$io_prepl$fn__8940 invoke "server.clj" 288] [clojure.core.server$prepl$fn__8926 invoke "server.clj" 239] [clojure.core.server$prepl invokeStatic "server.clj" 228] [clojure.core.server$prepl doInvoke "server.clj" 191] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.core.server$io_prepl invokeStatic "server.clj" 283] [clojure.core.server$io_prepl doInvoke "server.clj" 272] [clojure.lang.RestFn invoke "RestFn.java" 397] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.RestFn applyTo "RestFn.java" 132] [clojure.lang.Var applyTo "Var.java" 705] [clojure.core$apply invokeStatic "core.clj" 665] [clojure.core.server$accept_connection invokeStatic "server.clj" 73] [clojure.core.server$start_server$fn__8864$fn__8865$fn__8867 invoke "server.clj" 117] [clojure.lang.AFn run "AFn.java" 22] [java.lang.Thread run "Thread.java" 748]], :cause "Assert failed: Args to tuple must be generators\n(every? generator? generators)", :phase :print-eval-result}, :ns "foo", :ms 6, :form "(try (ns foo) (let [rdr (-> (java.io.StringReader.…", :exception true}
19-05-10 16:02:57 beta TRACE [conjure.prepl:141] - Read value from :jvm - {:tag :ret, :val {:via [{:type java.lang.AssertionError, :message "Assert failed: Args to tuple must be generators\n(every? generator? generators)", :at [clojure.test.check.generators$tuple invokeStatic "generators.cljc" 516]}], :trace [[clojure.test.check.generators$tuple invokeStatic "generators.cljc" 516] [clojure.test.check.generators$tuple doInvoke "generators.cljc" 504] [clojure.lang.RestFn invoke "RestFn.java" 408] [foo$eval6267$fn__6268 invoke "foo.clj" 6] [clojure.test.check.generators$bind_helper$fn__4787$fn__4788$fn__4789 invoke "generators.cljc" 121] [clojure.test.check.rose_tree$fmap invokeStatic "rose_tree.cljc" 77] [clojure.test.check.rose_tree$fmap invoke "rose_tree.cljc" 73] [clojure.test.check.generators$bind_helper$fn__4787$fn__4788 invoke "generators.cljc" 121] [clojure.test.check.generators$gen_fmap$fn__4756 invoke "generators.cljc" 59] [clojure.test.check.generators$gen_bind$fn__4761 invoke "generators.cljc" 70] [clojure.test.check.generators$call_gen invokeStatic "generators.cljc" 43] [clojure.test.check.generators$call_gen invoke "generators.cljc" 39] [clojure.test.check.generators$sample_seq$fn__4798 invoke "generators.cljc" 158] [clojure.core$map$fn__5855 invoke "core.clj" 2760] [clojure.lang.LazySeq sval "LazySeq.java" 42] [clojure.lang.LazySeq seq "LazySeq.java" 51] [clojure.lang.RT seq "RT.java" 531] [clojure.core$seq__5387 invokeStatic "core.clj" 137] [clojure.core$take$fn__5894 invoke "core.clj" 2884] [clojure.lang.LazySeq sval "LazySeq.java" 42] [clojure.lang.LazySeq seq "LazySeq.java" 51] [clojure.lang.RT seq "RT.java" 531] [clojure.core$seq__5387 invokeStatic "core.clj" 137] [clojure.core$print_sequential invokeStatic "core_print.clj" 53] [clojure.core$fn__7295 invokeStatic "core_print.clj" 174] [clojure.core$fn__7295 invoke "core_print.clj" 174] [clojure.lang.MultiFn invoke "MultiFn.java" 234] [clojure.core$pr_on invokeStatic "core.clj" 3674] [clojure.core$pr_on invoke "core.clj" 3668] [clojure.core$print_sequential invokeStatic "core_print.clj" 66] [clojure.core$fn__7315 invokeStatic "core_print.clj" 225] [clojure.core$fn__7315 invoke "core_print.clj" 225] [clojure.lang.MultiFn invoke "MultiFn.java" 234] [clojure.core$pr_on invokeStatic "core.clj" 3674] [clojure.core$pr invokeStatic "core.clj" 3677] [clojure.core$pr invoke "core.clj" 3677] [clojure.lang.AFn applyToHelper "AFn.java" 154] [clojure.lang.RestFn applyTo "RestFn.java" 132] [clojure.core$apply invokeStatic "core.clj" 665] [clojure.core$pr_str invokeStatic "core.clj" 4736] [clojure.core$pr_str doInvoke "core.clj" 4736] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core.server$io_prepl$fn__8940$fn__8941 invoke "server.clj" 289] [clojure.core.server$io_prepl$fn__8940 invoke "server.clj" 288] [clojure.core.server$prepl$fn__8926 invoke "server.clj" 239] [clojure.core.server$prepl invokeStatic "server.clj" 228] [clojure.core.server$prepl doInvoke "server.clj" 191] [clojure.lang.RestFn invoke "RestFn.java" 425] [clojure.core.server$io_prepl invokeStatic "server.clj" 283] [clojure.core.server$io_prepl doInvoke "server.clj" 272] [clojure.lang.RestFn invoke "RestFn.java" 397] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.RestFn applyTo "RestFn.java" 132] [clojure.lang.Var applyTo "Var.java" 705] [clojure.core$apply invokeStatic "core.clj" 665] [clojure.core.server$accept_connection invokeStatic "server.clj" 73] [clojure.core.server$start_server$fn__8864$fn__8865$fn__8867 invoke "server.clj" 117] [clojure.lang.AFn run "AFn.java" 22] [java.lang.Thread run "Thread.java" 748]], :cause "Assert failed: Args to tuple must be generators\n(every? generator? generators)", :phase :print-eval-result}, :ns "foo", :ms 6, :form "(try (ns foo) (let [rdr (-> (java.io.StringReader.…", :exception true}
19-05-10 16:02:57 beta ERROR [conjure.prepl:?] - Error from thread 'read-chan handler': java.lang.ClassCastException: clojure.lang.PersistentArrayMap cannot be cast to java.lang.String
19-05-10 16:03:32 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :notify, :method :close-log, :params [], :client :stdio}
19-05-10 16:03:32 beta TRACE [conjure.rpc:179] - Sending RPC message: {:type :request, :client :stdio, :id 1, :method :nvim-execute-lua, :params ["return require('conjure').close_log(...)" ("/tmp/conjure.cljc")]}
19-05-10 16:03:32 beta TRACE [conjure.rpc:192] - Received RPC message: {:type :response, :id 1, :error nil, :result nil, :client :stdio}

@Olical
Copy link
Owner

Olical commented May 10, 2019 via email

@jlesquembre
Copy link
Contributor Author

jlesquembre commented May 10, 2019

yes, I'm on latest commit from master: 9840c45
Take your time and enjoy the weekend, you are doing a great job with Conjure :)

@Olical Olical added this to the v1.0.0 milestone May 12, 2019
@Olical Olical self-assigned this May 12, 2019
@Olical Olical added the bug Something isn't working label May 12, 2019
@Olical Olical changed the title Not possible to evaluate forms after error Not possible to evaluate forms after (specific) error May 20, 2019
@Olical
Copy link
Owner

Olical commented May 20, 2019

So the culprit is this error:

Error from thread 'read-chan handler': java.lang.ClassCastException: clojure.lang.PersistentArrayMap cannot be cast to java.lang.String

Which is caused by the :val key in the prepl response being a map and not a string. I think this is because it's an assertion error and the prepl isn't catching it. Might be at macro time I guess... so maybe I can try to catch it but I should also make the parsing of the :val get skipped if it's not a string.

Olical added a commit that referenced this issue May 20, 2019
Olical added a commit that referenced this issue May 20, 2019
Changes made here and the previous commit:

 * Only try to parse strings, if it's anything else just return it as
   already parsed.
 * When we get :exception true in a prepl response we should log it
   rather than exploding.

Ideally we should never see these exceptions leaking through, but maybe
they can explode at macro time and somehow bypass my try/catch. This is
a catch all to at least keep the REPL running and make finding / fixing
future issues easier.
@Olical
Copy link
Owner

Olical commented May 20, 2019

@jlesquembre hopefully this is sort of fixed for you now! It's only on master though.

I say "sort of" because I don't know why that exception is leaking out of the prepl, it shouldn't be! It should be caught by my (catch Throwable... code, I've resorted to handling these leaky exceptions and logging them properly so the connection won't die and you'll know what happened.

Ideally we won't ever get to this point though, that error should be caught before it comes out of the prepl then it can be returned as tagged data (see conjure.code/eval-str). I'm not sure why or how that generator bypasses my try/catch.

@Olical
Copy link
Owner

Olical commented May 20, 2019

I KNOW WHY!

Because this is lazy code and it's getting forced as it's pr-stred inside the prepl code. When the forcing happens (doall or whatever) it triggers the lazy code which throws the exception outside of my try/catch! Nasty!

So maybe I need to doall results inside evals to prevent this sort of thing, if it's a seq anyway...

@Olical
Copy link
Owner

Olical commented May 20, 2019

Okay this should be fixed properly in master now! I've still got that extra code that logs uncaught exceptions rather than swallowing them but I fixed the root cause of lazy-seqs being evaluated by the pr-str call in the prepl code.

@Olical Olical closed this as completed May 20, 2019
@jlesquembre
Copy link
Contributor Author

Thanks for fixing it! I just tested it and works :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants