要在 Haskell GHCI 中查看函数的签名,我必须在它前面加上 :t :

Prelude> f = \x -> x+1
Prelude> :t f
f :: Num a => a -> a

但是每次输入该前缀很快就会变老。如果我忽略它,我会收到错误:
Prelude> f

<interactive>:5:1: error:
• No instance for (Show (a0 -> a0)) arising from a use of ‘print’
    (maybe you haven't applied a function to enough arguments?)
• In the first argument of ‘print’, namely ‘it’
  In a stmt of an interactive GHCi command: print it

我不想收到此错误消息,而是希望看到有关我的函数 f 的一些有用信息,类似于我使用 :t f 获得的信息(可能甚至有关 f 的更多信息)。

如何设置 GHCI 以实现此功能,即在没有 :t 的情况下输入时获取函数信息?

最佳答案

你今天可能无法做到这一点。我已打开 a feature request 以查看有关添加选项以控制 GHCi 在提示符下报告有关类型错误的内容。

关于haskell - 如何设置 Haskell 的 GHCI 以交互方式评估函数的签名(类型)而不是出错?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41354231/

10-14 18:32