使用cabal运行haskell gloss GUI

时间:2016-05-15 20:41:32

标签: user-interface haskell cabal gloss

我是haskell的新手,我想学习如何使用haskell平台创建GUI。我找到了这个tic tac toe示例,但我似乎无法弄清楚如何运行它。

https://github.com/DevJac/gloss-tic-tac-toe

我运行了Setup.hs,它编译但没有任何事情发生。尝试运行cabal,这是输出:

从未配置过包。配置默认标志。如果这 失败,请手动运行配置。 解决依赖关系...... 配置gloss-tic-tac-toe-0.1.0.0 ...... cabal:至少缺少以下依赖项: base == 4.7。*,gloss> = 1.9.2.1&& < 1.10

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

更新

以下是我为编译而采取的措施:

  1. 首先运行 build-depends: base >= 4.7, gloss >= 1.9.2.1, containers >= 0.5.5.1
  2. 这需要一段时间,因为它会安装很多依赖项。这些依赖关系也是tic-tac-toe程序所必需的。

    1. 然后执行此操作:

      git clone https://github.com/DevJac/gloss-tic-tac-toe cd gloss-tic-tac-toe

    2. 并将.cabal文件中的build-depends节更改为:

      cabal build

      基本上只删除所有上限。

      1. 运行./dist/build/gloss-tic-tac-toe/gloss-tic-tac-toe

      2. 如果构建成功,请运行可执行文件:

          this.factorial = function(num) {
              if (!num) {
                return 0;
              }
              if (num === 1) {
                return 1;
              } else {
                return num * this.factorial(num - 1);
              }
            } // end of factorial
        

答案 1 :(得分:0)

似乎你对haskell很新,所以最好安装stack

然后在git clone https://github.com/DevJac/gloss-tic-tac-toe之后,最好对下载的源进行以下更改:

删除不需要它的libsrc文件夹,将gloss-tic-tac-toe.cabal文件的build depends部分替换为以下内容:

  build-depends:       base       >= 4.8     && < 4.9
               ,       gloss
               ,       containers

并添加新文件stack.yaml

resolver: lts-5.17
packages:
- '.'
extra-deps:
- gloss-1.10.1.1
- gloss-rendering-1.10.1.1
flags: {}
extra-package-dbs: []

这是您需要的完整配置 - 然后运行

$ > stack build
... (might take some time)
$ > stack exec -- gloss-tic-tac-toe

将运行游戏,你可以玩!