我有一个查询类型data Query a
鉴于Query
没有构造函数,我如何定义eval
类型的函数:
eval :: Query ~> H.ComponentDSL State Query Void m
我必须添加一个构造函数Query
吗?
我有一个查询类型data Query a
鉴于Query
没有构造函数,我如何定义eval
类型的函数:
eval :: Query ~> H.ComponentDSL State Query Void m
我必须添加一个构造函数Query
吗?
使用type Query = Const Void
和eval = absurd << un Const
type Query
= Const Void = data Query a
,它们都有 type 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
)