Limestraël wrote: >> I'd like to make it very accessible, so please don't hesitate to report >> any difficulties with finding and understanding documentation and examples! > > Then I think the name 'Prompt' may be misleading for those who doesn't know > the MonadPrompt package. Maybe something like 'ProgramView' ?
Very good point. I'll change that in a future version. > Ok, but there is no function such as mapMonad in the operational package? No, not yet, but I'll probably add it, or at least its lesser cousin liftT :: Program instr a -> ProgramT instr m a to a future version of the library. Still pondering. > By the way, I noticed that ProgramT is not automatically made instance of > MonadIO when possible. It could be: > instance (MonadIO m) => MonadIO (ProgramT r m) where > liftIO = lift . liftIO > > Is that intentional? Yes and no. I refrained from making instances for the mtl classes because I have not clearly thought about the design consequences yet. I think that monad transformers are not the last word on modular computational effects yet and I don't want to paint myself into a corner. For example, as you note, the MonadIO instance could be deduced automatically from the MonadTrans instance. Of course, if I make operational interoperable with the mtl , then I better adhere to its style even if I'm not entirely happy with it. > By the way, I finally managed to use operational to modify my TicTacToe > game. Yay! :D > (One shot, by the way, I had no bugs ^^. Very nice when it happens...) > Human player and AI are working. I'm currently fixing the Network player. > If you are interested, I could upload my code (it can be another example of > how to use the operational package). Sending me / uploading your TicTacToe code would be great! I probably won't use it verbatim, but try to simplify it a bit to turn it into another easy to understand example of how to use operational . Regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe