haskell-jp / random #56

@i-kanto has joined the channel
見えました:+1::tada:
https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0160-no-toplevel-field-selectors.rst レコードのセレクタ関数の生成を止める、つまり data R = R { foo :: Int, bar : Int }を定義しても`foo`や`bar`が関数として定義されなくなる言語拡張案、NoFieldSelectorsが受理されたようです。レコード問題の解決に向けた大きな一歩ですね
@Maillein has joined the channel
いい!
この icfp チャネルですが、参加者のコミュニケーション用のつもりだったところが、聞いたセッションの分かった(気になった)部分の雑実況チャネルになってたので、セッションの概要が気になればどうぞ
技術書典 7 観測範囲内
し02 趣味はデバッグ…… kakkun61
し03 だめぽラボ mod_poppo
し04 ?
し05 すみころもち wadllaw
し06 Dodgeson Labs y_taka_23
@y_ahiru has joined the channel
GHC 8.8.1 released - The Glasgow Haskell Compiler https://www.haskell.org/ghc/blog/20190825-ghc-8.8.1-released.html 出、出、出出出た~~~~~!!!
:tada:

Visible kind applications すごそうだけど自分にはまだまだ縁がなさそう〜 :sweat_smile:
依存型がまた一歩近づいた感じですね。使う場面は少ないでしょうが、いぶし銀な活躍をしそう
@sekikano has joined the channel
Nobuyuki Tomizawa
@Nobuyuki Tomizawa has joined the channel
@zak has joined the channel
@takenobu.hs さん、GHC 8.8.1が出たので https://gitlab.haskell.org/ghc/ghc/wikis/commentary/libraries/version-history を更新しようとしてみたところ、生の<table>タグを使っていて、手で編集するのはしんどそうだと気づきました。何使って編集してますか?
お、と思いきや https://github.com/bgamari/ghc-utils/tree/master/library-versions のツールを使って書いてると書かれてますね。。。
メンション済みません! :bow:
すみません遅くなりました。解決済みですね:+1:
http://www.tsurucapital.com/en/ Tsuru Capitalのインターン募集の季節(?)がやってまいりました。コードサンプルの問題自体は易しいですが、入出力なども含めていかに効率よく実装できるかが鍵となります。腕に自信がある型は是非
必須や急ぎではないのですが、一番左のHEADの列の値が正しくない(現在のHEADでなく古そう)ようですよ。
もしかして、HEADでビルドした上で実行しないといけなかったですかね... :cold_sweat:
version-historyのページは表自体を編集したことがない(生成ツールを使ったことがない)ので把握できていないのですが、もしかするとツールを使う上で何か手順が要るのかもしれませんね。
あるいは、HEAD列は手編集という可能性もあるかも:thinking_face:
ツールの履歴をざっと見てみましたが、HEADと各バージョンは、別々に編集されてるみたいですね。

HEAD
https://github.com/bgamari/ghc-utils/blame/master/library-versions/pkg_versions.txt#L102

GHC 8.6.5
https://github.com/bgamari/ghc-utils/pull/17

HEAD側は、おそらく、HEADでビルドした ghc-pkg コマンドを使ったか、手編集っぽいですね。
わざわざすみません...
手で編集するとしたら、HEADに入ってる各パッケージのcabalファイルを確認するのが確実ですかね。
いちから手で編集するのは大変そうだと思いますが、今のmaster(ghc 8.9)ブランチのHEADでの各ライブラリのバージョンを、手っ取り早くリストアップするには、以下のページの右の列を使えると思います。
以下は、masterのHEADを使ってビルドされている、ライブラリのドキュメント群です。
https://ghc.gitlab.haskell.org/ghc/doc/libraries/index.html


ただ、結構数が多いので、可能ならmasterでghcをビルドしてから、そこでの ghc-pkg をつかってベースを作ってから、手編集するのが良い気がします。
その場合の手編集の対象は、 8.9.2019... となっている箇所を、今のHEAD列に合わせて 8.9* とか 8.9 に修正するくらいだと思います。


HEADの情報の精度で今すぐ困る人は少ないと思うので、しばらくおいておくという手もあります:sweat_smile:
バージョンをとるだけならビルドしなくても、
libraries/以下にある各cabalファイルからgrepで抜き出すワンライナーでも書くのが簡単かな、と思いますがいかがでしょうか?
来週そうします。
と思ってましたが教えていただいた https://ghc.gitlab.haskell.org/ghc/doc/libraries/index.html からDevToolsで
Array.from(new Set(Array.from(document.getElementsByClassName("package")).map((e) => e.innerText.replace(/8\.9\..*/, "8.9*")))).join("\n")

というワンライナーでとれました。残りの加工は明日以降やります
base-4.13.0.0
transformers-0.5.6.2
stm-2.5.0.0
deepseq-1.4.4.0
mtl-2.2.2
array-0.5.4.0
binary-0.8.7.0
bytestring-0.10.9.0
containers-0.6.2.1
text-1.2.3.1
time-1.9.3
Cabal-3.0.0.0
ghc-boot-8.9*
ghc-prim-0.6.1
ghc-compact-0.1.0.0
ghc-heap-8.9*
ghc-boot-th-8.9*
integer-gmp-1.0.2.0
ghci-8.9*
libiserv-8.9*
template-haskell-2.16.0.0
process-1.6.5.1
haskeline-0.7.5.0
terminfo-0.4.1.4
directory-1.3.3.2
filepath-1.4.2.1
unix-2.7.2.2
parsec-3.1.14.0
pretty-1.1.3.6
xhtml-3000.2.2.1
hpc-0.6.0.3
すごい。 急がないで良いと思いますよ:+1:
あと、せっかくだったら、作られた pkg_versions.txt を以下みたいに pull request送るのもよいかも(必須ではないです):haskell:
https://github.com/bgamari/ghc-utils/pull/17
GitLabにあるのが本家なのかな、と思って実はすでにやってます。 :smirk:
https://gitlab.haskell.org/bgamari/ghc-utils/merge_requests/14
失礼しました、GitLab側がメインなのですね。 仕事が速い!:tada:
Wikiページの、このツールへのリンクも GitHubからGitLab側へ変えとかないといけないですね。
いや... 実際のところBenさんに訊かないとわからないのでWikiのリンクを変えるのは時期尚早かと...
Cabalファイルのフォーマッターができてました。ありがたや。
http://oleg.fi/gists/posts/2019-08-11-cabal-fmt.html
exposed-moduleをディレクトリーに入ったモジュールで自動的に書き換える機能もあるらしい。
hpack使う必要性がますます減るな。
@linguini has joined the channel
haskellを勉強し始めて2ヶ月の初心者ですが、よろしくおねがいします!
なるほど、どっちが上流かしだいなのですね:+1:
単純ながら便利そう :ideograph_advantage:
https://github.com/0xd34df00d/can-i-haz
@makoto0607 has joined the channel
@atsushi3r has joined the channel
型に対する正規表現とは... :astonished:
https://github.com/kcsongor/regex-type
TODO:
Figure out if it's actually useful for anything
ぽんちゃん
初めまして!現在趣味でHaskellを勉強中なのですが、エラーなどでうまくいかない場合の質問はどのチャンネルで行えばよいでしょうか? :thinking_face:
questions でお願いしますー
Webサーバで型レベルの文字列で権限管理とかしだして特定のパターンがあったときにうんちゃか、とかですかね… でもそれだったらそのパターンを型として切り出して実装したほうが良さそうな気もするが…
@西山寛之 has joined the channel
どんどこすすむ
@どんどこすすむ has joined the channel
@wataash has joined the channel