My implementation of a Haskell-based shell