4 ms·
If your abstractions are good, why would they not be easily useable by other people?
by mac01021 6y ago
If your abstractions are good, why would they not be easily useable by other people?
- dunefox 6y agoExactly. I never understood the "Lisp curse". Every language allows one to write overly complicated, bad code. Lisp just makes it easier due to homoiconicity and macros - but nothing is keeping a company from conducting code reviews and having code standards, like for every other language.
- sbergot 6y agobecause Lisp allows you to define language-level abstractions that affects the control flow. Those "abstractions" are always leaky and everyone has to understand their implementation to be able to work with them or read code that uses them. Other language limit what you can do with abstraction. You get libraries with less nice api's but you have less digging to do to understand a piece of code that make use of them.
- TeMPOraL 6y agoDisagree. "Control flow-affecting" abstractions aren't really anything special or extra difficult. You always have to understand what the arguments of a function/macro call mean. And random macros don't just randomly leak project-wide control flow decisions.
- aidenn0 6y agoInversion of control is used on large teams and at it's best it is IMO more leaky and harder to understand than well written control-flow macros in lisp.
- codr7 6y agoBecause they're custom, and given enough people on a team everyone has to deal with lots of custom abstractions. I'm not talking about adding a WHILE-loop, it's really the least interesting use of macros from my perspective.