faule version von mapM

Angenommen, ich erhalte während der Arbeit mit IO eine große Liste von Elementen:

as <- getLargeList

Jetzt versuche ich mich zu bewerbenfn :: a -> IO b auf zuas:

as <- getLargeList
bs <- mapM fn as

mapM hat TypmapM :: Monad m => (a -> m b) -> [a] -> m [b], und das ist, was ich in Bezug auf die Typanpassung brauche. Aber es baut die gesamte Kette im Speicher auf, bis das Ergebnis zurückgegeben wird. Ich suche analog vonmapM, was faul arbeiten wird, damit ich den Kopf benutzen kannbs während sich der Schwanz noch aufbaut.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage