An interpreter for the While language written in Haskell