Existe-t-il un moyen de sortir des "choses" d'une monade?Comment extraire une valeur d'une monade à Haskell?
Je développe un jeu, et j'essaie maintenant de comprendre les bases de données. J'ai trouvé happstack
vraiment gentil, mais je ne peux pas obtenir la chose.
Par exemple, j'ai cette fonction (espérons que vous connaissez avec happstack
)
getAllThings :: MonadIO m => m [Thing]
getAllThings = do
elems <- query GetThings
return elems
Alors je me m [Things]
, mais je ne peux pas l'utiliser dans mon modèle! Par exemple
doSomeThingWithThings :: [Thing] -> Something
Je l'ai googlé et je n'ai rien trouvé.
Vous pouvez profiter de [mes commentaires au sujet de l'imaginaire 'magicMonadUnwrap'] (http://stackoverflow.com/questions/7154518/unwrapping-a-monad/7156230#7156230) (réponse à une question StackOverflow similaire) –