Как определить функцию eval с пустым типом запроса? - PullRequest
0 голосов
/ 22 октября 2018

У меня есть тип запроса data Query a

Учитывая, что Query не имеет конструкторов, как я могу определить eval функцию типа:

eval :: Query ~> H.ComponentDSL State Query Void m

Буду ли я иметьдобавить конструктор к Query?

1 Ответ

0 голосов
/ 23 октября 2018

Используйте type Query = Const Void и eval = absurd << un Const

type Query = Const Void = data Query a. Все они имеют тип Kind -> Kind и не имеют конструктора.

Для eval = absurd <<< un Const тип соответствияQuery ~> H.ComponentDSL State Query Void m.absurd :: forall a. Void -> a убедитесь, что тип возвращаемого значения совпадает.un Const :: forall a b -> Const a b -> a убедитесь, что тип ввода соответствует (forall a. Query a -> Void)

...