|
|
|
|
|
by SerCe
526 days ago
|
|
They most likely refer to homoiconicity [1], as Clojure is a dialect of Lisp. However, it's hard to say for sure, and maybe they were simply referring to the built-in syntax for maps, lists, etc. [1]: https://en.wikipedia.org/wiki/Homoiconicity |
|
- immutability and persistent data structures (makes code easier to reason about [the data]; enables efficient concurrency - no locks; some algorithmic tricks that makes it very performant despite having to create copies of collections),
- seq abstraction - unlike other Lisp where sequence functions are often specialized for different types, Clojure simplifies things by making baked-in abstraction central to the language - all core functions work with seqs by default. it emphasizes lazy sequences as a unified way to process data, i.e., memory efficiency and infinite sequences, etc.
- rich standard library of functions for data transformation
- destructuring - makes code both cleaner and more declarative
- emphasis on pure functions working on simple data structures
The combination of these features makes data processing in Clojure particularly elegant and efficient.