gpt4 book ai didi

haskell - 为什么显式写入类型 `Product Int` 适用于任何 `Num` 类型?

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

特别是,这个表达式编译:

x = 4 :: Product Int

为什么文字 4 可以是 Product Int,即使它的类型是 Num a => a

最佳答案

4 是带有类型注释的表达式。 未注释 表达式的类型为 Num a => a,但注释强制类型为 Product Int

注解是合法的,因为每当 a 有一个 Num 实例时,Product a 就有一个 Num 实例( Int 有:

> :info Product
newtype Product a = Product {getProduct :: a}
[...]
instance Num a => Num (Product a)
[...]
> Product 3 + Product 5
Product {getProduct = 8}

关于haskell - 为什么显式写入类型 `Product Int` 适用于任何 `Num` 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74322422/

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