haskell-jp / random #98

ソース配布ですねえ
@ has joined the channel
GHCは原則ネイティブコードにコンパイルするので、バイナリーで配布するとアーキテクチャー毎にものを用意しないといけなくなって大変なんですよねぇ :disappointed: (あとリンク時の問題も発生するかな?)
インライン展開をしないと最適化がほとんど死にそう
高塚由利子
@高塚由利子 has joined the channel
@ has joined the channel
https://twitter.com/fumieval/status/1511003858486513665 NoFieldSelectorsを活かせる場所がまたひとつ増えました!
@ndadayo has joined the channel
Bird 先生がお亡くなりになったとのこと https://twitter.com/jer_gib/status/1511348292885655560
こちらのproposal https://github.com/ghc-proposals/ghc-proposals/pull/500 へのコメントで知ったんですが、GHCiで -fimplicit-import-qualified というオプションを有効にすると、 import しなくてもfully qualified nameで各種モジュールにアクセスできるんですね。ちょっと便利:
> :set -fimplicit-import-qualified
> Data.List.group "aaabbbcccc"
["aaa","bbb","cccc"]
... Replies ...
@devk has joined the channel
ghc -e オプションでも、-fimplicit-import-qualified がデフォルトで有効なので、以下のワンライナーとかでもパス指定できますね:sparkles:

$ ghc  -e  'Text.Printf.printf "%s %d\n"  "abc"  1'
abc 1
@kaname yamo has joined the channel
限定継続(delimited continuations)の実装が進み始めたみたいです:haskell:
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7942
https://mail.haskell.org/pipermail/ghc-devs/2022-April/020655.html
@Rj has joined the channel
www.haskell.org とかが落ちてましたが、ダウンロードサーバーまで落ちてるんですね
CIがghc取得できずに落ちている...幸い回ってなくてもそこまで支障のないCIだったのが不幸中の幸い
(そしてこのstatusのページ、結構色々な手法でsubscribe出来るようになっててとてもありがたい)
https://status.haskell.org/
一応 haskell-org-statusでもサブスクライブしてます
ghci でロード(リロード)したときのエラーメッセージに対して less みたいなことしたいな……
単にターミナルのスクロールバーじゃ面倒ですかね。
Emacsのcomintでの起動が便利
... Replies ...
確かに -interactive-print のコンパイルエラー版がほしいですね。
Ghciセッションを入力、出力(エラー出力も含めて)ログファイルに残すというのは、ad hoc な方法でやってます。でも、その場で less はできるかどうか確かめてないですねぇ。
ginput | tee -a -i ghci.log | stack exec -- ghci 2>&1 | tee -a -i ghci.log
スクロールバーでたどると :r を見逃すんですよね
プロンプトを2行に分けてプロンプトを見逃さないようにするという手はあるかもです。私はタイムスタンプを入れるようにしてます。.ghci の設定はこんな感じ
import Data.Time
_prompt _ n = (utcToLocalTime <$> getCurrentTimeZone <*> getCurrentTime) >>= print >> return ">>> "
:set prompt-function _prompt
:set -interactive-print=Text.Show.Unicode.uprint
:set -XLambdaCase -XMultiWayIf -XOverloadedStrings -XBangPatterns -XScopedTypeVariables
:set editor catn
色付けてみようかな
こちらの投稿に関して、運営の方に質問です。
ログの発言者の名前が私の場合、スクリーンネームではなく、メールアドレスの@の前部分になっているのですが、メールアドレスの公開も規約の一部なのでしょうか。
https://haskell-jp.slack.com/archives/C4LFB6DE0/p1646541532486519
... Replies ...
:tada: Haskell Language Server 1.7.0.0. GHC 9.2のサポートができたのはこれが初めての模様。それ以外はバグ修正が中心
https://github.com/haskell/haskell-language-server/releases/tag/1.7.0.0
... Replies ...
Hiromi ISHII / mr_konn
今回のリリースでは配付されるバイナリが動的バイナリになっています。これで Template Haskell を使ったプロジェクトでも快適に動くようになりすが、GHC 9.0.2 ではプロファイルライブラリがあったりなかったりで二度リリースがあるので、Stack + 9.0.2 のプロジェクトで、配付されている動的バイナリを使うと組合せによっては動かない場合があります。その場合は手許でビルドしたものを使えば大丈夫です。
Hiromi ISHII / mr_konn
バイナリが動的なものになった関係で、VSCode で本バージョンを自動ダウンロードするには Pre-release になっている(正式リリースはまだ) haskell.haskell の v2 系を使う必要があります。haskell.haskell の v2 からは GHCup を使ってツールチェインを自動で管理してくれるようになります。
Hiromi ISHII / mr_konn
そうそう、動的バイナリになっていると嬉しいこととして、macOS などで外部ライブラリに動的リンクしているパッケージに依存がある場合、旧来の静的ビルドのバイナリでは HANG する場合があったので手許で動的ビルドした HLS を用意する必要があったんですが、今回の変更で公式配付バイナリを使えば大丈夫になった、というのもあります
Windows ユーザーにちょっと試してみてほしいんですが https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-unknown-mingw32.tar.xz でダウンロードできる bin\ghc.exeghc --version がちゃんと動きますか?
--version じゃなくてもいいんですが
手元だと何も表示されず終了コードが -1073741515 なんですよね
... Replies ...
@宮入徹也 has joined the channel
GHCの9.4.1のalpha1が出ています:haskell:
https://discourse.haskell.org/t/ghc-9-4-1-alpha1-is-now-available/4455
バグ報告はこちらからです。
https://gitlab.haskell.org/ghc/ghc/-/issues
\cases-expression というのが導入されたんですね
https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0302-cases.rst
GHC 9.4に入りそうな機能のメモ作ってます https://zenn.dev/mod_poppo/scraps/d1cdb21a9ccc39
ありがたや :pray:
@niro has joined the channel
@canalun has joined the channel
これ誰がメンテナンスしてるんですか?
って聞いたら「メンテナンスしてる人いないのでやりませんか」
と返されてしまった…
updated: LTS: 19 by ncaq · Pull Request #27 · yesodweb/serversession

まあフリーライドしないというのはそういうことなのでやるしか無いのか…
他人が作者のFLOSSのメンテナンスをした経験が一切ないのでちゃんと出来るかはかなり不安ですが。
ところでこの問題と戦ってる時に色々検索して、このSlackで自分が質問したログしか出なかったので気がついたのですが、Slack-logってスニペットは収集しないんですね。
自分が何もエラーメッセージ出さずに色々質問してるみたいになってしまった。
Slackという巨大なアプリケーションを相手取るのは大変ですねえ。
... Replies ...
@ has joined the channel
@原田勇大 has joined the channel
@soichi has joined the channel
VS Code の Haskell 拡張が HLS の管理をしてくれなくなったので ghcman にも HLS 管理機能を入れたい
... Replies ...
Hiromi ISHII / mr_konn
VSCode の Haskell extension のバージョンを上げて、手許に ghcup を入れて設定しなおせば、ツールチェインも含めて管理してくれるようになりますが、これではだめですか?
Hiromi ISHII / mr_konn
HLS の自動インストールには、GHC のバージョンとOS, arch の組合せ(そのハッシュ)を適切に管理する必要があったり、GHC 9.0.2 のようなイレギュラーな場合ビルドリビジョンに起因する ABI の違いなども吸収する必要があって(ここはまだ対応できてないですが)、結構デリケートなところがあるので、GHCup と HLS のチームは連携して作業を進めていたりします。