Something unusual happens when I'm writing macros while in modes cider and
ClojureC with autocomplete enabled.
I have a macro derive-component (definition is too long to put in here).
When I attempt to use this macro, as follows:
;; s refers to schema.core in this context
(derive-component
Position
"It has x and y coordinates."
[s/Int s/Int])
If I try to type anywhere within the above form, I get a massive exception
printout in the repl. Furthermore, my cursor automatically switches to the
repl from the file buffer.
I realize that something may be wrong with my macro definition, but that's
not the point. The repl should be able to handle these errors gracefully.
Furthermore, There is nothing to my knowledge that should be actively
evaluating code.
Does anyone know what may be doing this?
Thanks
Here's the error stack trace:
RuntimeException [Int Int] is not a valid sequence schema; a valid sequence
schema consists of zero or more `one` elements, followed by zero or more
`optional` elements, followed by an optional schema that will match the
remaining elements. schema.core/parse-sequence-schema (core.clj:901)
java.lang.IllegalArgumentException: Don't know how to create ISeq from:
clojure.lang.Symbol
at clojure.lang.RT.seqFrom (RT.java:528)
clojure.lang.RT.seq (RT.java:509)
clojure.core/seq (core.clj:137)
clojure.core.protocols$seq_reduce.invoke (protocols.clj:30)
clojure.core.protocols/fn (protocols.clj:84)
clojure.core.protocols$fn__6452$G__6447__6465.invoke (protocols.clj:13)
clojure.core$reduce.invoke (core.clj:6519)
clojure.core$mapv.invoke (core.clj:6616)
cider.nrepl.middleware.info$format_eldoc$fn__26048.invoke (info.clj:290)
clojure.core$map$fn__4553.invoke (core.clj:2622)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:507)
clojure.core/seq (core.clj:137)
clojure.core$map$fn__4553.invoke (core.clj:2616)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:507)
clojure.core/seq (core.clj:137)
clojure.core$dorun.invoke (core.clj:3009)
clojure.core$doall.invoke (core.clj:3025)
clojure.walk$walk.invoke (walk.clj:46)
clojure.walk$postwalk.invoke (walk.clj:58)
clojure.core$partial$fn__4527.invoke (core.clj:2493)
clojure.core$map$fn__4553.invoke (core.clj:2622)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:507)
clojure.lang.LazilyPersistentVector.create
(LazilyPersistentVector.java:30)
clojure.core$vec.invoke (core.clj:361)
clojure.walk$walk.invoke (walk.clj:45)
clojure.walk$postwalk.invoke (walk.clj:58)
clojure.core$partial$fn__4527.invoke (core.clj:2493)
clojure.core$map$fn__4553.invoke (core.clj:2624)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.Cons.next (Cons.java:39)
clojure.lang.RT.next (RT.java:674)
clojure.core/next (core.clj:64)
clojure.core.protocols/fn (protocols.clj:170)
clojure.core.protocols$fn__6478$G__6473__6487.invoke (protocols.clj:19)
clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
clojure.core.protocols/fn (protocols.clj:101)
clojure.core.protocols$fn__6452$G__6447__6465.invoke (protocols.clj:13)
clojure.core$reduce.invoke (core.clj:6519)
clojure.core$into.invoke (core.clj:6600)
clojure.walk$walk.invoke (walk.clj:49)
clojure.walk$postwalk.invoke (walk.clj:58)
clojure.walk$stringify_keys.invoke (walk.clj:107)
clojure.tools.nrepl.transport.FnTransport.send (transport.clj:28)
clojure.tools.nrepl.middleware.pr_values$pr_values$fn$reify__13898.send
(pr_values.clj:27)
cider.nrepl.middleware.info$eldoc_reply.invoke (info.clj:302)
cider.nrepl.middleware.info$wrap_info$fn__26058.invoke (info.clj:315)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cemerick.piggieback$wrap_cljs_repl$fn__20579.invoke (piggieback.clj:299)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.track_state$wrap_tracker$fn__27148.invoke
(track_state.clj:200)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.pprint$wrap_pprint$fn__22366.invoke
(pprint.clj:106)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.inspect$wrap_inspect$fn__20853.invoke
(inspect.clj:137)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
clojure.tools.nrepl.middleware.pr_values$pr_values$fn__13895.invoke
(pr_values.clj:22)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.test$wrap_test$fn__26618.invoke (test.clj:286)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.pprint$wrap_pprint_fn$fn__22340.invoke
(pprint.clj:53)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
clojure.tools.nrepl.middleware.session$add_stdin$fn__16865.invoke
(session.clj:238)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.out$wrap_out$fn__26321.invoke (out.clj:104)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
clojure.tools.nrepl.middleware.session$session$fn__16850.invoke
(session.clj:192)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
clojure.tools.nrepl.server$handle_STAR_.invoke (server.clj:19)
clojure.tools.nrepl.server$handle$fn__16919.invoke (server.clj:28)
clojure.core$binding_conveyor_fn$fn__4444.invoke (core.clj:1916)
clojure.lang.AFn.call (AFn.java:18)
java.util.concurrent.FutureTask.run (FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:617)
java.lang.Thread.run (Thread.java:745)
java.lang.IllegalArgumentException: Don't know how to create ISeq from:
clojure.lang.Symbol
at clojure.lang.RT.seqFrom (RT.java:528)
clojure.lang.RT.seq (RT.java:509)
clojure.core/seq (core.clj:137)
clojure.core.protocols$seq_reduce.invoke (protocols.clj:30)
clojure.core.protocols/fn (protocols.clj:84)
clojure.core.protocols$fn__6452$G__6447__6465.invoke (protocols.clj:13)
clojure.core$reduce.invoke (core.clj:6519)
clojure.core$mapv.invoke (core.clj:6616)
cider.nrepl.middleware.info$format_eldoc$fn__26048.invoke (info.clj:290)
clojure.core$map$fn__4553.invoke (core.clj:2622)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:507)
clojure.core/seq (core.clj:137)
clojure.core$map$fn__4553.invoke (core.clj:2616)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:507)
clojure.core/seq (core.clj:137)
clojure.core$dorun.invoke (core.clj:3009)
clojure.core$doall.invoke (core.clj:3025)
clojure.walk$walk.invoke (walk.clj:46)
clojure.walk$postwalk.invoke (walk.clj:58)
clojure.core$partial$fn__4527.invoke (core.clj:2493)
clojure.core$map$fn__4553.invoke (core.clj:2622)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:507)
clojure.lang.LazilyPersistentVector.create
(LazilyPersistentVector.java:30)
clojure.core$vec.invoke (core.clj:361)
clojure.walk$walk.invoke (walk.clj:45)
clojure.walk$postwalk.invoke (walk.clj:58)
clojure.core$partial$fn__4527.invoke (core.clj:2493)
clojure.core$map$fn__4553.invoke (core.clj:2624)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.Cons.next (Cons.java:39)
clojure.lang.RT.next (RT.java:674)
clojure.core/next (core.clj:64)
clojure.core.protocols/fn (protocols.clj:170)
clojure.core.protocols$fn__6478$G__6473__6487.invoke (protocols.clj:19)
clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
clojure.core.protocols/fn (protocols.clj:101)
clojure.core.protocols$fn__6452$G__6447__6465.invoke (protocols.clj:13)
clojure.core$reduce.invoke (core.clj:6519)
clojure.core$into.invoke (core.clj:6600)
clojure.walk$walk.invoke (walk.clj:49)
clojure.walk$postwalk.invoke (walk.clj:58)
clojure.walk$stringify_keys.invoke (walk.clj:107)
clojure.tools.nrepl.transport.FnTransport.send (transport.clj:28)
clojure.tools.nrepl.middleware.pr_values$pr_values$fn$reify__13898.send
(pr_values.clj:27)
cider.nrepl.middleware.info$eldoc_reply.invoke (info.clj:302)
cider.nrepl.middleware.info$wrap_info$fn__26058.invoke (info.clj:315)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cemerick.piggieback$wrap_cljs_repl$fn__20579.invoke (piggieback.clj:299)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.track_state$wrap_tracker$fn__27148.invoke
(track_state.clj:200)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.pprint$wrap_pprint$fn__22366.invoke
(pprint.clj:106)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.inspect$wrap_inspect$fn__20853.invoke
(inspect.clj:137)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
clojure.tools.nrepl.middleware.pr_values$pr_values$fn__13895.invoke
(pr_values.clj:22)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.test$wrap_test$fn__26618.invoke (test.clj:286)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.pprint$wrap_pprint_fn$fn__22340.invoke
(pprint.clj:53)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
clojure.tools.nrepl.middleware.session$add_stdin$fn__16865.invoke
(session.clj:238)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
cider.nrepl.middleware.out$wrap_out$fn__26321.invoke (out.clj:104)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
clojure.tools.nrepl.middleware.session$session$fn__16850.invoke
(session.clj:192)
clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__13724.invoke
(middleware.clj:22)
clojure.tools.nrepl.server$handle_STAR_.invoke (server.clj:19)
clojure.tools.nrepl.server$handle$fn__16919.invoke (server.clj:28)
clojure.core$binding_conveyor_fn$fn__4444.invoke (core.clj:1916)
clojure.lang.AFn.call (AFn.java:18)
java.util.concurrent.FutureTask.run (FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:617)
java.lang.Thread.run (Thread.java:745)
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.