我有兴趣在GHCI中获得一长串模块的:type at命令的输出。如果我手动执行:type-at MyFile.hs M N M P
,它可以正常工作;然而,对于这么多模块,我宁愿有一种方法来自动化查找信息并将其存储到文件中的过程。
有吗a( 一种将ghci与输入文件一起使用的方法,该输入文件告诉它要处理的所有命令,或者b( 一种定义宏的方法,使我可以循环浏览值列表,并将:type-at命令应用于所有这些值?
谢谢!
有没有一种方法可以将ghci与输入文件一起使用,该文件告诉它处理的所有命令
有。您可以如下定义自定义:source
命令:
> :def source readFile
> let x = length "hello"
> :source GHCiTest.txt
x :: Int
5
5
x :: Int -- Defined at <interactive>:6:5
hello
在上面的示例中,GHCiTest.txt
包含以下GHCi命令,这些命令由:source
:逐个运行
:t x
print x
x
:i x
putStrLn "hello"
或者,您可以使用自定义.ghci
文件启动GHCi,该文件在启动时自动为:source
d。