[Haskell-cafe] Terminal-like Application Design
Jason Dusek
jason.dusek at gmail.com
Thu Oct 16 19:37:14 EDT 2008
Jeff Wheeler <jeff at nokrev.com> wrote:
> I suspect I should be using some sort of monad to represent the commands,
> but I don't fully understand monads, and am not sure how it would apply in
> this context.
>
> Should I be using a monad here, and if so, how?
At risk of stating the obvious, you will need to us the IO
monad...
When you say "use a monad to represent" the commands, that is
perhaps not necessary. You can represent the commands as data,
for example:
data MyLanguage = Go | Stop | Left | Right
runMyLanguage :: MyLanguage -> IO ()
The `runMyLanguage` function serves to transform commands
as pure data into real IO actions.
--
_jsn
More information about the Haskell-Cafe
mailing list