小编kir*_*del的帖子

Haskell类型混淆

我开始学习Haskell,虽然它通常很棒,但类型类系统的一些特殊性在数字化项目中引起了很多挫折.举一个具体的例子,如果我打开ghci并检查添加类型,我会得到:

Prelude> :t (+)
(+) :: Num a => a -> a -> a
Run Code Online (Sandbox Code Playgroud)

添加是超级通用的,Num是最通用的类​​型等,所以一切都有意义.但是,如果我宣布了一些功能是除此之外,然后检查的类型功能,类型类被还原成Integer!

Prelude> let add = (+)
Prelude> :t add
add :: Integer -> Integer -> Integer
Run Code Online (Sandbox Code Playgroud)

发生什么了?

haskell type-conversion

4
推荐指数
1
解决办法
78
查看次数

标签 统计

haskell ×1

type-conversion ×1