haskell-jp / random #45

5!?観測史上最大のマイナーバージョンアップですね…
GHC 8.6.5 https://gitlab.haskell.org/ghc/ghc/issues/16408 これ以外にもいろいろ解決するんですかね。 :thinking_face:
Local Do 面白いですねー!
issue にあるみたいにこんな感じで RebindableSyntax のようなことが出来ると便利そう~
```
do @IndexedMonad.builder
x <- someIndexMonadExpression

```
リリースがアナウンスされているわけでは無いのですが、このあたりっぽいです。
https://gitlab.haskell.org/ghc/ghc/milestones/58
@charlie.51749 has joined the channel
@coricozizi_slack has joined the channel
お気づきの方もいるかと思いますが国産のHaskellパッケージの一覧を作っています。プログラミングの本質とはあまり関係のないことですが、身近な人もパッケージをアップロードしているという励ましになればと https://scrapbox.io/haskell-shoen/%E5%9B%BD%E7%94%A3%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8
:point_up: 手持ちの細かいパッケージのうち、Haskell-jp BlogやQiitaなどで紹介したことのあるものを追加しておきました。改めて自分の一覧を見たら、なんかここ1年ほど異様に細かいパッケージをたくさん作ってましたね... :sweat_smile:
dnsも加えて下さい。
追加しました。誰でも編集に参加できるようにしてあるので、また何かあったらご自由に!
@sciencefiction314 has joined the channel
だれかgitlabのghcのレポジトリ持っている人に
git pull --recurse-submodules

ができるか試していただきたいのですが、ご協力いただけませんか?
私の環境だと libraries/array の最新コミットが見つからないというエラーが出るのです。
問題なく動きました
% git pull --recurse-submodules
Fetching submodule libffi-tarballs
Fetching submodule libraries/Cabal
From 
   0c1cd9c5c..d75eb42c6  2.4              -> origin/2.4
 * [new branch]          free-text-3      -> origin/free-text-3
 * [new branch]          freeTextField    -> origin/freeTextField
 * [new branch]          issue-5967       -> origin/issue-5967
   a9c4d58a6..15f48f4a6  master           -> origin/master
 * [new branch]          pretty-field-ann -> origin/pretty-field-ann
 * [new branch]          spdx-3.5         -> origin/spdx-3.5
Fetching submodule libraries/Win32
From 
 * [new branch]      cleanup-appveyor -> origin/cleanup-appveyor
   12ff8a5..d6b6d18  master           -> origin/master
 * [new branch]      release-2.8.3.0  -> origin/release-2.8.3.0
 * [new tag]         v2.8.3.0         -> v2.8.3.0
Fetching submodule libraries/array
Fetching submodule libraries/binary
Fetching submodule libraries/bytestring
From 
   847563a..715094d  master     -> origin/master
Fetching submodule libraries/containers
From 
   f7273d1..880fa44  master     -> origin/master
Fetching submodule libraries/deepseq
Fetching submodule libraries/directory
Fetching submodule libraries/filepath
From 
   356e356..31ad1f7  master     -> origin/master
Fetching submodule libraries/haskeline
Fetching submodule libraries/hpc
Fetching submodule libraries/integer-gmp/gmp/gmp-tarballs
Fetching submodule libraries/mtl
From 
   6eee658..5369488  master     -> origin/master
Fetching submodule libraries/parsec
Fetching submodule libraries/pretty
From 
   e646037..f644ca2  master     -> origin/master
Fetching submodule libraries/process
Fetching submodule libraries/stm
From 
   f9979c9..b3e299c  master     -> origin/master
Fetching submodule libraries/terminfo
Fetching submodule libraries/text
Fetching submodule libraries/time
Fetching submodule libraries/transformers
Fetching submodule libraries/unix
From 
 * [new branch]      ghcjs/2.7  -> origin/ghcjs/2.7
   8d188ed..5e5d84d  master     -> origin/master
Fetching submodule libraries/xhtml
Fetching submodule nofib
From 
   0675e13..565991d  master     -> origin/master
Fetching submodule utils/haddock
Fetching submodule utils/hsc2hs
Already up to date.
Submodule path 'libraries/array': checked out '58a7ea0336363b29513164487190f6570b8ea834'
Submodule path 'libraries/transformers': checked out 'def8c55d0c47c1c40de985d83f052f3659b40cfd'
ありがとうございます。
https://optimistictypes.com/moderating-sexual-assault/ (最近のHaskell-jpとは無縁と思いたいですが)性的ハラスメントに対する対処のガイドライン。「報告に感謝する」「被害者を危険に晒さないよう情報の扱いに注意する」「可能な限り全容を把握する」「どのような解決を望むか聞く」「被害者に要求をしない」という五つの原則が述べられており、真剣に向き合わなければ、メンバーを失うだけでなく不義を容認するコミュニティとみなされると結論づけています
@cyb.ai.815 has joined the channel
@fujiwara.atsushi has joined the channel
@louvre2489 has joined the channel
ghc-devsのML側に返信してしまいましたが、clone 元が、gitlab ではなくて、古い github.comgit.haskell.org のリポジトリということは無いでしょうか?
まさにそのパターンでした。README.mdに記載のURLが古かったのが原因でした。数時間前のコミットでREADME.mdも修正されたようなのでもう大丈夫です。(MLの方は英語が下手ですみません)
@tyukasanlsbs has joined the channel
またまたHaskellと直接関係ない話で恐縮ですが、 haskell.jp も気をつけなきゃですね。。。
https://twitter.com/akaibohshi/status/1113947332838428672
https://github.com/fumieval/webauthn 次世代の認証機構として期待されているWeb Authentication APIの検証器を、FIDO U2Fフォーマットの分だけなんとか実装しました。泣き言を言うのは趣味ではないが自力で全フォーマットを実装できる気がしない…
なんで JS が半分以上あるんだろう?と思ったけど、デモ用のためですねw
こういうものを作ったので共有しておきます
https://myuon.github.io/posts/ghc-compiler-notes/
(OGPの設定があれだな)
GHCのGitLab移行について、Issue(Ticket)管理やWikiの移行も落ち着いたので、以下のリンク集を更新しておきました。

- GHC(Haskell)の上流リポジトリ等がGitLabに移行しました
- https://qiita.com/takenobu-hs/items/a2eeb327088bb1d2fe77
- Haskell GHC開発に関する情報源いろいろ
- https://qiita.com/takenobu-hs/items/0752931f2472c0705af0

GitLabへの移行によって、contributionがより容易になっています:slightly_smiling_face:
パッチの送付がPhabiricatorからGitLabに変わり、以前よりパッチを送りやすいです。
あとWikiについても、TracのマークダウンからGitLabの普通のマークダウン書式に変わり、ページを編集しやすいです。
では:haskell:
https://mail.haskell.org/pipermail/libraries/2019-April/ (,,)と(,,,)にMonadとTraversableのインスタンスを追加する提案をしたんですがやっぱりFoldableインスタンスが嫌いな人が多いみたいですね…
ちょっと手元に ubuntu が無くて確かめられないのですが、 haskell-platform パッケージは、パッケージ名を並べた依存関係のみのパッケージになっているはずなので、現在 ubuntu で提供されている ghc やライブラリが入るはずです。
Ubuntuですと、aptで入れると最新のcosmicでも2014.2.0.0(GHC7とか)が入ってしまうようなので最新のパッケージをいれるようにはしたいですね
haskell-platform のパッケージ名一覧は現行バージョンとも合っていると思います
ghc は cosmic だと 8.2.2, disco だと 8.4.4 のようですね。
https://packages.ubuntu.com/search?keywords=ghc
なので、ghc 8.2.2 あるいは ghc 8.4.4 相当でよければ、
apt-get install haskell-platform
でいいんじゃないかな
ところでグラフのライブラリですが、haskell-platform があるなら fgl も使えますね。
AtCoder で利用している GlobalPackageDB の内容を確認したところ、やはり Haskell Platform を使っている感じですね。
https://gist.github.com/waddlaw/b6a14d4dbc94d282a175abe7f9596ae7#globalpackagedb-%E3%81%AB%E7%99%BB%E9%8C%B2%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%A8%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E4%B8%80%E8%A6%A7

なので、ghc 8.2.2 あるいは ghc 8.4.4 相当でよければ、
`apt-get install haskell-platform`
でいいんじゃないかな

haskell-platform でインストールした後で追加のパッケージを含めたい場合、stack や cabal を使う感じになるのでしょうか?それとも ghc-pkg を使うのかな。
vector-algorithmsmwc-random などは Haskell Platform に入っていないですが、あっても良いのかなと思ったり。
cabalが入っているので普通に cabal new-install mwc-random ではないかと。
https://packages.ubuntu.com/cosmic/haskell-platform
でもAtCoder的にOKならなるべく新しいのをビルドすべきだとは思いますが...
システムワイドに入れるなら cabal のオプションに --global とか必要かも
オプション無しで --user 相当だとすると、unix ユーザーが変わると見えなくなってしまいます。
あと、直接は関係無いですが network とか Cabal パッケージは逆に使えない方が良いような気が・・・
さすがにそのあたりは sandbox で防がれているのでは?
それなら僕らは気にしなくて良いですね :slightly_smiling_face:
Ubuntu のサポート期間を考えると 18.04 LTS が選ばれる可能性も結構ありそう。
その場合の haskell-platform に含まれる ghc は 8.0.2 です。
https://www.ubuntu.com/about/release-cycle
この間のHaskell Weeklyから。
純粋な関数によるパーサーでは構築しにくいデータ構造の扱い方。FromJSON (IO Hoge)みたいなインスタンスを作ればIOでもいいわけだ。
https://esham.io/2019/03/parsing-json-with-more-context
これはバッドノウハウだと思います。使う側が正しく型を指定しないといけない(ImageSizeTableが必要ということを型推論してくれない)だけでなく、JSONパーサーの失敗とMaybeの失敗が混在しているというのが主な理由です。しかしreflectionを使って Given ImageSizeTable => FromJSON Headers のように定義すれば簡単に解決できる問題でもあります
@hamana55 has joined the channel
@icadraic9 has joined the channel
ghc-8.6.5-rc1(リリース候補1)が出ています。
来週に正式リリースとのことですので、それまでにもし不具合があればぜひ不具合報告をどうぞ。
*

ghc8.8-alphaとghc8.10-alphaについてもアナウンスされています。
ghc8.8の遅れにもかかわらず、ghc8.10を遅れ無しで連続させるとのことです。
*