Hacker News new | ask | show | jobs
by skydhash 391 days ago
Lisp is a good example of boilerplate elimination. Simple data structure, versatile functions, you're often just one or two layer up in terms of abstractions. Most libraries are lateral instead of foundational to your use cases. Like you don't build on top of a web framework, you mesh with it.
1 comments

i feel like lisp owes more to compositionality than it owes to abstraction per se, as an antidote to complexity
I would say both. The list and its children (associated list and property list) are quite versatile. Struct in a typed language gave you benefits too, but the issue is loss of flexibility even if you have protocols like Swift or implicit interface like Go. With lisp you think in terms of data instead of bothering with names and interfaces. Most lisp functions are projections or builders.

Something similar, dx wise, could be achieved with using immutable maps, lists, and sets. But most languages relies on being able to mutate blob of memories.