Apprendre le concept de monade avec Rust
(techblog.samsung.com)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
Merci pour cet excellent article.
Du Rust au travail, quelle chance.
J’aimerais que le code soit affiché sous forme de texte plutôt qu’en image
Je suis d’accord.
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
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.
Tout n’est pas un endofoncteur. Les types avec plusieurs paramètres de type, comme
Result<T, E>, ne sont pas de la forme 𝒞 → 𝒞 maisResult : 𝒞 × 𝒞 → 𝒞, donc ce genre de chose est un bifoncteur.