haskell-jp / random #100

まだ完成していないみたいですがManningのMEAPというサービスのおかげでできているところまで読んでフィードバックが送れます。
https://www.manning.com/books/haskell-bookcamp
パッケージ内のモジュールのトップレベル変数全部に HasCallStack を付けるオプションほしいな(言語拡張でもいい
@ has joined the channel
kenji takahashi
@kenji takahashi has joined the channel
@asaotani has joined the channel
最近 Copilot という言語を最近さわってみてます
rebindable syntax や Num 型クラスでハックしてあって Haskell の言語内ドメイン特化言語として提供されてるのが珍しいなと思いました
定メモリー使用量でイベントドリブンな C コードが生成されて、どうも組込を想定してるっぽい
https://copilot-language.github.io/
そういえば
ghc-lib-parser のビルドに失敗するので調べてみたら、happy がこっそりパージョンアップしていて、ghc-lib-parserが最新のディレクティブを使っているせいだった。
結論:みんなhappyをアップグレードしよう。
@kohei wada has joined the channel
ここまで実践的にGHCが速くなったことを実感したのは初めてでありがたい気持ちなのでここでも: https://twitter.com/igrep/status/1568951764518604802
... Replies ...
GHCに限定継続を入れる変更がマージされました。順当にいけばGHC 9.6に入りますかね。 https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7942
Hiromi ISHII / mr_konn
Haskell Language Server 1.8.0.0 がリリースされました :tada:
GHC 9.4 系の部分的なサポートやパフォーマンスの改善、Stan プラグインなど幾つか機能追加がありますが、Ubuntu 20.04 系だと GHCup がインストールする(VSCode extension のデフォルトの挙動) HLS 1.8.0 のバイナリが GLIBC のバージョンの違いにより動かないという問題があるようです。

https://github.com/haskell/haskell-language-server/issues/3160

長期的に解決される可能性はありますが、可能な短期的な解決策としては、上の issue で説明さているように GHCup に deb10 向けのバイナリを強制的にインストールさせる、という回避方法があります:

ghcup install hls -u  1.8.0.0

ただし、これによってビルドに使われている GHC がかわり、ABI の非互換が出ます。
たとえば、HLS 1.7.0.0 系 + GHC 9.0.2 を動かすためにこれまで GHC 9.0.2 のバイナリとして fedora27 向けの bindistをダウンロードさせて使っていた場合、GHCを入れ直さないと HLS 1.8.0.0 で動くようになりません。具体的には、以下の bindistを使って GHC をインストールさせればよいようです:

https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/9.0.2/ghc-9.0.2-x86_64-deb10-linux.tar.xz

例としては、stack を使っている場合、プロジェクトローカルの stack.yaml ないし ~/.stack/config.yaml に以下を追記した上で、 rm -rf ~/.stack/programs/x86_64-linux/ghc-tinfo6-9.0.2* してビルドし直せば HLS 1.8.0.0 + GHC 9.0.2 が動くようになります:

setup-info:
  ghc:
    linux64-tinfo6:
      9.0.2:
        url: ""
        sha256: a33263c3f819de606da079d191ddc3b86cbf503a14c6c0eec1a4ae1899008fdc

これが面倒だな、という場合は暫く HLS 1.7.0.0 を使うようにしておく、というのも一つの選択肢だと思います。この場合は、VSCodeだとsettings.json に以下を追加すれば、HLS 1.7 決め打ちになります:

    "haskell.toolchain": {
      "hls" : "1.7.0.0"
    }
... Replies ...
@ has joined the channel
:warning: 取り急ぎ報告まで。現在 haskell.jp にアクセスできない状態となっております。 https://twitter.com/haskell_jp/status/1570754068762742784
... Replies ...
Hiromi ISHII / mr_konn
こちらの HLS 1.8 + Ubuntu 20 の問題ですが、GHCup 側で対処が入ったようで、これから使う場合は GHCup に任せれば問題なく動くようになるはずです。
Motoyuki Kimura (M.Kimura)
@Motoyuki Kimura (M.Kimura) has joined the channel
@なっつ has joined the channel
@arark has joined the channel