|
|
|
|
|
by filoeleven
1415 days ago
|
|
When I started learning Clojure, I often found it helpful to look at the solutions in Clojure for coding puzzles which I already knew mostly how I’d tackle in a c-family language. The quality varies a lot: someone as new as I was would write a 30-line function using (for), then a few answers down I’d find a 3-line answer that used (frequencies), (juxt), or some other useful standard library function that I hadn’t discovered yet. Clojure differs from other lisps (from what I can see; haven’t spent much time with the others) with its emphasis on immutability-first, and by building a ton of functionality around the seq abstraction. Judging by the comments here, other lisps place more emphasis on meta programming. While “code is data” remains true and powerful in Clojure, I have not yet had to write a macro for myself. The homoiconicity is still quite nice. The chunk of lisp enlightenment I have a more sound claim to after learning Clojure is the power of the REPL. The ability to access any function, at any level of a running system, feed it any data to see how it responds, then change the function and see it immediately reflected without restarting anything, results in a very tight feedback loop that you won’t realize you missed elsewhere. |
|