I believe this is one of the major goals of http://book.realworldhaskell.org/read/
With this book, we want to show you how to use functional programming and Haskell to solve realistic problems. This is a hands-on book: every chapter contains dozens of code samples, and many contain complete applications.