
17 Nov
2014
17 Nov
'14
1:37 a.m.
Hello everybody, I created an elevator to navigate a monad transformer stack, liberating us from creating a Monad* class and instances. The key function, elevate, can be whatever you need: elevate :: IO a -> IO a elevate :: IO a -> StateT s IO a elevate :: State s a -> StateT s IO a elevate :: IO a -> MaybeT (StateT s IO) a If you want to elevate actions above your monad, just write instance Tower YourMonad to declare that YourMonad is one-storied. Hackage: http://hackage.haskell.org/package/elevator-0.1/docs/Control-Elevator.html Cheers Fumiaki Kinoshita