相关疑难解决方法(0)

如何使用仍然使用runhaskell/ghci运行的库+可执行文件来创建Haskell cabal项目?

如果你在一个小集团文件中声明库+可执行部分,而避免了图书馆的双重编译通过把图书馆变成一个hs-source-dirs目录下,你不能用通常运行项目ghcirunhaskell了,特别是如果可执行文件有辅助模块本身.

什么是推荐的项目布局

  • 只构建一次所需的东西
  • 允许使用 runhaskell
  • 有一个干净的结构,没有黑客?

haskell ghci cabal runhaskell

54
推荐指数
1
解决办法
7055
查看次数

在 cabal 文件的库或可执行部分中构建依赖项?

首先,我是在 Haskell 中使用 cabal 和外部包的新手。

我正在尝试使用 MyLib 中的 Graphics.Gloss 包。如果我gloss同时包含build-dependsoflibraryexecutable.

这是 cabal 文件的相关部分:

library
  exposed-modules:     MyLib
  build-depends:       base ^>=4.13.0.0,
                       gloss ^>=1.13.1.1
  default-language:    Haskell2010

executable ray-tracer
  main-is:             Main.hs
  other-modules:       MyLib
  build-depends:       base ^>=4.13.0.0, ray-tracer,
                       haskell-say ^>=1.0.0.0,
                       gloss ^>=1.13.1.1
Run Code Online (Sandbox Code Playgroud)

MyLib.hs

module MyLib (someFunc) where
import Graphics.Gloss

someFunc :: IO ()
someFunc = display (InWindow "My Window" (200,200) (10,10)) white (Circle 80)

Run Code Online (Sandbox Code Playgroud)

主文件

module Main where

import qualified MyLib (someFunc)
import HaskellSay (haskellSay)

main :: …
Run Code Online (Sandbox Code Playgroud)

haskell cabal

5
推荐指数
1
解决办法
352
查看次数

标签 统计

cabal ×2

haskell ×2

ghci ×1

runhaskell ×1