[Haskell-cafe] first post
chad.scherrer at pnl.gov
Wed Nov 30 19:31:52 EST 2005
Because the load function interacts with the outside world, its type
involves the IO monad. You can get the result you're looking for using
liftM parse load
liftM takes an ordinary function and applies it to a monadic value (here
the monad is IO), returning another monadic value.
Or, if you're using ghci, you could just do
s <- load
This is because ghci executes "in the IO monad" (maybe there are some
details of this I'm missing, but that's how I think of it anyway.
BTW, your load function could be equivalently written simply as
load = readFile "parse.hs"
More information about the Haskell-Cafe