如何在没有cabal安装的情况下在snap框架中进行迭代

时间:2012-03-23 16:31:17

标签: haskell haskell-snap-framework

我喜欢快照框架,但我讨厌运行' cabal install'每次迭代(次要代码更改)我想尝试。

是否有快速迭代的替代方案?

2 个答案:

答案 0 :(得分:9)

开始
cabal install --reinstall -fhint snap

然后,对于您的项目:

cabal clean
cabal configure -fdevelopment
cabal build
./dist/build/projname/projname

无论如何,您不应该将cabal install用于您不希望能够从任意位置执行的二进制文件。您应该将cabal build用于您只想在本地运行的内容。

当您更改Main.hs或项目的.cabal文件时,您需要运行cabal build并再次启动该程序。

如果您有任何其他问题,请发表评论 - 我是实现此功能的人 卡扣。

答案 1 :(得分:2)

Yesod提供yesod devel自动重新加载代码更改。我不知道snap中有类似的功能,但很可能他们可以重用大部分执行此操作的Yesod代码。

鉴于Snap.Loader.Devel的存在,我猜他们可能已经提供了类似于你所要求的内容,但我找不到关于如何使用它的文档。常见问题How do I run my app in development mode仍然需要cabal install;从文档中不清楚您是否只需要执行一次,或每次代码更改时。