Learning Haskell by solving project Euler problems