Почему ограничение класса мешает мне определить тип строки - PullRequest
2 голосов
/ 03 марта 2020

Скажем, я пытаюсь определить type Test o e = Nub o e => e

Затем я получаю сообщение об ошибке в финале e, сообщающее, что оно не может соответствовать #Type с Type

Но type Test o e = Nub o e => Record e работает нормально, поэтому я полагаю, что он не хочет, чтобы я использовал переменную типа строки в результате моего определения.

А потом type Test (e :: #Type) = e работает, так что нет ничего плохого в том, чтобы иметь #Type там обычно.

Так что что-то в ограничении Nub меняет правила о том, какой тип я могу определить, но я не понимаю, как. Что здесь происходит?

...