Ich dachte, es war liftM
, aber die Art Unterschrift scheint nicht richtig. Ich hatte gehofft, für eine Funktion wie:Kann nicht herausfinden, welche Monade-Funktion ich suche
someFunc :: Monad m => (a -> b) -> a -> m b
someFunc f = return . f
Ich weiß, dass ich dies mit dem obigen Code definieren kann, aber mein Bauch sagt dies existiert bereits und ich bin nur sehe es aus irgendeinem Grunde nicht.
zB:
main = do
n_tmp <- getLine
let n = read n_tmp :: Int
vs
main = do
getLine >>= someFunc read :: IO Int
Oder bin ich nur Dinge schrecklich falsch?
In diesem speziellen Fall wahrscheinlich nur 'verwenden – agoebel