Léxico de TI › Programação › Tipo de dado algébrico

Tipo de dado algébrico

Programação Svenska → Atualizado: 2026-09-27

Tipos construídos a partir de "soma" (ou) e "produto" (e) — o enum do Rust, o data do Haskell, o type do OCaml. Habilitam pattern matching e verificação exaustiva em tempo de compilação.

Tipo produto = struct/tupla (contém A e B). Tipo soma = enum/union (contém A ou B). Combinam-se recursivamente: enum Tree { Leaf, Node(Tree, i32, Tree) }. Nascidos na tradição de ML/Haskell, se espalharam para Rust, Swift, Kotlin, TypeScript (via tagged unions) e Scala 3. Fundamentais para o design "torne estados ilegais irrepresentáveis" — se um usuário é "Anônimo" ou "Autenticado { id, nome }", o compilador consegue garantir que nenhum dos dois casos seja esquecido.

← Voltar ao léxico