Разве вы не можете использовать DataKinds внутри связанных типов данных? - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть следующий тип класса

class BoolHolding h where
  data MyBool b :: 'Bool

Тем не менее, я получаю сообщение об ошибке: не в области видимости: конструктор данных "Bool". Haskell не разрешает это по какой-то причине, или нет, чтобы включить конструктор данных? Если нет, то почему нет?

1 Ответ

0 голосов
/ 28 апреля 2018

Хорошо, есть 2 проблемы с тем, что я сделал.

1: DataKinds требует только подъема конструкторов, а не типов данных. Таким образом, 'Bool должно быть только Bool.

2: Добрые подписи для data должны иметь тип возврата *. Я могу вставить данные в вид, но после того, как все приложения будут выполнены, у меня должен быть тип. У меня не было этого.

Для 2 все, что мне нужно было сделать, это изменить data на type, и это ограничение больше не присутствует.

...