ログ日記

作業ログと日記とメモ

GHC8.4とGHCJS

github.com
ここのコメントにDockerを置いてくれている人が居る。


tarをダウンロードして、stack.yamlを書いて、stack setupしてみる。

.stack-work/dist/x86_64-linux/Cabal-2.2.0.1/build/Parser.hs:1445:48: error
Parser.hs" "Not in scope: type variable ‘a’

こんなエラーが出た。


どうやら
Can't build `ghc-8.8` branch with `happy-1.19.10` (#16652) · Issues · Glasgow Haskell Compiler / GHC · GitLab
Fix optSemi type in Parser.y (071bef18) · Commits · Glasgow Haskell Compiler / GHC · GitLab
この辺りのバグっぽい。
一行書き換えれば良いんだろうけど、stack build途中でエラーになるのでどうすれば良いのか分からない。


仕方がないので、コンパイルしている長い時間の間に

.stack/programs/x86_64-linux/ghcjs-0.2.0.9011009_ghc-8.4.1/src/ghc/compiler/parser/Parser.y

このファイルが生成されているので、stack buildの途中でエラーが出るプロセスに行く前に手動で書き換えた。
普通はどうするんだろう…?


# 追記
グローバルのhappyをダウングレードするために、プロジェクトのresolverが効いている場所でもう一度stack install happy でバージョン1.19.9を入れればエラーにならない?どうもstackのグローバルプロジェクトのbinの使い方がよくわからない。



なんだかGHCJS開発でinteroを使いたかっただけなのにめっちゃ苦労した。