haskell-jp / mokumoku-online #56

こんにちは。 Haskell Optimization Handbook を参照しつつ、ベンチマーク環境を整えたいです。あと AHC に出ます。
AHCってなんですか?
AtCoder のヒューリスティックコンテストです :ok_hand:
山本悠滋です。今日は出先から戻ってからですが、makeMistakesToLearnHaskellの続きだけ進めます。用事があるのでそれだけ!
この後用事なので今日はここまでにします。ほとんど先週書いてコミットしてなかった部分なので進捗ほぼ0です...
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/421e5943b00f8ddef28875f9f7807d0e9bd0902f
あ、あと、 questions チャンネルに来た質問に答えてました。
"簡約!? λカ娘" (#10) 読了 モナドモナド:圏論におけるモナド上のモナドが瞠目に値する また 夭逝した村主崇行の思い出が「頭おかしい」「おもしろそう」「圧倒的成長できそう」等々で
生前親密だった @tanakh が多くを語って「つらい」と
AtCoder 鉄則本 A71 - Homework AC あっけないほど簡単だった
本日はこれにて離脱
bunny_hopper isolated
CUI三目並べについて成果報告:
・盤上のOX配置表示と自機コマの配置入力をREPLで行えるようになった。StateTを使用。
とりあえず何とか実装してみました。
テストプログラムを動かして確認してみたところ、一応エラーなく終了するものと、エラーメッセージを表示して異常終了するものがある状態です。
(エラーメッセージは「存在しないアドレスを更新または解放しようとします」というような内容です。お恥ずかしい限り。)
まだまだ先は長そうです。:pensive:
MVector を 2 次元添字で操作する API を整えました。早速 AHC で活躍してくれました
@wasabi has joined the channel
今日は、久々にタイプセーフプリキュアの更新をします。「ひろがるスカイ!プリキュア」のサポートです。
競プロの使者トイブラックです。プリキュアの記事や Algorithm Design with Haskell を読んでみます。
S.K.です。今週もお世話になります。よろしくお願いします。
Implementing Functional Languages:a tutorial の、Mark1 TIM のガベージコレクション対応の続きをしようと思います。
https://haskell.jp/slack-log/html/CL3AXB1AL/8.html#message-1687991585.429139 = https://haskell-jp.slack.com/archives/CL3AXB1AL/p1687991585429139

Haskell AtCoder Language Update 202301 擬似環境から ghcup にしか使われない幾つかのファイルを除外するテストをします。
テストは完了しました.抜けます.
この後用事なので本日はここまでにします。
タイプセーフプリキュアの修正は終わりました。もうちょっと時間をおいて、早ければ今日の夜にリリースします。
makeMistakesToLearnHaskellの修正もちょっとやりました: https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/7510b4c431e21771f4d6ccc12b64a7b1d85e4b97
残念ながら、先週見つかった不具合を解決できませんでした。
間違えていそうなところは色々ありそうですが、まだ特定できていません。
まだまだ先は長そうです。
"簡約!? λカ娘 "(#11) 読了 catamorphism の記事が白眉 F-始代数の畳み込み再帰関数を統一する試み
AtCoder 鉄則本 A72 - Tile Painting  奮闘中 単純な recursion 解では遅すぎる
プリキュアの記事で高度な言語機能を学びました。 メタモルフォーゼ!
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellやcabal replの件の続きをします。
ただ今日は16時過ぎから用事なので、makeMistakesToLearnHaskellだけになりそう
S.K.です。今週もお世話になります。よろしくお願いします。
今週も引き続き、Implementing Functional Languages:a tutorial の、Mark1 TIM のガベージコレクション対応をしようと思います。
ose20です。1年ほど手が回らず離れていましたがまた復帰します!よろしくお願いします。
言語をHaskellに変えて競プロに復帰したいので、鉄則本でリハビリします:melting_face:
toyboot4e です。『競プロ典型 90 問』をやっていきます
もう用事に行かなきゃなので今日はこれだけ。今朝飲むヨーグルトを間違って飲み過ぎちゃったせいかお腹が痛くてあんまり進みませんでした...
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/bf33cb440de38314b3ca9bbee4a98620dfd100e0
"Understanding F-Algebras" 読了 F-代数の関手の不動点が始代数になるのが catamorphism のミソ
AtCoder 鉄則本 A74 - Board Game AC 最ゴルフ最速だった 蟻本の BIT を用いる問題に同じ
本日はこれにて離脱
ダブリングや約数列挙などの基本を固めていました。典型 90 問の★ 4 は今日中に終わりそうです。
Mark1 TIM のガベージコレクション(GC)対応について、
・スタックに積まれているクロージャのフレームポインタのアドレスしか使用中としてマークしてなかったので、
 それらのアドレスが指すヒープの中身のフレーム(クロージャのリスト)についてもアドレスを再帰的に取り出して、
 使用中としてマークするように修正。
・使用中でない領域を解放する関数の実装を思い切り間違えていたので修正。
以上を行ったところ、エラーが出ていたテストプログラムも一応正常に終了して、
終了時の確保領域数や実行中の最大確保領域数が、GCなしに比べて小さくなりました。
ただ、以上の方法だと使用中としてマークする領域が多すぎる(スペースリークと呼ぶらしい)ようで、
その解消方法がテキストに書いてあるみたいですが、恥ずかしながら内容をよく理解できませんでした。
まだまだ先は長そうですが、少し進んだと思います。
鉄則本の1,2章を解いていました。まだまだ各種ライブラリの使い方に改善の余地ありです
ABC310 DEDPC 後半の問題をやっていきます
"「圏論とプログラミング」発表スライドメモ " https://qiita.com/inamiy/items/9af1da1faec22cd968f0
あとハシゴで AtCoder 鉄則本 A76 - River Crossing https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bx
S.K.です。今週もお世話になります。よろしくお願いします。
今週も引き続き、Implementing Functional Languages:a tutorial の、
Mark1 TIM のガベージコレクション対応(スペースリーク解消)をしようと思います。
山本悠滋です。出先なので、帰宅してからmakeMistakesToLearnHaskellの続きを書きます
「圏論とプログラミング」 読了 Lens や Recursion Scheme まで含む広汎な圏論概念を Haskell で考える試み 圧倒された
AtCoder 鉄則本 A76 - River Crossing  考慮中 メモ化DP典型のような気がする
テキストに書かれていたセクション4.1.4の例(compose2の本体の(g x x))について、
簡単なテストプログラムを作って動作を確認していましたが、あまり進めることができませんでした。
(g x x)のコードがスタックにプッシュされたときに、ヒープには3個のクロージャからなるリストが格納されていたのですが、
1個目のクロージャは使わないみたいで、そのクロージャのフレームポインタが指すヒープアドレスは
使用中としてマークしなくてOKということを著者はおっしゃっているのかな?
まだまだ先は長そうです。
解けなくて寝ていました、、 :smiling_face_with_tear:
"融合変換による最適化の理論的基盤と正当性" https://www.slideshare.net/sakai/20060627
あとハシゴで AtCoder 鉄則本 A77 - Yokan Party https://atcoder.jp/contests/tessoku-book/tasks/typical90_a
S.K.です。今週もお世話になります。よろしくお願いします。
今週も引き続き、Implementing Functional Languages:a tutorial の、
Mark1 TIM のガベージコレクション対応(スペースリーク解消)にトライしてみようと思います。
はじめまして!wasabiです.よろしくお願いします.
今日は を読もうと思います.
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellやcabal replの件の続きをします。
今日も用事はあるけど両方進めたい所