- Article sur le « Railway Oriented Programming » (ROP), une méthode de gestion fonctionnelle des erreurs dans le développement logiciel
- Le ROP, fondé sur une métaphore ferroviaire, est facile à comprendre et ludique
- Création sur GitHub d’un projet comparant du C# classique et du F# en utilisant l’approche ROP
- Mise en garde contre une utilisation extrême du ROP, détaillée dans un texte intitulé « Against Railway-Oriented Programming »
- Sujet présenté dans diverses conférences, notamment NDC London 2014, NDC Oslo 2014 et Functional Programming eXchange 2014
- L’approche du ROP est liée à la monade Either de Haskell et à la composition de Kleisli, mais il ne s’agit pas d’une tentative de faire un tutoriel sur les monades
- Insistance sur l’importance de partir d’exemples concrets avant d’aller vers des concepts abstraits
- Approche ROP incluant des techniques comme l’utilisation d’une liste de types d’erreurs personnalisés, l’intégration de fonctions monadiques et non monadiques dans un pipeline, le mapping des exceptions vers des cas d’erreur, ou encore la combinaison parallèle de fonctions monadiques
- Objectif : fournir un modèle ROP polyvalent, facile à maintenir, qui impose un style cohérent
- Recommandation du projet Chessie pour celles et ceux qui veulent une bibliothèque F# prête à l’emploi fonctionnant avec NuGet
- Création d’un exemple de service web avec les techniques ROP et application de l’approche ROP à FizzBuzz
- Suggestions de lectures complémentaires, dont divers billets et tutoriels sur les monades, pour celles et ceux qui souhaitent approfondir Either et la composition de Kleisli
2 commentaires
Railway-Oriented Programming pour créer des programmes sans défauts
Discussion sur Hacker News
withen Elixir comme une implémentation pratique du ROP. Il permet l’exécution séquentielle de fonctions et autorise un retour anticipé lorsqu’une fonction ne correspond pas à la sortie attendue.