Interpreter for IMP programming language in Haskell