(defn foo [bar]
(let [whatnot (+ bar 3)]
(defn frobnicate [quux]
(println "Hello" quux))
It never occured to me that a modern, not-low-level well-received language would have this limitation. And I feel like I'm part of the target demographic for Clojure. I'm an experienced Java and Python coder. I know and like Lisp. I'm interested in learning a new language. And I did what I thought I was supposed to--I read the list of differences between Clojure and other Lisps on the official site. I read a tutorial that concisely addressed Clojure syntax, data structures, special forms and so forth in a way designed for people who already knew how to program.
And there's a lot of things I like--better data structures, the lambda reader macro, the judicious use of brackets to avoid paren soup, Java interop, and more things that I'm only discovering as I gain more experience.
But I'm still kind of in shock about having to declare methods. A completely unexpected wart.
error: java.lang.Exception: Unable to resolve symbol: frobnicate in this context