Thinking in Functional programming
spooneybarger: a couple things that i have seen help get into a more functional state of mind:make everything you can immutable. find a problem where you can build most of it without changing 'the state of the world'. function takes data, spits out answer which is feed into the next.refactor commonalities from part 1 by passing around functions, closures, etc etc. all your good functional fun toys.add your mutable core around the outside.