3 ms·
It’s also of course in the fundamental nature of Lisp that you can change the language by importing stuff rather than actually editing the core implementation.
by closeparen 5y ago
It’s also of course in the fundamental nature of Lisp that you can change the language by importing stuff rather than actually editing the core implementation.
- dimitar 5y agoClojure somewhat limits that by not having reader macros
- dwohnitmok 5y agoClojure has explicitly walked back some of that flexibility of "changing the language" by deciding against reader macros in return for better interoperability of packages.
- nikonyrh 5y agoYeah I was about to highlight this, for example the core.async library bringing "go channels". Like the `while` loop is not "part of the language", it is a macro which rewrites it as a `loop`. Also `for` is just a macro, feel free to write your own version without needing to fork the language itself. This might be a difficult concept to understand to people who have only used Python, JS, C# etc.