相关疑难解决方法(0)

为什么函数的类型在GHCi中出现monad时会发生变化

当一个函数出现在monad中时,它会发生一些变化.

在GHCI中:

> :t map
map :: (a -> b) -> [a] -> [b]
> a <- return map
> :t a
a :: (GHC.Prim.Any -> GHC.Prim.Any)
 -> [GHC.Prim.Any] -> [GHC.Prim.Any]
Run Code Online (Sandbox Code Playgroud)

此更改使得难以将函数存储在更高级别的类型中.

这里发生了什么,我可以让它不会发生吗?

(这也不违反monad法律之一吗?)

polymorphism haskell ghc ghci

2
推荐指数
1
解决办法
109
查看次数

标签 统计

ghc ×1

ghci ×1

haskell ×1

polymorphism ×1