Provide an introduction to functional programming using Haskell with an emphasis towards data analysis.
To get to the point of being able to:
- Feel comfortable navigating the Unix/Linux command line (aka. Terminal).
- Create programs that read text, perform analysis, and print out results.
- Understand and break a problem down into a manageable sequence of steps:
- What are the input data?
- What are the results of the analysis? How should they be presented?
- What are the intermediate stages (datatypes) and steps (functions)?
No prior programming experience required. Just a laptop running Mac or Linux with the Haskell tools installed.
All our work is done from the Linux command line. Just a basic understanding of how to navigate directories and manipulate files will suffice.
Though any text editor will do, learning Vim or Emacs is recommended.
- Haskell WikiBook
- Learn You a Haskell for Great Good!
- 99 Haskell Problems: If you can do all 99, you're awesome!
- Haskell Mailing Lists: The Haskell-Cafe and Beginners lists are great for newcomers.
- Stackoverflow
- Lambda Ladies
- Pittsburgh Functional Programming Meetup
- Hoogle: Search Haskell libraries by name or type signature.
- Haskell Libraries: The standard libraries that come with GHC.
- Hackage: A huge collection of various programs and libraries developed by the Haskell community.