[Haskell-cafe] runSubStateT
PkmX
pkmx.tw at gmail.com
Tue Jan 27 22:20:45 UTC 2015
Isn't this exactly what the `zoom` function does from `Control.Lens.Zoom`?
> flip execState (1, 1) $ zoom _1 $ modify succ
(2, 1)
On Wed, Jan 28, 2015 at 6:14 AM, Christopher Done <chrisdone at gmail.com> wrote:
> runSubStateT :: Monad m
> => (s -> s') -> (s' -> s) -> StateT s' m a -> StateT s m a
> runSubStateT to from m =
> StateT (\s ->
> liftM (\(a,s') -> (a,from s'))
> (runStateT m (to s)))
>
> Anyone ever needed something like this? Does it already exist in some
> form in the standard libraries?
>
> Ciao
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
--
Chih-Mao Chen (PkmX)
System Software Laboratory
Department of Computer Science
National Chiao Tung University
More information about the Haskell-Cafe
mailing list