3 ms·
The problem of Lisp is the side-effecting nature of it. There's nothing complex in metaprogramming, if you do it in pure setting. The problems arise when you co
by thesz 11y ago
The problem of Lisp is the side-effecting nature of it. There's nothing complex in metaprogramming, if you do it in pure setting. The problems arise when you combine two differently side-effecting pieces of software and Lisp does nothing to prevent that or help there.
I won't stop repeat that mantra that side effects and program state are an implicit information channel in a program. This channel is shared by many parts (or parties) inside program and it has some specific implicitly specified protocol of use. Add a piece of software that uses the channel with slightly different protocol as assumption, get ready for all sorts of problems.
- junke 11y agoOf course there are side-effects. This is the whole point of a dynamic _system_ where (almost) everything can be redefined at runtime.