Haskell 如何使用GHCI查找子函数的类型
是否可以通过GHCI找到Haskell 如何使用GHCI查找子函数的类型,haskell,types,ghci,Haskell,Types,Ghci,是否可以通过GHCI找到where语句中定义的函数类型 例如,考虑到该功能: myFunction a b c = case result of 2 -> ... where subFunctA = ... _ -> ...
where
语句中定义的函数类型
例如,考虑到该功能:
myFunction a b c = case result of
2 -> ...
where
subFunctA = ...
_ -> ...
where
subFunctB = ...
subFunctC = ...
myFunction
的类型可以通过:t myFunction
找到
是否可以通过GHCI找到
子基金
、子基金
和子基金
的类型?否。GHCI无权访问其功能的来源。即使您自己在GHCi或源文件中定义了函数,这也是正确的
另一种选择是:由于您可以访问您想知道的函数的源,因此可以将函数复制到源文件的全局范围中,编译它们,并查看GHC分配给它们的类型。我经常这样做。(此外,您可以直接将它们粘贴到GHCi中。)完成此操作后,您可以根据需要对它们调用:t。这可能会产生比实际子函数更通用的类型,但它仍然可以帮助您。如果您有足够新版本的GHCi,您可以尝试使用
基本上,如果在代码中写入下划线,编译器将弹出一条错误消息,告诉您该子表达式应具有的类型。在您的示例中,只需将“…
”替换为“。
”