concrete functor and monad transformers
#40Define liftLocal for SelectT
Do you mean:
liftLocal :: (Monad m) => ((r' -> r') -> m a -> m a) -> (r' -> r') -> SelectT r m a -> SelectT r m a liftLocal local f m = SelectT $ c -> local f (runSelectT m c)
(rather different from the ContT one)?
I don't have particular expectations for the behavior of the function. I mentioned
ContTonly because I've heard thatSelectTis a weaker version of it, so ifliftLocalis possible forContT, it must be possible forSelectT.- status set to closed
I've added mapSelectT, of which the above definition is a special case. It's not a true map though, because SelectT isn't a functor in the category of monads. For the same reason, it's not clear what an appropriate lifting is, so I'll close this awaiting a proposed definition.