是否可以在 ghci 中查询它为另一个函数中的函数推断的类型?
问问题
731 次
3 回答
22
这是一个快速而丑陋的 hack,但我通常做的只是以错误的方式使用该功能并阅读错误消息:
inc x = x + 1
where
f (y, z) = y + z
g = f :: Char
GHCi 输出:
Couldn't match expected type `Char'
against inferred type `(t, t) -> t'
In the expression: f :: Char
尽管这忽略了上下文Num t =>
,但这通常确实为我提供了足够的信息来继续。
于 2010-01-24T20:46:11.513 回答
12
您可以尝试通过在其上设置断点来执行此操作,因此该函数在调试器的范围内。
此外,我认为 EclipseFP 可以在您将鼠标悬停在事物上时告诉您事物的类型,至少在某些时候是这样。
于 2010-01-24T20:31:23.567 回答
7
使用 GHC 7.8+,只需附加`asTypeOf` _
到表达式。
有关详细说明,请参阅找出带有类型孔的表达式/函数的类型。
于 2014-03-13T14:46:48.623 回答