haskell-jp / mokumoku-online #73

Applied Category Theory (MIT OCW 18.S097 2019) Chapter 2: Resources: Monoidal Preorders and Enrichment. Part 1 担当 Spivak 先生
あとハシゴで 競プロ典型 90 問 87 日目 - Chokudai's Demand(★5)
出掛けていて遅くなりましたが、いつもどおりmakeMistakesToLearnHaskellとHaskell製Webアプリケーションフレームワークを作る件の振り返り記事の続きをします。
Applied Category Theory, Chapter 2: Resources: Monoidal Preorders and Enrichment. Part 1 を視聴 教育的 examples/exercises が多いのがホント助かる しかも解答付きだから これで定義のお気持ちが分かる気がする 永遠の初心者の誤解で圏論て product とか limit とか圏の再構成ばかりと思っていたが 距離空間の拡張である Lawvere metric space 等々が出て来て いよいよ応用への準備らしく なるほどフムフムとなった
競プロ典型 90 問 87 日目 - Chokudai's Demand(★5) 頂点数が40以下なので Warshall-Floyd のように 全点対距離と寄り道距離で p 以下のモノを数え それがちょうど k 個になる場合の x を 全探索すれば良いのではないか その方針で実装中
今日のmakeMistakesToLearnHaskellの更新 https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/be83eac83b2813d9aee119c59b663e0aa2dd7ae8
Haskell製Webアプリケーションフレームワークを作る件の振り返り記事は疲れちゃったのか進んでないので延長戦でちょっとでもやります...。
Applied Category Theory (MIT OCW 18.S097 2019) Chapter 2: Resources: Monoidal Preorders and Enrichment. Part 2 担当 Fong 先生
あとハシゴで 競プロ典型 90 問 88 日目 - Similar but Different Ways(★6)
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellとHaskell製Webアプリケーションフレームワークを作る件の振り返り記事の続きをします。
一応makeMisktakesToLearnHaskellもwai-sampleの振り返り記事も少しだけ進めましたが、平日の疲れが出ちゃったのかあまり捗りませんでした。
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/0c6a9244aaa96e7f5253b8b12226918eb8155e83
Applied Category Theory, Chapter 2: Resources: Monoidal Preorders and Enrichment. Part 2 を視聴 謎の quantales (quantum + locale の混成語) の正体が明かされる また V-categories の labelled graph から matrix multiplication を用いて hom-objects としての最短経路を計算できるのが興味深い
競プロ典型 90 問 88 日目 - Similar but Different Ways(★6) 素朴解法:subsequences 全部分数列を列挙し xy を含まない条件で絞り その和が重複するところを見つける これでは もちろん TLE ではどうするか? おそらくこれらを枝刈りしながら行うのではないかと思案中
Applied Category Theory (MIT OCW 18.S097 2019) Chapter 3: Databases: Categories, functors, and universal constructions. Part 1 担当 Spivak 先生
あとハシゴで 競プロ典型 90 問 89 日目 - Partitions and Inversions(★7)
S.K.です。今週からまたお世話になろうと思います。よろしくお願いいたします。
先月に引き続き、Implementing Functional Languages: a tutorial の 5.3.2 The instruction set の Ex.5.10 の動作確認の続きを進めて行こうと思います。
お久しぶりです。 toyboot4e です。 vector-algorithms への PR を進めて行きます。
ベンチマークIssue, PR を作成しました。疲れて来たので、お先に失礼します!
山本悠滋です。外出していて遅くなってしまいましたが、いつもどおりmakeMistakesToLearnHaskellとHaskell製Webアプリケーションフレームワークを作る件の振り返り記事の続きをします。この後も用事なので最後までいられませんが!
Applied Category Theory, Chapter 3: Databases: Categories, functors, and universal constructions. Part 1 の動画視聴了 Database を圏として扱えるように 対象・射が徹底的に抽象化されていることを多数例証し 制約付きのグラフもそれに当たるなどが示され面白い 
競プロ典型 90 問 89 日目 - Partitions and Inversions(★7) 小課題(1 点): K=0の場合は group / span を一般化して昇順の部分列にすればよい 他の一般的ケースは groupBy / spanBy を工夫して バブルソートの交換回数を制約条件として 取り込めばよいのではないか 思案投げ首中
5.3.2 The instruction set の Ex.5.10 の動作確認の続きと、Ex.5.9 のデバッグを進めていました。
動作として正しくなかったのは、よく見れば一目瞭然でしたが、前回終了間際で焦ってしまい、よく見れていませんでした。
少なくとも、前回行った Unwind 命令の遷移規則を表す unwind 関数の対症療法的な修正が間違っていました。
やっぱり、しっかり考えて修正しないとダメですね。その部分も含めて、引き続きデバッグ中です。
Applied Category Theory (MIT OCW 18.S097 2019) Chapter 3: Databases: Categories, functors, and universal constructions. Part 2 担当 Fong 先生
あとハシゴで 競プロ典型 90 問 90 日目 - Tenkei90's Last Problem(★7)
S.K.です。今週もお世話になります。よろしくお願いいたします。
先週に引き続き、Implementing Functional Languages: a tutorial の 5.3.2 The instruction set の Ex.5.9 のデバッグを進めて行こうと思います。
山本悠滋です。出掛けていて遅くなってしまいましたが、いつもどおりmakeMistakesToLearnHaskellやHaskell製Webアプリケーションフレームワークの記事の続きを進めます。
本日のmakeMistakesToLearnHaskellの更新: https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/48f200ce7c926fbebeb4bd6e1cab94f8362bb97c
Haskell製Webアプリケーションフレームワークの記事(今回までの進捗。次回以降は毎回共有します): https://github.com/haskell-jp/blog/commit/ebc549f0b8b2cd09a471a2b88eb1bb1d7a4158a1
Applied Category Theory, Chapter 3: Databases: Categories, functors, and universal constructions. Part 2 の動画視聴了 Preorder や Graph や Set Database schema 等々を前章から学んだ後での functors と natural transformations また adjoints や limit/colimit 導入となるので examples/exercises で肉付けされ消化しやすく勉強になり助かる Example 3.99. pullback はその最たるモノ
競プロ典型 90 問 90 日目 - Tenkei90's Last Problem(★7) 圏論の勉強が長すぎて(第3章は本 text 中最長)競プロのハシゴまで至らなかった 来週に延期
Ex.5.9 のデバッグを行っていました。
Ex.5.10 のテストプログラムを実行した結果、スタックトップに格納されたヒープアドレスの中身がGlobalノードで、スタックボトム?に格納されたヒープアドレスの中身が間接参照ノードの場合に、スタックの内容を再構築しようとしてエラーとなってしまっている模様。
スタックを再構築するrearrange関数から呼び出しているgetArg関数がNon-exhaustiveということで、多分間接参照ノードの場合が未定義なためではないかと思いますが、そもそもそのような状態でrearrange関数が呼ばれることが正しいかどうかが、まだよくわかりません。
自分にとってまだまだ先は長そうですが、引き続きデバッグを進めます。
@EtoAl has joined the channel
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellやHaskell製Webアプリケーションフレームワークの記事の続きを進めたいところですが、GitHubから「Ubuntu-20.04 hosted runner image is closing down」だから上げろと行ってきたので上げる件を先にやります。
Applied Category Theory (MIT OCW 18.S097 2019) Chapter 4: Co-design: Profunctors and Monoidal Categories. Part 1 担当 Spivak 先生
あとハシゴで 競プロ典型 90 問 90 日目 - Tenkei90's Last Problem(★7)は先週から持ち越したもの
S.K.です。かなり遅くなってしまいましたが、今週もお世話になります。よろしくお願いいたします。
先週に引き続き、Implementing Functional Languages: a tutorial の 5.3.2 The instruction set の Ex.5.9 のデバッグを進めて行こうと思います。
用事があるので終えます!眠気に負けてあんまり捗りませんでした!
GitHub Actionsの件: https://github.com/haskell-jp/antenna/pull/35
makeMistakesToLearnHaskellの更新: https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/c02b510e82c89f13e1aa839165bb03fc98a9501e
Haskell-jp Blogの更新: https://github.com/haskell-jp/blog/commit/425abd418387722e41afff607dc95ac9a50b5100
Applied Category Theory, Chapter 4: Co-design: Profunctors and Monoidal Categories. Part 1 の動画視聴 + text 読了 Collaborative design の要諦が示される Co-design の elements の左に functionalities 右に requirements を置いた Co-design diagram が描かれ これらの feasibility relations が profunctors に対応している それを一般化して Enriched categories / V-profunctors を考える事になる フムフム ここまでの豊饒圏の導入が自然でわかりやすい
競プロ典型 90 問 90 日目 - Tenkei90's Last Problem(★7) 激ムズ [1..k] の範囲で全数列挙しか思いつかない 味噌汁で顔を洗ってオトトイ出直します トホホ
Ex.5.9 のデバッグのために、Ex.5.10. の実行結果を確認していました。
エラーで停止した時点で、7個の子タスクが生成されていて、そもそもその動作が正しいかどうか確認中です。
3個目の子タスクまでは一応動作が腑に落ちたのですが、4個目以降が正しいかどうかまだよくわかっていません。
自分にとってまだまだ先は長そうですが、引き続きデバッグを進めます。
Applied Category Theory (MIT OCW 18.S097 2019) Chapter 4: Co-design: Profunctors and Monoidal Categories. Part 2 担当 Fong 先生
あとハシゴで Competitive Programming in Haskell: Basic Setup Brent Yorgey 先生の一連の blog から Kattis の問題を解きます
S.K.です。ちょっと遅くなってしまいましたが、今週もお世話になります。よろしくお願いいたします。
先週に引き続き、Implementing Functional Languages: a tutorial の 5.3.2 The instruction set の Ex.5.9 のデバッグを進めて行こうと思います。
Applied Category Theory, Chapter 4: Co-design: Profunctors and Monoidal Categories. Part 2 の動画視聴 + text 読了 Categorification を様々な例で説明される Prof-V が compact closed category であることが示される(どんどん一般化・抽象化が進められて 追いつくのがツライ)
Competitive Programming in Haskell: Basic Setup は初回とあって Kattis はお試しのやさしい例題 A Different Problem であった 他の人の解法が見れないのは残念
今日はこれにて離脱
山本悠滋です。外出していて遅くなりましたが、いつもどおりmakeMistakesToLearnHaskellなどの続きをします。
先週に続き、Ex.5.9 のデバッグのために、Ex.5.10. の実行結果を確認していました。
手計算で確認してみた動作と比較して、7個の子タスクが生成されることや、子タスクに割り当てられる処理は、とりあえず一応正しそうに見えたのですが、どうも途中で変更してはいけないヒープの内容を変更してしまっているように見えました。
ロック処理が正しく行えているか、ロックされたノードに対する処理を間違えていないか、確認中です。
とても時間がかかってしまってますが、引き続きデバッグを進めます。
Applied Category Theory (MIT OCW 18.S097 2019) Chapter 5: Signal flow graphs: Props, presentations, and proofs. Part 1 担当 Spivak 先生
あとハシゴで Competitive Programming in Haskell: Scanner Brent Yorgey 先生のこの blog をもとに Kattis の問題を解きます
S.K.です。遅くなってしまいましたが、今週もお世話になります。よろしくお願いいたします。
先週に引き続き、Implementing Functional Languages: a tutorial の 5.3.2 The instruction set の Ex.5.9 のデバッグを進めて行こうと思います。