Thank you. I will look at the immutability part. I remember taking Racket in school a few years ago and that was a major thing about FPL like Racket / Lisp.
I have always wanted to look at building something again in one of the popular FPLs.
I have always wanted to look at building something again in one of the popular FPLs.
Python also allows for functional programming to a certain degree, but clojure is a lot more powerful when it comes to language extensions.
Threads as a library (for js environments) for clojure. https://github.com/clojure/core.async
Logic programming for clojure. https://github.com/clojure/core.logic
Declarative UI building, with dataflow semantics. http://reagent-project.github.io
Additionally immutability makes your life a lot easier. Parallel computing in clojure is a no brainer, you just change your map to pmap, and that's it.