如何使用空查询类型定义评估函数?

时间:2018-10-22 11:17:44

标签: purescript purescript-halogen

我的查询类型为data Query a

鉴于Query没有构造函数,如何定义类型为eval的函数:

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

我是否必须向Query添加一个构造函数?

1 个答案:

答案 0 :(得分:0)

使用type Query = Const Voideval = absurd << un Const

type Query = Const Void = data Query a,它们都具有类型Kind -> Kind,并且没有构造函数。

对于eval = absurd <<< un Const匹配类型为Query ~> H.ComponentDSL State Query Void mabsurd :: forall a. Void -> a确保返回类型匹配。 un Const :: forall a b -> Const a b -> a确保输入类型匹配(forall a. Query a -> Void