fork download
  1. (defn my-if [condition true-case false-case]
  2. (if condition true-case false-case))
  3.  
  4. (print "my-if =>")
  5. (println (my-if false "success" (+ 1 "failure")))
  6. ;; since my-if evaluates all subexpressions it raises an error
  7. ;; for `(+ 1 "failure")`
  8. ;; prints my-if =>
Runtime error #stdin #stdout #stderr 0.94s 4386816KB
stdin
Standard input is empty
stdout
my-if =>
stderr
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number, compiling:(/home/qM3An8/prog.clj:5:1)
	at clojure.lang.Compiler.load(Compiler.java:7391)
	at clojure.lang.Compiler.loadFile(Compiler.java:7317)
	at clojure.main$load_script.invokeStatic(main.clj:275)
	at clojure.main$script_opt.invokeStatic(main.clj:335)
	at clojure.main$script_opt.invoke(main.clj:330)
	at clojure.main$main.invokeStatic(main.clj:421)
	at clojure.main$main.doInvoke(main.clj:384)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.lang.Var.invoke(Var.java:379)
	at clojure.lang.AFn.applyToHelper(AFn.java:154)
	at clojure.lang.Var.applyTo(Var.java:700)
	at clojure.main.main(main.java:37)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number
	at clojure.lang.Numbers.add(Numbers.java:128)
	at clojure.lang.Numbers.add(Numbers.java:3640)
	at user$eval4.invokeStatic(prog.clj:5)
	at user$eval4.invoke(prog.clj:5)
	at clojure.lang.Compiler.eval(Compiler.java:6927)
	at clojure.lang.Compiler.load(Compiler.java:7379)
	... 11 more