On Thursday, February 11, 2016 at 9:54:19 PM UTC+1, Sean Corfield wrote: > > Scaramaccai wrote on Thursday, February 11, 2016 at 8:32 AM: > >I'm learning Clojure, and I find difficult to understand where a specific > compiler error happens: > > The stacktraces can be pretty daunting at first, unfortunately. > > How are you compiling / running the code? That will have some bearing on > how errors are reported. > > Yes, the problem seems to be how I compiled the code. I was using Vim+Fireplace, and doing a "cpr" (takes the content from the active buffer and requires it inside the REPL) I had the error without a proper stacktrace (see below). Running using "reipl run" gives the "proper" stacktrace:
[...] Caused by: java.lang.ClassCastException: java.lang.Long cannot be cast to clojure.lang.IPersistentCollection at clojure.core$conj__4345.invokeStatic(core.clj:82) at clojure.core$conj__4345.invoke(core.clj:82) at fwpd.core$fib_seq3.invokeStatic(core.clj:98) at fwpd.core$fib_seq3.invoke(core.clj:92) at fwpd.core$fib_seq3.invokeStatic(core.clj:94) at fwpd.core$fib_seq3.invoke(core.clj:92) at fwpd.core$eval70.invokeStatic(core.clj:105) at fwpd.core$eval70.invoke(core.clj:105) at clojure.lang.Compiler.eval(Compiler.java:6927) at clojure.lang.Compiler.load(Compiler.java:7379) *Thank you!!!* Fireplace+REPL stacktrace: || java.lang.ClassCastException: java.lang.Long cannot be cast to clojure.lang.IPersistentCollection, compiling:(fwpd/core.clj:100:1) || clojure.lang.Compiler.load(Compiler.java:7391) || clojure.lang.RT.loadResourceScript(RT.java:372) || clojure.lang.RT.loadResourceScript(RT.java:363) || clojure.lang.RT.load(RT.java:453) || clojure.lang.RT.load(RT.java:419) zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5893| clojure.core$load$fn__5677.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5892| clojure.core$load.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5876| clojure.core$load.doInvoke || clojure.lang.RestFn.invoke(RestFn.java:408) zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5697| clojure.core$load_one.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5692| clojure.core$load_one.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5737| clojure.core$load_lib$fn__5626.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5736| clojure.core$load_lib.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5717| clojure.core$load_lib.doInvoke || clojure.lang.RestFn.applyTo(RestFn.java:142) zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|648| clojure.core$apply.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5774| clojure.core$load_libs.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5758| clojure.core$load_libs.doInvoke || clojure.lang.RestFn.applyTo(RestFn.java:137) zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|648| clojure.core$apply.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5796| clojure.core$require.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|5796| clojure.core$require.doInvoke || clojure.lang.RestFn.invoke(RestFn.java:421) || fwpd.core$eval3604.invokeStatic(form-init936506867427907734.clj:1) || fwpd.core$eval3604.invoke(form-init936506867427907734.clj:1) || clojure.lang.Compiler.eval(Compiler.java:6927) || clojure.lang.Compiler.eval(Compiler.java:6890) zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|3105| clojure.core$eval.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|3101| clojure.core$eval.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\main.clj|240| clojure.main$repl$read_eval_print__7408$fn__7411.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\main.clj|240| clojure.main$repl$read_eval_print__7408.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\main.clj|258| clojure.main$repl$fn__7417.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\main.clj|258| clojure.main$repl.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\main.clj|174| clojure.main$repl.doInvoke || clojure.lang.RestFn.invoke(RestFn.java:1523) zipfile:C:\Users\105066315\.m2\repository\org\clojure\tools.nrepl\0.2.12\tools.nrepl-0.2.12.jar::clojure\tools\nrepl\middleware\interruptible_eval.clj|87| clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__709.invoke || clojure.lang.AFn.applyToHelper(AFn.java:152) || clojure.lang.AFn.applyTo(AFn.java:144) zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|646| clojure.core$apply.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|1881| clojure.core$with_bindings_STAR_.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\clojure\1.8.0\clojure-1.8.0.jar::clojure\core.clj|1881| clojure.core$with_bindings_STAR_.doInvoke || clojure.lang.RestFn.invoke(RestFn.java:425) zipfile:C:\Users\105066315\.m2\repository\org\clojure\tools.nrepl\0.2.12\tools.nrepl-0.2.12.jar::clojure\tools\nrepl\middleware\interruptible_eval.clj|85| clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invokeStatic zipfile:C:\Users\105066315\.m2\repository\org\clojure\tools.nrepl\0.2.12\tools.nrepl-0.2.12.jar::clojure\tools\nrepl\middleware\interruptible_eval.clj|55| clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\tools.nrepl\0.2.12\tools.nrepl-0.2.12.jar::clojure\tools\nrepl\middleware\interruptible_eval.clj|222| clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__754$fn__757.invoke zipfile:C:\Users\105066315\.m2\repository\org\clojure\tools.nrepl\0.2.12\tools.nrepl-0.2.12.jar::clojure\tools\nrepl\middleware\interruptible_eval.clj|190| clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__749.invoke || clojure.lang.AFn.run(AFn.java:22) || java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) || java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) || 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 clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com 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 clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.