Coerência em Classes de Tipos: Uma Comparação entre Swift, Rust, Scala e Haskell

2025-03-12
Coerência em Classes de Tipos: Uma Comparação entre Swift, Rust, Scala e Haskell

Classes de tipos são um mecanismo popular para programação genérica, usado em linguagens como Haskell, Swift, Rust e Scala. No entanto, a programação implícita, embora conveniente, pode levar à ambiguidade na inferência de tipos, colocando em risco a coerência (a propriedade de que um programa tem exatamente um significado). A comunidade de pesquisa está dividida: alguns favorecem a resolução sensível ao contexto; outros defendem instâncias globalmente únicas para evitar ambiguidades. Este artigo compara como essas quatro linguagens abordam a coerência da classe de tipos, revelando que, apesar das diferenças sintáticas, suas estratégias para contornar as limitações de instâncias únicas são surpreendentemente semelhantes.