Monade (informatique)
Un article de Wikipédia, l'encyclopédie libre.
Une monade est une structure de données avec un état. Elle sert typiquement à modéliser un aspect du monde extérieur au programme. Cela permet aux langages de programmation fonctionnelle de demeurer purs, c'est-à-dire sans effets de bord. La monade encapsule l'état du monde extérieur et est passée comme paramètre des opérations qui ont besoin de maintenir un état (un analyseur syntaxique, par exemple).
Elles sont notamment utilisées dans le langage de programmation Haskell pour les entrées/sorties. Dans Haskell, le programme principal, main, est une monade :
*Main> :t main main :: IO ()
Son type est donc IO. De même, toute fonction qui fait des entrées-sorties est une monade :
*Main> :t putStr putStr :: String -> IO ()
putStr prend une chaîne de caractères en paramètres et le résutat est une monade.
[modifier] Liens externes
- (en) All About Monads
- (en) Monads as Containers