4 ms·
because Lisp allows you to define language-level abstractions that affects the control flow. Those "abstractions" are always leaky and everyone has to understan
by sbergot 6y ago
because 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.