I am looking into declarative programming languages. More specifically I am looking into the functional language Haskell; The concept of functional programming intrigues me. I want to know why/how it is helpful and what I can do with it. In this process, I am also learning about more about imperative languages, so I win all around.