Dopo aver letto un paio di tutorial sulle monadi di stato Haskell, volevo provarli io stesso. I tutorial che ho letto sostengono che il Control.Monad.State fornire la seguente definizione:Dov'è il costruttore di dati per "Stato"?
newtype State s a = State { runState :: s -> (a,s) }
Tuttavia, mi sembra di avere problemi trovare il costruttore di dati State
:
Prelude> import Control.Monad.State
Prelude Control.Monad.State> :t State
<interactive>:1:1:
Not in scope: data constructor `State'
Perhaps you meant `StateT' (imported from Control.Monad.State)
Ho anche provato un Hoogle cercare State
ma non ha trovato alcun costruttore di dati con il tipo previsto.
Dove è finito il costruttore State
? È mai esistito? O sto solo guardando nel posto sbagliato? In sostanza vorrei sapere cosa devo fare per creare una monade di stato.