3 ms·
I can't but feel this is running head first into statements versus expressions. Specifically the part that views effects as growing in size and that being cont
by taeric 2y ago
I can't but feel this is running head first into statements versus expressions.
Specifically the part that views effects as growing in size and that being contrary to desired behavior. Strikes me as worrying about similar concerns.
Seems more that it is the eager evaluation of each line of code that is a problem. Nothing wrong with growing the footprint of concern on code. The problem is how to annotate the concern.
Consider, adding 'logger.whatever(...)' is likely not a concern to the program. Being able to annotate the logger as not an effect to check makes sense. Of course, all edge cases matter. Are the arguments eagerly evaluated? What if the logger doesn't even use them, due to level?
With lisp, the magic wasn't only that you can treat code as data, but also that you could define code that ran at different times. And you could largely do that in "user space."