Haskell 构建生态系统中类似 SBT 的功能

发布于 2024-11-14 20:42:27 字数 244 浏览 4 评论 0原文

我最近经常将 Scala 与 SBT 结合使用。 REPL 循环有一个方便的功能:~ COMMAND,意思是对项目中的每个源文件更改执行 COMMAND。例如:

~ test

~ compile

对于快速开发非常有用。我想知道,有谁知道 Haskell 类似的东西,也许是一个阴谋集团外壳?

I've been using Scala with SBT quite a bit lately. The REPL loop of has a handy feature: ~ COMMAND, meaning perform COMMAND for every source file change in the project. For instance:

~ test

and

~ compile

are terrifically useful for rapid development. I wonder, does anyone know of something similar for Haskell, a cabal shell, maybe?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱的十字路口 2024-11-21 20:42:27

您可以使用 inotifywait 轻松获得类似的内容。

只需在项目目录中启动一个终端并运行如下所示的命令:

$ while inotifywait -qq -r -e modify .; do cabal build && ./dist/build/tests/tests; done

这也适用于任何其他语言;只需插入您选择的构建命令即可。

You can get something like this very easily using inotifywait.

Just fire up a terminal in your project directory and run something like this:

$ while inotifywait -qq -r -e modify .; do cabal build && ./dist/build/tests/tests; done

This also works for any other language; just insert the build commands of your choice.

空宴 2024-11-21 20:42:27

您可以编写 ghci 脚本来定义自己的命令并增强现有命令。为此:

GHCi :def 命令的更多信息是 此处

You can script ghci to both define your own commands, and augment existing commands. To do this:

More info on GHCi :def commands is here.

星軌x 2024-11-21 20:42:27

ghcid 项目提供了一些仅限于 ~ :reload 的内容。它提供了一些额外的功能(格式化为固定行数、保留先前加载的文件的警告),但不提供运行任何命令的通用性。

The ghcid project provides something limited to ~ :reload. It provides a few extra features (format to a fixed number of lines, persist warnings from previously loaded files), but not the generality of running any command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文