From Ruby to Haskell, Part 2: Similarity, Refactoring, and Patterns
bendyworks.com