Ich bin derzeit versucht, die 20 Intermediate Haskell Excercises excercises und bin stecken zu lösen, die mapM
umzusetzen versuchen (die moppy
im excercise ist) ohne die Verwendung von sequence
.MAPM zu implementieren, ohne
Alles, was ich produzieren kann, ist ein [m b]
durch einfache fmap
Anwendung, aber ich weiß nicht, wie es weitergeht:
moppy :: [a] -> (a -> m b) -> m [b]
moppy la f = furry' f la -- how do I transform [m b] to m [b] without sequence
Kann jemand mir einen Tip geben, in welcher Richtung zu suchen?
Im Allgemeinen, wenn Sie jemals mehr „Kontext“ als 'map' hinzufügen möchten Sie können entweder eine Falte oder eine explizite Rekursion verwenden, um Ihre Datenstruktur zu durchlaufen. – badcook