[This talk was presented at TechTriveni 2.0 [https://techtriveni.com/speaker-anupam] on 24 Nov 2019.

"Haskell is the world's finest imperative programming language."

The above quote comes from Simon P Jones, the creator of Haskell. To newcomers to Functional programming, this may seem weird and mystifying. After all, Haskell is usually known for its advanced Functional programming features such as purity and strong static typing. While it's likely that Simon said this atleast partly in jest, the fact is that those same features also make imperative programming in Haskell much more flexible and powerful than in most other languages!

In this talk, we present a view of Haskell and strongly typed functional programming from the "other side" of the prism. We discuss how you can build and compose powerful imperative abstractions with Haskell using the same FP toolset.

At the end of the talk, participants should have enough groundwork to explore Haskell as a *practical* language, and have a greater appreciation of the powerful features offered by Functional Programming.