The Haskell Road to Logic, Maths and Programming. Second Edition by