Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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



Not only due to homoiconic nature. All (well, technically not all, let's say most) Lisp dialects are homoiconic. Yet, there are some other aspects that make Clojure specifically well-suited for data manipulation:

- 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: