Functional Programming is now part of the A level curriculum. This document is intended to get those who already have some programming experience in an imperative language (such as Python or Java) up and running in Haskell, one of the functional languages recommended by AQA specification 7516.
# Important!
Please note, if you have no experience of programming, then this document is not for you. Try learning an imperative language such as Python first. This is far from being a full course in Haskell, it's purely intended to get you through the A level syllabus. Many important features of Haskell are omitted, the most important being how Haskell handles types - you'll need to learn about these if you want to learn Haskell properly. A good place to start is [http://learnyouahaskell.com/](http://learnyouahaskell.com/) by Miran Lipovaca