Czytam rozdział Monady w świecie rzeczywistym Haskell (rozdział 14). Funkcja jest defined następująco:Powód pobierania i wkładania 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
ja naprawdę nie rozumiem cel zdobyć i umieścić tutaj funkcje. przepisałem funkcję w następujący sposób, który wydaje się robić to samo i jest bardziej zwięzły:
getRandom2 :: Random a => RandomState a
getRandom2= State $ \ s -> random s
Więc moje pytanie brzmi: Co jest celem uzyskania i umieścić w ogóle?
Tylko w tym przypadku, lub w celu "get" i "put" w ogóle? Ich użycie może być łatwiej wyjaśnione w tym drugim przypadku ... – kennytm
Ogólnie; Będę edytować moje pytanie. – CiscoIPPhone