Как использовать haskell stack 1.2, nix и ghcjs

#haskell #haskell-stack #nix #ghcjs

#haskell #haskell-stack #nix #ghcjs

Вопрос:

Когда я пытаюсь создать это репозиторий с последней версией stack:

 λ ~/repos/ghcjs-typeahead/src/Typeahead/ master* stack --version                      ~/repos/ghcjs-typeahead/src/Typeahead
Version 1.2.0 x86_64
  

Я получаю эту ошибку:

 λ ~/repos/ghcjs-typeahead/src/Typeahead/ master* stack build                          ~/repos/ghcjs-typeahead/src/Typeahead
Only GHC is supported by now by stack --nix
  

Это потому, что мой стек.yaml выглядит следующим образом:

 resolver: nightly-2016-08-26
compiler: ghcjs-0.2.0.820160826_ghc-8.0.1
compiler-check: match-exact
setup-info:
  ghcjs:
    source:
      ghcjs-0.2.0.820160826_ghc-8.0.1:
        url: "http://tolysz.org/ghcjs/ghc-8.0-2016-08-26-nightly-2016-08-26-820160826.tar.gz"
        sha1: "2ecd8523cafe22b3033726363b4acc5356117970"
nix:
  enable: true
  shell-file: shell.nix
packages:
- location: '.'
- location:
    git:  https://github.com/ryantrinkle/reflex.git
    commit: a63aba90bdea5ae5b3e1506d468613bdfedcdfa3
  extra-dep: true
- location:
    git: https://github.com/ryantrinkle/reflex-dom.git
    commit: ed3b790f81f8396324fc9a3495de9c911119facc
  extra-dep: true
extra-deps:
- ghcjs-dom-0.2.4.0
- ref-tf-0.4.0.1
- zenc-0.1.1
  

Очень жаль, что они удалили поддержку метода, который я использовал, есть ли какой-либо другой способ использовать stack, nix и ghcjs? Должен ли я вернуться к использованию cabal?

Комментарии:

1. В среде «try-reflex», включенной (и описанной) в github.com/reflex-frp/reflex-platform в репозитории я смог скомпилировать и связать проект, на который вы ссылаетесь, используя только ghcjs. Команда «try-reflex», я полагаю, является оболочкой вокруг nix. Итак, хотя это и не «stack, nix и ghcjs», это сочетание «nix и ghcjs» не включает cabal и может быть решением для вас.

2. Да. Я убедил своего босса разрешить мне просто использовать cabal, но ранее мне приходилось использовать stack. К сожалению, они удалили эту функцию, хотя она работала безупречно.