我有一个用scotty编写的简单Web应用程序。 我想用fay生成前端JS代码,并在前端和后端之间使用共享类型。
目前,我使用cabal run
运行我的应用:在我的.cabal文件中,我定义了一个"可执行文件"和#34; build-depends"取决于base
。
当我包括" fay"和" fay-base"在" build-depends"中,编译失败,因为Prelude
是不明确的。
我理解" fay-base"应该取代标准前奏,但我仍然希望在后端代码中使用标准前奏。
那么,我应该如何编写我的.cabal文件以及我应该在我的.hs文件中使用哪些语言扩展名,这样std Prelude和fay Prelude可以共存?这是正确的做法吗?
我正在使用fay-0.20.1.1。
答案 0 :(得分:1)
fay
作为依赖项,它是一个普通的Haskell程序包,并且不会导致任何冲突。fay-base
不会替换base
。它是Fay的基础版本,只能与Fay代码一起使用,反之亦然。fay-base
作为依赖项被提取,您可以依赖另一个fay包(例如小fay-text
来获取fay-base
作为传递依赖项) 您可以选择何时构建您的fay代码:
Setup.hs
的Cabal挂钩(再次,糟糕的主意)