Mini language in Haskell