MonadState, State và StateT trong Haskell
Lớp kiểu MonadState
class Monad m => MonadState s m | m -> s where
layTrangThai :: m s
layTrangThai = trangThai (\s -> (s, s))
datTrangThai :: s -> m ()
datTrangThai s = trangThai (\_ -> ((), s))
trangThai :: (s -> (a, s)) -> m a
trangThai f = do
s <- layTrangThai
let ~(a, s') = f s
...
Đăng vào ngày 17 tháng 6 lúc 01:41