2013-07-29 29 views
2

我剛剛聽到Yesod的消息,並開始閱讀本書。在莎士比亞的章節中,大約3/4下來,他們說...Yesod直播哈姆雷特與GHCI而不是GHC?

「重新加載模式不適用於哈姆雷特,只適用於卡修斯,盧修斯和朱利葉斯。哈姆雷特有太多複雜的功能,直接依賴於Haskell編譯器並不能在運行時重新實現。「

這是否意味着每次更改HTML時必須重新編譯服務器?使用Ghci進行實時編譯會有好處,還是該技術已被用於Yesod的高峯期?

這個軟件好像是一個更宏偉的項目。我真的很期待更多地瞭解Yesod和這種編程風格!

回答

1

我不確定(a)如果您在更改Hamlet文件後詢問部署應用程序,或者(b)您是否需要實時反饋而無需在開發過程中手動重新編譯。

無論如何,如果它是(a):我沒有自己做過,但我認爲答案是肯定的,你將不得不重新編譯和重新部署。

如果是(b):如果您使用yesod --dev devel啓動服務器,它將偵聽任何更改並自動重新編譯。如果刷新頁面,應該可以看到更改,或者如果有任何錯誤,它會顯示在日誌中。

希望有幫助!

+0

它的確如此,但是我的主要問題源於需要拆卸服務器,重新編譯它,然後重新啓動它。是否有可能在ghci中完全開發?重寫你的新函數,取消作爲服務器的runnning函數,然後換出新的服務器(函數)?我認爲這個問題更多的是要處理haskell本身的實時應用程序開發的可行性,而不是專門針對yesod。我認爲用haskell編寫的每個程序都可以選擇處於開發模式是非常好的,即時編譯代碼而不會中斷應用程序 –