Discussion about this post

User's avatar
Andy Marks's avatar

In recognition of your "real-world systems eventually need to mutate state..." statement, there is an approach to software design that deliberately layers code based on whether it can be purely functional or must have side-effects. It is often called 'functional core, imperative shell' (https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell)

Expand full comment
1 more comment...

No posts

Ready for more?