[Haskell-cafe] Monad transformer, liftIO

2009-04-03 Thread Michael Roth
Hello list, maybe I'm just stupid, I'm trying to do something like this: import Control.Monad import Control.Monad.Trans import Control.Monad.List foobar = do a - [1,2,3] b - [4,5,6] liftIO $ putStrLn $ (show a) ++

Re: [Haskell-cafe] Monad transformer, liftIO

2009-04-03 Thread Andrew Wagner
You haven't really said what happens when you try this, but I would bet that things would be clarified greatly if you put type signatures on your two definitions. On Fri, Apr 3, 2009 at 12:49 PM, Michael Roth mr...@nessie.de wrote: Hello list, maybe I'm just stupid, I'm trying to do something

Re: [Haskell-cafe] Monad transformer, liftIO

2009-04-03 Thread Creighton Hogg
On Fri, Apr 3, 2009 at 11:49 AM, Michael Roth mr...@nessie.de wrote: Hello list, maybe I'm just stupid, I'm trying to do something like this:        import Control.Monad        import Control.Monad.Trans        import Control.Monad.List        foobar = do                a - [1,2,3]    

Re: [Haskell-cafe] Monad transformer, liftIO

2009-04-03 Thread Michael Roth
Creighton Hogg schrieb: Okay, so I think what you want is [...] Yes. Your solution works. Thank you. But: a - msum . map return $ [1,2,3] Why Do I need this msum . map return thing? The map return part is somewhat clear. But not entirely. Which type of monad is created here? The