取消main而不关闭ghci

时间:2014-04-11 17:11:37

标签: haskell

我正在使用Scotty在网络服务器上工作。我可以运行ghci并继续使用:r来重新加载我的代码,但如果我甚至运行main我就无法重新启动网络服务器而不会删除ghci。

如何在不关闭main的情况下取消ghci?有没有更好的方法来处理Web服务器并自动重启它们?

1 个答案:

答案 0 :(得分:5)

:set args <arg> ...中调用ghci以设置System.getArgs将返回的参数。

然后,使用async包,使用ghci之类的内容在a <- async main中启动服务器。

稍后调用cancel a来终止服务器。

另请参阅this link,其中说明了即使在服务器运行时如何重新加载代码。