gpt4 book ai didi

haskell - 默认约束类型被忽略

转载 作者:行者123 更新时间:2023-12-04 04:07:00 26 4
gpt4 key购买 nike

我在定义默认约束时遇到了一个奇怪的问题。如果约束是单位,则不选择默认实例。在所有其他情况下,它按预期工作。

{-# LANGUAGE TypeFamilies, ConstraintKinds #-}
import qualified GHC.Exts as E

class Expression a where
type Constr a v :: E.Constraint
--type Constr a v = () -- with this line compilation fails
--type Constr a v = v ~ v -- compiles
wrap :: Constr a v => a -> Maybe v

instance Expression () where
wrap () = Just undefined

main = print (wrap () :: Maybe Int)

有人可以澄清类型检查器行为的原因吗?

最佳答案

这是 7.4.1 中关联类型默认值的错误。几周前,我在#haskell 上被告知这是一个已修复的已知错误,但我在 GHC trac 上找不到它的提及。

关于haskell - 默认约束类型被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10381278/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com