有什么方法可以在 do / where / let 块中打印出变量的类型吗?
有没有办法打印出 ghci 中嵌套变量的推断类型?考虑一下代码,
let f = g where
g (x :: Int) = x
那么,最好查询 g
的类型,例如 :t fg
会打印出 Int ->整数。
Is there any way to print out the inferred type of a nested variable in ghci
? Consider the code,
let f = g where
g (x :: Int) = x
then, it'd be nice to query the type of g
, e.g. :t f.g
would print out Int -> Int
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过给出适当的错误类型注释并检查错误消息来诱骗此信息。
You can coax this information out by giving an appropriately wrong type annotation and checking the error message.
ghci 调试器可以使用正确放置的断点为您打印它(但您需要在模块中加载定义):
然后在 ghci 中:
ghci debugger can print it for you with a properly placed breakpoint (but you'll need to load your definition within a module):
Then in ghci: