首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Haskell Stack中的一个包设置编译器

为Haskell Stack中的一个包设置编译器
EN

Stack Overflow用户
提问于 2018-01-19 10:34:19
回答 1查看 63关注 0票数 0

我正试着用Haskell编写一个小型的web应用程序。我有三个逻辑包:

  • 后端,使用servant
  • A前端,使用reflexreflex-domservant-reflex
  • 定义服务API的共享包,用于该API使用的2和某些数据类型之间的通信。

最后一个包裹给我带来了麻烦。我不知道如何构造这个项目,以便其他两个包可以使用它。我认为目前有两种选择:

  1. 每个包都有自己的堆栈文件和git存储库。使用extra-deps git链接导入共享包。这种方法的问题在于,这意味着我必须将对共享包的任何更改推送到GitHub,然后才能与其他包一起测试它。另外,我必须把所有的东西都分开建造。
  2. 使用带有单个stack.yml文件的单个存储库。我更喜欢这个,因为它保持了所有的东西在一起,并且确保所有的包都使用相同的解析器。在本例中,我将列出packages:选项中的所有包。但是,客户端需要用GHCJS而不是GHC编译,我在文档中没有看到一个选项来覆盖针对一个特定包的编译器。

有没有办法使备选方案2发挥作用?还是有更好的方法来做这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-19 12:52:40

建议的方法是有两个堆栈项目文件(例如stack-frontend.yaml使用GHCJS,stack-backend.yaml使用GHC),然后使用--stack-yaml参数在它们之间切换(例如使用stack --stack-yaml=stack-frontend.yaml build构建前端,使用stack --stack-yaml=stack-backend.yaml build构建后端)。两个stack-*.yaml文件都可以包含共享服务API。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48339070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档