gpt4 book ai didi

haskell - Haskell 中的非法多态或限定类型

转载 作者:行者123 更新时间:2023-12-02 21:26:56 25 4
gpt4 key购买 nike

为什么 Haskell 在尝试解析此类型签名时会提示?

f :: (a,s) -> (forall r.(r -> (a,r)),s)

最佳答案

Haskell 不支持谓语类型,特别是不允许 forall 出现在任何类型构造函数下(-> 除外)。

例如,也许(forall a.a),[forall a.a. a->a], ((forall a. a), Bool) 被禁止。

如果您想要的话,请使用 newtype 包装器。

newtype T = T (forall a. a->a)
foo :: [T] -- OK
foo = [T id]

关于haskell - Haskell 中的非法多态或限定类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50901254/

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