Arguably one of the most interesting features of Clojure is its ability to provide functionality that allows the user to redefine the language and add their own features that aren’t available by default. I mean, how many times have you written some code (in whatever language, but let’s say JavaScript) and thought “I really wish I had feature X from language Y”?
With a language such as JavaScript , I’m willing to bet that happens a lot. I’m sure there will be some JavaScript developers who would counter with a point about compilers being available that let you compile valid ES7 code down to ES5 code (for ...