这有点长,所以请耐心等待!Haskell Noob需要帮助
我在使用Haskell程序时遇到了一些麻烦,我必须使用它作为uni项目的一部分。作为参考,它是Casper。
所以,你应该执行一个脚本,它实际上是一个bash脚本调用拥抱的解释是这样的:
exec $HUGSBIN/hugs $HUGSARGS +p"Casper> " $FILES
其中$ FILES指向Main.lhs文件。
之后,我需要在解释器中调用一个带有文件路径的“compile”函数。
我需要以脚本方式执行上述操作。我需要这种自动化,因为我正在编写一个程序,在后台调用Casper。
所以我编译了.lhs文件。现在我想执行“编译”功能,但我不知道这是如何完成的。我尝试:
./Main compile <a path>
从命令行但它返回一个关于文件“测试”未找到错误。经过调查,我在Main.lhs文件中看到这些行:
>main :: String -> IO()
>main = compile "test"
>compile :: String -> IO()
>compile s = catch (compile0 False s) handler
[...snipped]
第二行解决了这个问题。现在我的问题是,如何在编译main.lhs之后调用“compile”函数并传递路径给它?从解释器中,我只需键入“compile”并且它可以工作,但是在编译main.lhs并从命令行执行后,我无法获得相同的工作。任何想法为什么?如果一切都失败了,有什么办法可以编写拥抱?
谢谢你的帮助!
用 – applicative
代替'main'把主体替换成? –