In this introduction to functional programming in Haskell you will learn powerful functional programming techniques such as immutable data structures, higher order functions, and lambdas. All major tech companies are adopting functional programming techniques, whether it's Scala at Twitter, MapReduce at Google, or Haskell at Facebook. In fact, early work on the Haskell functional programming language took place here at the University of Glasgow, and we've been teaching it to our undergraduate Computing Science students for many years. Also, in a series of exclusive interviews with key Haskell language designers, we will explore the history, present status and future prospects of functional programming. So now is the time to begin functional programming in Haskell.