Haskell
Introduction to Functional Programming using Haskell
Chapter1 - Introduction
Chapter2 - Types and Classes
Chapter3 - Functions
Chapter4 - List
Chapter5 - Recursive Functions
Chapter6 - Higher-Order Functions
Chapter7 - Functional Parsers and Monads
Chapter8 - Interactive Programs
Chapter9 - Declaring Types and Classes
Chapter10 - The Countdown Problem