Si ce sont des fonctions, à savoir pur, vous pouvez utiliser ($)
ou « appliquer »:
execute functions argument = map ($argument) functions
-- execute [id,(1+),(1-)] 12 => [12,13,-11]
Il n'y a aucune garantie que cela se produit en séquence bien sûr, mais vous obtiendrez une liste de les valeurs de retour.
Si ce sont des actions, soit impur, alors ce que vous voulez est appelé sequence_
:
sequence_ [putStr "Hello", putStr " world", putStrLn "!"]
sequence_
est assez facile de vous écrire:
sequence_ [] = return()
sequence_ (action:actions) = action >> sequence_ actions
Il y a aussi un sequence
(sans souligner) qui exécute un tas d'actions et renvoie leurs résultats:
main = do
ss <- sequence [readFile "foo.txt", readFile "bar.txt", readFile "baz.txt"]
-- or ss <- mapM readFile ["foo.txt", "bar.txt", "baz.txt"]
phrase ce que vous voulez faire en tant que signature de type et branchez-le Hoogle: http://www.haskell.org/hoogle/ – jberryman