Насколько я знаю, функция Haskell с ограничениями классов типов внутренне компилируется в функцию с дополнительными аргументами, которые получают словари с необходимыми реализациями каждого конкретного класса типов.
- Есть ли другие возможности, как скомпилировать классы типов?
- Если да, каковы их (не) преимущества?
- И какие компиляторы их используют?
4
Есть довольно много литературы по этому вопросу. Возможно начать с Реализации Классов Типа Дж. Петерсоном, М. Джонсом. Вы также можете взглянуть на классы типов как объекты и следствия от Оливейры и др., Который говорит об этом в контексте Scala, но имеет довольно большой раздел по связанной работе.
—
Мартин Бергер
Я нашел ссылку на статью: Реализация классов типов. Джон Петерсон и Марк П. Джонс .
—
Петр Пудлак
@MartinBerger сделать это ответом?
—
Суреш Венкат
Другой можно найти здесь .
—
Мартин Бергер
@ Суреш Венкат, я не хотел, чтобы это было ответом, потому что я не уверен, что эти два - лучшие или даже хорошие ответы. Прошло много времени с тех пор, как я посмотрел на реализации функциональных языков. Может быть, некоторые из резидентских тел FP могут вмешаться.
—
Мартин Бергер