저는 Real World Haskell의 Monads 장을 읽었습니다 (14 장).MonadState를 설치 한 이유는 무엇입니까?
type RandomState a = State StdGen a
getRandom :: Random a => RandomState a
getRandom =
get >>= \gen ->
let (val, gen')= random gen in
put gen' >>
return val
난 정말 GET의 목적을 이해하고 여기에 기능을 넣어하지 않는 다음과 같이 함수는 defined입니다.
getRandom2 :: Random a => RandomState a
getRandom2= State $ \ s -> random s
그래서 제 질문은 다음과 같습니다 : 및 일반에 넣어 얻을의 목적은 무엇 나는 같은 일을하는 것보다 간결 다음과 같은 기능을 다시 썼다?
이 경우, 또는 일반적으로'get' 및'put'의 목적은 무엇입니까? 그들의 사용은 후자의 경우에 더 쉽게 설명 될 수 있습니다 ... – kennytm
일반적으로; 내 질문을 수정하겠습니다. – CiscoIPPhone