https://nokomprendo.gitlab.io/posts/tuto_fonctionnel_52/2021-02-06-fr-README.html
Les types de données algébriques (ADT) sont des types composites très utiles dans des langages comme Haskell, Rust ou encore OCaml. Grossièrement, ils permettent à l’utilisateur de définir des types d’énumérations et des types de structures. En réalité, ils sont bien plus puissants que cela car ils supportent également le pattern-matching, la récursivité, du polymorphisme et même les types de données algébriques généralisés (GADT).
Cet article présente les ADT et les GADT en Haskell ainsi qu’un exemple d’utilisation classique.