Functional programming is one of the tools programmers use to solve some of the problems plaguing us today - complexity and concurrency being just two examples. But this style of programming requires a dramatic shift from imperative programming in how one thinks about the problems at hand. What if there was a programming language that allowed coders to play with functional programming concepts, without requiring them to completely shift their thought processes? Python is such a language, and has borrowed many aspects from functional programming languages (such as Haskell) and has incorporated them into its libraries and common usage. For those imperative programmers looking to experiment with functional languages, Python serves as an ideal “gateway,” allowing programmers to explore many of the ideas important to functional programming and giving them a leg up when it comes to moving into a more fully-functional language like Haskell.
This talk will introduce Python and Haskell programming languages and show how Python can be used as an intermediary to learning the basics of not just Haskell, but functional programming as a whole.