From Ruby to Haskell, Part 2: Similarity, Refactoring, and Patterns | Dark Hacker News