Fork me on GitHub
#clojuredesign-podcast
<
2024-05-23
>
neumann17:05:10

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/

neumann17:05:29

Anyone want to share tips on working with pure data models?

ray12:05:50

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?

neumann16:05:48

@U04V5V0V4 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!

1
ray16:05:14

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

clojure-spin 1