26 points par jamiecha 2025-07-28 | 7 commentaires | Partager sur WhatsApp

Bonjour, je partage un article qui explique de manière relativement accessible la « monade », un concept majeur de la programmation fonctionnelle.
Il est structuré de façon à vous permettre de la comprendre pas à pas à partir de petits exemples basés sur le langage Rust.

7 commentaires

 
t7vonn 2025-08-05

Merci pour cet excellent article.

 
roxie 2025-08-05

Du Rust au travail, quelle chance.

 
carnoxen 2025-07-30

J’aimerais que le code soit affiché sous forme de texte plutôt qu’en image

 
2k1m0 2025-08-06

Je suis d’accord.

 
simnalamburt 2025-07-29

C’est un bon article ! En revanche, l’explication concernant l’endopunctor comporte une erreur, donc il serait préférable de la corriger : https://x.com/simnalamburt/status/1950074970647761168?s=46

 
jamiecha 2025-07-29

C’est tout à fait exact !
Je pense qu’il y a eu un malentendu dans le processus d’application à Rust d’un contenu rédigé dans un autre langage.
Comme le système de types de Rust constitue une seule catégorie, il semble que la distinction entre endofoncteur et foncteur ordinaire n’ait pas vraiment de sens.
C’est dommage qu’il n’y ait pas de fonction de commentaire sur le blog, mais je vais demander s’il est possible de solliciter une correction.

 
simnalamburt 2025-07-29

Tout n’est pas un endofoncteur. Les types avec plusieurs paramètres de type, comme Result<T, E>, ne sont pas de la forme 𝒞 → 𝒞 mais Result : 𝒞 × 𝒞 → 𝒞, donc ce genre de chose est un bifoncteur.