O Que É um Sum Type?
Um sum type, também chamado de tagged union ou variante, é um tipo cujo valor é uma de um conjunto fixo de alternativas, com uma tag que identifica qual delas. Cada alternativa pode carregar seu próprio tipo de dado. O número de valores possíveis é a soma das possibilidades de suas variantes, que é de onde vem o nome.
Por que isso importa
Sum types modelam "um destes casos" com precisão e forçam o código a considerar cada caso, muitas vezes verificado por análise de exaustividade. Eles eliminam classes inteiras de bugs causados por representar alternativas com flags frouxamente relacionadas.
Guias relacionados
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 an Algebraic Data Type?An algebraic data type composes types as combinations of fields and alternatives, modeling data as products a…
What Is Pattern Matching?Pattern matching inspects a value against a set of shapes, selecting a branch and binding parts of the value…