The Haskell road to logic, math and programming (2004)