A command-line interface for user input, written in Haskell