Programmation fonctionnelle et principe de réalité: gérer les effets


On dit que la programmation fonctionnelle n'est pas destinée à résoudre des problèmes du monde réel, qu'elle n'est bonne que pour la calculabilité. Je vous propose de découvrir comment contrôler les effets d'une application pour répondre aux attentes du monde réel !


La programmation fonctionnelle “pure” est incroyablement efficace pour “calculer”. Mais dans le monde réel, il arrive souvent que l’on doive sortir du périmètre de la “calculabilité”. En effet, on veut communiquer avec des base de données, interagir avec l’utilisateur, avec un système de fichiers… on veut “effectuer des effets”. C’est en partie pour la gestion de ces effets que l’on pense la programmation fonctionnelle n’est pas adaptée au monde réel.

Dans cette présentation, je vous propose de comprendre comment construire des programmes qui peuvent exécuter des effets, tout en restant pur. Quels sont les méthodes développées par la recherches qui ont inspiré des bibliothèque comme Cats dans le monde Scala et Arrow.Fx dans le monde Kotlin.

Pour être agnostique du langage, l’ensemble des exemples seront présentés dans un pseudo-langage minimaliste qui n’expose que les outils nécéssaires à la construction de programme à effets. Je vous propose de découvrir pourquoi les coroutines de Kotlin sont un ingrédient essentiel à la construction de programme où l’on contrôle les effets en saupoudrant les différentes méthodes d’un peu d’histoire.


Tech

Tech

#TALK en Français

Xavier Van de Woestyne

Margo Bank

I love programming languages (like OCaml, Elm, Elixir/Erlang, IO, Kotlin and almost Scala), Types systems and Web programming. I'm Data Engineer at Margo Bank.