O Que É um Algebraic Data Type?
Um algebraic data type é um tipo composto construído combinando outros tipos como produtos, que agrupam vários valores juntos, e somas, que oferecem uma escolha entre várias alternativas. Um valor de um sum type é exatamente uma de suas variantes, cada uma das quais pode carregar seus próprios dados. Isso permite modelar com precisão dados que podem assumir uma de várias formas.
Por que isso importa
Algebraic data types tornam estados inválidos irrepresentáveis ao codificar o conjunto exato de possibilidades que um valor pode assumir. Eles se combinam com pattern matching para tratar cada variante de forma explícita e segura.
Guias relacionados
What Is a Sum Type?A sum type holds a value that is exactly one of several named alternatives, each potentially carrying differe…
What Is a Product Type?A product type groups several values together at once, like a struct or tuple, so a value carries all of its…
What Is Pattern Matching?Pattern matching inspects a value against a set of shapes, selecting a branch and binding parts of the value…