C'è un modo per togliere "cose" da una monade?Come estrarre un valore da una monade in Haskell?
Sto sviluppando un gioco e ora sto cercando di capire i database. Ho trovato il happstack
davvero bello, ma non riesco a ottenere la cosa.
Per esempio, io ho questa funzione (spero si ha familiarità con happstack
)
getAllThings :: MonadIO m => m [Thing]
getAllThings = do
elems <- query GetThings
return elems
così ottengo m [Things]
, ma non riesco a utilizzare questo nel mio modello! Per esempio
doSomeThingWithThings :: [Thing] -> Something
Ho cercato su Google e non ho trovato nulla.
Si può godere di [i miei commenti circa l'immaginario 'magicMonadUnwrap'] (http://stackoverflow.com/questions/7154518/unwrapping-a-monad/7156230#7156230) (rispondi ad una domanda StackOverflow simile) –