What code is the essence of an application? Is it concentrated together or spread all over the codebase? In our latest episode, we find a clear and pure heart in our application, unclouded by side effects. https://clojuredesign.club/episode/117-pure-understanding/
@raymcdermott Oh that's interesting that it came across that way. I wasn't try to communicate that working with pure models is hard, per se. I was trying to say that my goal is to maximize the amount of code in pure models and minimize the amount of code in any function that has a side effect. That means most of the code ends up in pure models, so most of the effort is there too. I would agree that most of the suffering and thrash is around side effects!
Yeah I mean the true pain usually comes from handling errors and exceptions from the messy / unreliable / complex edges ... and then we can do the hard work of making the code actually do what we want π so I think we're on the same page
In response to the podcast, I wanted to say the side effects are the hard part. Pure functions and data models are usually much simpler by comparison - the logic is unencumbered by edge cases over hardware and other failures. To my mind, itβs why the functional core / imperative shell is so attractive. I slightly got the impression that you were claiming that working with the models was the hard part. Was I listening wrong?
Anyone want to share tips on working with pure data models?