haskell-jp / today-i-learned #4

@hongminhee has joined the channel
Bang pattern (`!`) の有無でパフォーマンスが倍変化する例を 2 つ見つけました
変化の理由は分かりませんが、ひとまず Vector を使う時は ! をつけるようにします。
とりあえず標準のタプルはスペースリークの原因になりやすいので中のサンクは極力潰せ、とは聞きますね。 StrictData を常に有効にしろ、という人がいるのもそういう理由でして
今`StrictData` を有効にして実行してみましたが、 ! 無しだと遅いままでした。
StrictData を使っても、すべて (の) サンク関係のロスを予防できるわけではないのですね :memo:
StrictData はあくまで有効にしたモジュールで定義した型の各フィールドに ! を付けるだけなので、既存のタプルには意味がないです(詳しくは https://haskell.jp/blog/posts/2020/strict-gotchas.html )。
だから既存のタプルとは別にそういう Strict なタプルを用意する必要があります。そういうパッケージもあったはずです。
@ has joined the channel
昨日は algorithm design with haskell の一章をやりました。丸1日かかりました…。でも休日にこうやってずっと勉強できるのって楽しいなと思いました。
algorithm design with haskell の2章をやりました。すでに十分難しいですが、本題は4章からですかね…。
@ has joined the channel
@sat0ma has joined the channel
algorithm design with haskell の5章を読みました。ソートのアルゴリズムは車と同じで、速くてスムーズで安定してコンパクトなのがいい、とのこと。
absinthe drunker (atカフェ)
@absinthe drunker (atカフェ) has joined the channel
@CLERK has joined the channel