這有點長,所以請耐心等待!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'把主體替換成? –