gpt4 book ai didi

haskell - 可强制使用 GHC 7.10

转载 作者:行者123 更新时间:2023-12-03 15:03:05 26 4
gpt4 key购买 nike

以下代码适用于 GHC 7.8.4:

import Data.Coerce
coerceNewtype :: (Coercible (o r) (n m' r)) => [o r] -> [n m' r]
coerceNewtype = coerce

但在 7.10 中出现错误:
Couldn't match representation of type ‘n m' r’ with that of ‘o r’
arising from trying to show that the representations of
‘[o r]’ and
‘[n m' r]’ are the same
Relevant role signatures: type role [] representational

我不太确定 Data.Coerce 的魔法发生在哪里, 但鉴于 coerce有签名 (Coercible a b) => a -> b ,我认为上面的函数应该在 7.10 中仍然可以编译。任何想法为什么行为不同,或者我如何在 7.10 中使用多态类型的强制?

最佳答案

你的代码没有问题。

错误是由于 bug在类型检查器中。问题跟踪器说这将在 GHC 7.11 中修复。

发布只是为了提供答案,因为原作者没有发布答案。如果您愿意(并且能够),请随时添加详细信息。

关于haskell - 可强制使用 GHC 7.10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30293650/

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