Eval vs the repl
I had previously assumed that the clojure repl effectively just did (eval (read-string input)). That doesn't seem to be the case eg: user [do (inc 1)] CompilerException java.lang.RuntimeException: Unable to resolve symbol: do in this context, compiling:(NO_SOURCE_PATH:1:1) user (eval '[do (inc 1)]) 2 nil user (load-string [do (inc 1)]) 2 nil user ^{:line 11, :column 20} [] [] nil user (eval ^{:line 11, :column 20} []) ClassCastException java.lang.Long cannot be cast to java.lang.Integer clojure.lang.Compiler.eval (Compiler.java:6597) user (load-string ^{:line 11, :column 20} []) ClassCastException java.lang.Long cannot be cast to java.lang.Integer clojure.lang.Compiler.eval (Compiler.java:6597) What can I do to eval a string in the same way that the repl does? -- -- 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/groups/opt_out.
Re: Eval vs the repl
What repl are you using? I think it's doing something weird. java -cp clojure-1.5.1.jar clojure.main user= [do (inc 1)] 2 user ^{:line 11, :column 20} [] ClassCastException java.lang.Long cannot be cast to java.lang.Integer clojure.lang.Compiler.eval (Compiler.java:6597) --Aaron -- -- 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/groups/opt_out.
Re: Eval vs the repl
Huh, I'm using nrepl.el but if I use lein repl I get the same results as you. On 28 August 2013 18:16, Aaron Cohen aa...@assonance.org wrote: What repl are you using? I think it's doing something weird. java -cp clojure-1.5.1.jar clojure.main user= [do (inc 1)] 2 user ^{:line 11, :column 20} [] ClassCastException java.lang.Long cannot be cast to java.lang.Integer clojure.lang.Compiler.eval (Compiler.java:6597) --Aaron -- -- 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/groups/opt_out. -- -- 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/groups/opt_out.
Re: Eval vs the repl
On Wednesday, August 28, 2013 12:13:54 PM UTC-4, Jamie Brandon wrote: user [do (inc 1)] Just curious: what do you expect that to do? To me it looks like a 2-element vector... (containing a `do` special form and then the value 2), but my repl yields 2 as the result (?). -- -- 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/groups/opt_out.
Re: Eval vs the repl
I think you may be tripping over this bug: http://dev.clojure.org/jira/browse/CLJ-1184 which is waiting for Rich's approval to go into 1.6. Alex On Wednesday, August 28, 2013 11:13:54 AM UTC-5, Jamie Brandon wrote: I had previously assumed that the clojure repl effectively just did (eval (read-string input)). That doesn't seem to be the case eg: user [do (inc 1)] CompilerException java.lang.RuntimeException: Unable to resolve symbol: do in this context, compiling:(NO_SOURCE_PATH:1:1) user (eval '[do (inc 1)]) 2 nil user (load-string [do (inc 1)]) 2 nil user ^{:line 11, :column 20} [] [] nil user (eval ^{:line 11, :column 20} []) ClassCastException java.lang.Long cannot be cast to java.lang.Integer clojure.lang.Compiler.eval (Compiler.java:6597) user (load-string ^{:line 11, :column 20} []) ClassCastException java.lang.Long cannot be cast to java.lang.Integer clojure.lang.Compiler.eval (Compiler.java:6597) What can I do to eval a string in the same way that the repl does? -- -- 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/groups/opt_out.