Tutorial from Haskell wiki to parser imperative langauge while using applicative functor