如何修复“变量不在范围内”错误?

0 lambda haskell ghci

你能帮我理解这个错误以及如何解决它吗?

comp = \x -> f(g(h(x)))
Run Code Online (Sandbox Code Playgroud)

错误是

“变量不在范围内:f :: t0 -> t2”

forf, gh,它们只是一些没有另外指定的函数。

Jos*_*ica 5

我怀疑您正在尝试构建一个由 3 个函数组成的函数,就像如何.组合 2 个函数一样。要做到这一点,您不能只是在正文中编造名称并期望 GHC 知道您的意思。相反,您需要以某种方式将它们纳入范围,如下所示:comp f g h = \x -> f(g(h(x)))