Disons que j'ai une liste de valeurs à laquelle je veux appliquer une séquence d'opérations jusqu'à ce que je reçois un résultat final:Comment exécuter une séquence d'opérations (fonctions) dans Haskell?
[0, 1, 2]
firstOperation xs = map (+1) xs
secondOperation xs = filter even xs
thirdOperation xs = sum xs
Même si je suis sûr qu'il ya d'autres meilleures façons de gérer cela, le seul Je sais actuellement est de définir une fonction qui appelle toutes ces fonctions imbriquées les unes dans les autres:
runAllOperations xs = thirdOperation (secondOperation (firstOperation xs))
mais cela est à la fois laid et pose le problème que si j'ai 10 opérations, transforme ce bit de code dans un cauchemar maintanance .
Quelle est la bonne façon d'implémenter quelque chose du genre ici? Gardez à l'esprit l'exemple que j'ai donné ci-dessus est juste une simplification excessive de ce que je fais face à mon projet actuel.
Quand je regarde vos extraits de code que je vois que les transformations que vous souhaitez appliquer à une entrée. Où sont les opérations? Astuce: Je pense que vous pensez à Haskell dans le mauvais sens et vous posez donc la mauvaise question sans le savoir. –
Je crois aussi que c'est le cas. Malheureusement :( –