How do people who write Clojure deal with lack of type checking? And auto-complete when it comes to Java library interop? I tried Clojure, to build a tool on top of a popular Java library that I was new to. And compared to other JVM languages it was not good because there was no type-checking or intellisense/autocomplete popups for the methods.
The lack of type checking is due to the entirely different paradigm that Clojure is built around. There are many benefits to it, but I can understand the frustration if you expect to use the language in a way that goes against that, especially when dealing with the interop layers. The fact that it is built upon the JVM is powerful but it's not necessarily an easy language switching from a language like Java.