Skip to content

Instantly share code, notes, and snippets.

@catharinejm
Last active August 29, 2015 14:04
Show Gist options
  • Select an option

  • Save catharinejm/be513d65164b5f4e83a4 to your computer and use it in GitHub Desktop.

Select an option

Save catharinejm/be513d65164b5f4e83a4 to your computer and use it in GitHub Desktop.
user=> (defn make-queue [elems] (into clojure.lang.PersistentQueue/EMPTY elems))
#'user/make-queue
user=> (make-queue [1 2 3])
#<PersistentQueue clojure.lang.PersistentQueue@7861>
user=> (set! *data-readers* {'p/q #'make-queue})
{p/q #'user/make-queue}
user=> (read-string "#p/q [1 2 3]")
#<PersistentQueue clojure.lang.PersistentQueue@7861>
user=> #p/q [1 2 3]
CompilerException java.lang.ClassCastException: clojure.lang.PersistentQueue cannot be cast to java.util.List, compiling:(/private/var/folders/2z/8hvwgn213bs9cvxx64_7c_vm0000gn/T/form-init8863353905059190033.clj:1:182)
user=> (.printStackTrace *e)
java.lang.ClassCastException: clojure.lang.PersistentQueue cannot be cast to java.util.List, compiling:(/private/var/folders/2z/8hvwgn213bs9cvxx64_7c_vm0000gn/T/form-init8863353905059190033.clj:1:182)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6651)
at clojure.lang.Compiler.analyze(Compiler.java:6445)
at clojure.lang.Compiler.eval(Compiler.java:6700)
at clojure.lang.Compiler.eval(Compiler.java:6666)
at clojure.core$eval.invoke(core.clj:2927)
at clojure.main$repl$read_eval_print__6625$fn__6628.invoke(main.clj:239)
at clojure.main$repl$read_eval_print__6625.invoke(main.clj:239)
at clojure.main$repl$fn__6634.invoke(main.clj:257)
at clojure.main$repl.doInvoke(main.clj:257)
at clojure.lang.RestFn.invoke(RestFn.java:1096)
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__613.invoke(interruptible_eval.clj:56)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.AFn.applyTo(AFn.java:144)
at clojure.core$apply.invoke(core.clj:624)
at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1862)nil
user=>
at clojure.lang.RestFn.invoke(RestFn.java:425)
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:41)
at clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__654$fn__657.invoke(interruptible_eval.clj:171)
at clojure.core$comp$fn__4192.invoke(core.clj:2402)
at clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__647.invoke(interruptible_eval.clj:138)
at clojure.lang.AFn.run(AFn.java:22)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassCastException: clojure.lang.PersistentQueue cannot be cast to java.util.List
at clojure.lang.Compiler$ObjExpr.emitListAsObjectArray(Compiler.java:4479)
at clojure.lang.Compiler$ObjExpr.emitValue(Compiler.java:4641)
at clojure.lang.Compiler$ObjExpr.emitConstants(Compiler.java:4703)
at clojure.lang.Compiler$ObjExpr.compile(Compiler.java:4168)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3904)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6642)
... 23 more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment