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
ContT
only because I've heard thatSelectT
is a weaker version of it, so ifliftLocal
is 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.