Ich lese das Kapitel Monaden in Real World Haskell (Kapitel 14). Eine Funktion ist defined wie folgt:Der Grund für MonadState bekommen und setzen?
type RandomState a = State StdGen a
getRandom :: Random a => RandomState a
getRandom =
get >>= \gen ->
let (val, gen')= random gen in
put gen' >>
return val
verstehe ich nicht wirklich den Zweck der Erfassung und Wiedergabe hier Funktionen setzen. schrieb ich die Funktion, wie folgend, die die gleiche Sache zu tun scheint und ist prägnanter:
getRandom2 :: Random a => RandomState a
getRandom2= State $ \ s -> random s
Also meine Frage ist: Was ist der Zweck ist und im Allgemeinen gestellt bekommen?
Nur in diesem Fall, oder der Zweck von "get" und "Put" im Allgemeinen? Ihre Verwendung kann im letzteren Fall leichter erklärt werden ... – kennytm
Im Allgemeinen; Ich werde meine Frage bearbeiten. – CiscoIPPhone