Até onde eu sei, uma função Haskell com restrições de classes de tipo é compilada internamente para uma função com argumentos adicionais que recebem dicionários com as implementações necessárias de cada classe de tipo específica.
- Existem outras possibilidades de compilação de classes de tipo?
- Em caso afirmativo, quais são suas (des) vantagens?
- E quais compiladores os usam?
4
Há bastante literatura sobre o assunto. Talvez comece com Implementing Type Classes de J. Peterson, M. Jones. Você também pode olhar para Classes de tipos como objetos e implícitos de Oliveira et al., Que fala sobre isso no contexto de Scala, mas tem uma seção bastante ampla sobre trabalhos relacionados.
—
Martin Berger
Encontrei um link para o artigo: Implementando classes de tipo. John Peterson e Mark P. Jones .
—
Petr Pudlák
@MartinBerger faz disso uma resposta?
—
Suresh Venkat
O outro pode ser encontrado aqui .
—
Martin Berger
@Suresh Venkat, eu não queria responder, porque não tenho certeza de que essas duas sejam as melhores ou até boas respostas. Já faz um tempo desde que eu analisei implementações de linguagens funcionais. Talvez alguns dos bods PF residentes podem gritei.
—
Martin Berger