I’ve been throwing together some notes on functional programming in Clojure for a small presentation at work, and I thought it would be useful to show how even in a contrived, noddy example it was simple to bring reducers - and thus improved performance - into the picture.
Bringing in reducers is simple:
Then switching out (into [])
for foldcat
is trivial:
Finally, you can see how we could then look up the member associated with the transaction:
This is a very contrived code example, and probably needs a refactor, but you get the idea.
Update: when I presented this, it occurred to me that I’d been a naughty boy by not parameterizing the inputs to the function, so: