Je crois que j'ai vaguement compris le principe des monades en Haskell, j'essaye de comprendre le concept mathématique (bien plus large), et tu as sûrement raison d'un point de vue pratique.
Par contre, il me semble que les monades en théorie de la programmation fonctionnelle, c'est pour que le langage garde son accès "pur" en n'ayant pas d'effets de bords pour garder les bonnes propriétés de la programmation fonctionnelle, intuitivement je dirai en se démerdant pour avoir l'état du système entier en paramètre de la fonction ...
Ça peut se voir comme un design pattern, genre un couple (valeur encapsulée*état du système) plus les fonctions générique qui permettent de construire et de manipuler ce type, et les fonctions d'ordre supérieur qui encapsulent des fonction qui traitent de la valeur ...
D'un autre côté ça permet de voir l'état du système non plus comme une variable globale qu'on modifie mais comme un "paramètre" d'une fonction qui retourne un autre état du système, c'est l'artifice qui permet de garder la pureté du langage ... j'ai bon ;) ?
[^] # Re: Quelques petites rectifications et une question
Posté par thoasm . En réponse au journal Go : Un nouveau langage chez Google. Évalué à 5.
Par contre, il me semble que les monades en théorie de la programmation fonctionnelle, c'est pour que le langage garde son accès "pur" en n'ayant pas d'effets de bords pour garder les bonnes propriétés de la programmation fonctionnelle, intuitivement je dirai en se démerdant pour avoir l'état du système entier en paramètre de la fonction ...
Ça peut se voir comme un design pattern, genre un couple (valeur encapsulée*état du système) plus les fonctions générique qui permettent de construire et de manipuler ce type, et les fonctions d'ordre supérieur qui encapsulent des fonction qui traitent de la valeur ...
D'un autre côté ça permet de voir l'état du système non plus comme une variable globale qu'on modifie mais comme un "paramètre" d'une fonction qui retourne un autre état du système, c'est l'artifice qui permet de garder la pureté du langage ... j'ai bon ;) ?