> "3(1 2)"
Yup, I'm out.
> "3(1 2)"
Yup, I'm out.
If you try that in Clojure, you'll get:
> ClassCastException class clojure.lang.PersistentList cannot be cast to class java.lang.Number
If you try it in a "proper" ClojureScript dev environment (shadow-cljs), you get nil as a result with this warning:
> cljs.core/+, all arguments must be numbers, got [number cljs.core/IList] instead
This is one of the real problems of clojure: you need some knowledge of the host language. It's also one of it's major strengths, and the only reason a lisp managed to get so much (relative) commercial traction.
(reference to: https://www.destroyallsoftware.com/talks/wat)
> (type (+ 1 2 '(1 2)))
#object[String]1 and 2 are integers. '(1 2) is a list. None of them are strings, but + helpfully converts them to strings because ClojureScript is leaking some of JavaScript's wat behavior.
The same under Clojure (on top of the JVM) shall throw a class cast exception.