Re: Resources for learning techniques for isolating pure functions

2013-11-01 Thread Ben Brinckerhoff
Thanks for the links to the talks. I enjoyed them. In particular, in "Thinking in Data", Stuart discussed a way to isolate side effects: ;; Bad (defn complex-process [state] (let [result (computation state)] (if (condition? result) (launch-missile) (erase-hard-drive ;; Bet

Re: Resources for learning techniques for isolating pure functions

2013-10-31 Thread Gary Trakhman
Well, though your DB is side-effects, your functions that write to it don't have to be aware of that. That's more a matter of dependency injection, passing components around, and being careful to return a new object from each operation. Once you decouple your components from each other via some k

Re: Resources for learning techniques for isolating pure functions

2013-10-31 Thread Jozef Wagner
Following presentations may help http://www.infoq.com/presentations/Clojure-Design-Patterns http://www.infoq.com/presentations/Thinking-in-Data JW On Thu, Oct 31, 2013 at 3:42 AM, Ben Brinckerhoff wrote: > Clojure is the first functional programming language I've used for > anything more than

Resources for learning techniques for isolating pure functions

2013-10-30 Thread Ben Brinckerhoff
Clojure is the first functional programming language I've used for anything more than toy examples, so I'm learning functional programming in general as well as Clojure specifically. I understand the value of creating pure functions in theory, but when writing applications, I'm finding that logi