haskell-jp / mokumoku-online #71

S.K.です。今週もお世話になります。よろしくお願いします。
先週に続き Implementing Functional Languages: a tutorial の 5.2 Mark 1: A minimal parallel G-machine の続きを進めていこうと思います。
カテゴリー論基礎 (Part1 - Category) 読了 図式が豊富でコンパクト 続編 Part2 への準備だろう
競プロ典型 90 問 80 日目 - Let's Share Bit(★6) AC 包除原理の実装は初めて pointfree で書いてみた
本日のmakeMistakesToLearnHaskellの更新。元々執筆済みの箇所が多かったので、課題20も早いところ終わりそうです。
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/4a6c802d6f03f4bbe7ab0abddce155e1f97cb5e8
5.2 Mark 1: A minimal parallel G-machine, 5.2.3 Compiling a program の続きから始めましたが、
Ex.5.3, Ex.5.4 はひとまずスキップして、5.2.4 Printing the results を先に進めました。Ex.5.5 の途中です。
来週は土日とも用事があるため、お休みさせていただきます。再来週からまた参加させていただく予定です。
よろしくお願いいたします。
カテゴリー論基礎 2 (Part2- Adjoint)
あとハシゴで 競プロ典型 90 問 81 日目 - Friendly Group(★5)
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellの続きを進めます。
本日のmakeMistakesToLearnHaskellの更新
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/563e6f26ab079f3984d45292c756a4040aeddf6e
次回は課題19を微調整して完成させたい。
... Replies ...
カテゴリー論基礎 2 (Part2- Adjoint) 読了 Vect ⊣ Set で forgetful functor の逆を構成し巨大な counit が出来るところが 納得がいった
競プロ典型 90 問 81 日目 - Friendly Group(★5) TLE 領域の granularity が細かすぎるようだ 要圧縮を検討 2次元累積和自体は問題ないはず
@川頭信之 has joined the channel
はじめまして、川頭(カワガシラ)と申します。専門は機械学習です。Haskell初心者ですので、よろしくお願いします。
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellの続きをします。
Haskellでの型レベルプログラミング
あとハシゴで 競プロ典型 90 問 82 日目 - Counting Numbers(★3)
今こんなのをやっています。
https://personal.utdallas.edu/~gupta/courses/apl/lambda.pdf
A Tutorial Introduction to the Lambda Calculus
今日は3.2 The predecessor functionあたりをやろうかと。
https://github.com/kawagashira/lambda
過去の記事はQiitaに書いてます。
https://qiita.com/Trubetzkoy
S.K.です。ちょっと遅くなってしまいましたが、今週からまたお世話になります。よろしくお願いします。
先々週に続き Implementing Functional Languages: a tutorial の 5.2 Mark 1: A minimal parallel G-machine の続きを進めていこうと思います。
私も遅ればせながら、上記の1.5 A pretty-printer for the Core languageを読み進めています。
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/98da66299b391f421bc54ef98df4c9c2e8a3e504
のとおりmakeMistakesToLearnHaskellの続きを書きました。目標が達成できたし他にやりたいこともあるので今日はこの辺で。
「Haskellでの型レベルプログラミング」読了 型を使ってするプログラミングを見るのは初めて C++ の template programming に似たその奇矯的異様に驚いた
競プロ典型 90 問 82 日目 - Counting Numbers(★3) AC 巨大数のケースは苦戦した
先々週スキップした Ex.5.3 は、テキストに書いてある compileR, compileE を既存の処理に組み込むことなのかなと安易に考えて先に進みました。
そして、Ex.5.5 の残りを済ませて、テキストに記載されてなかった putGlobals も他の put 関数の様に安易に考えて追加してみたところ、とりあえず Ex.5.6 のテストプログラムが最後まで動くようになりました。
結果を見ると、Par 命令の実行後、ローカルマシンが2個に増えて並列動作しているようですが、安易に考えてしまった部分が多いので、テキストを参照しながら動作確認していこうと思います。
@ttsurutani has joined the channel
Notions of computation and monads, Eugenio Moggi (1991)
あとハシゴで 競プロ典型 90 問 83 日目 - Colorful Graph(★6)
引き続き、3.4 Equality and inequalityをやろうかと
https://personal.utdallas.edu/~gupta/courses/apl/lambda.pdf
A Tutorial Introduction to the Lambda Calculus
前回の結果は以下の所、ブログ書きました。
pair (a,b)のHaskellの書き方、$(\lambda z.zab)$アイデア等ありましたら、よろしくお願いします。
https://qiita.com/Trubetzkoy/items/169de0f152bca5f6c45c
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellの続きを書きます。
S.K.です。ちょっと遅くなってしまいましたが、今週もお世話になります。よろしくお願いします。
先週に続き Implementing Functional Languages: a tutorial の 5.2 Mark 1: A minimal parallel G-machine の続き(テストプログラムの動作確認)を進めていこうと思います。
toyboot4e です。 ac-library の移植作業を進めます
"Notions of computation and monads," Moggi, E (1991) 読了 圏論を用いてλ計算の算譜の同値性を一般化するお話 なんだかピンと来なかった 自分の足腰の基礎が弱すぎる
競プロ典型 90 問 83 日目 - Colorful Graph(★6) なんだ簡単と思ったら TLE ドツボにハマった トホホ 後日出直します
... Replies ...
昨日のイベントで疲れちゃったのかあんまり集中できませんでした。
こんな時に限って、課題21は単純な日本語の加筆からのスタートではなく
https://github.com/haskell-jp/makeMistakesToLearnHaskell/blob/27f34fda85c94d36a3c45aebc0679b4e3805e9e3/assets/21.md?plain=1#L3 に書いたとおり課題の問題をそもそも書き直す必要があり、圧倒されました :weary:
課題のプログラムと判定処理(と、そのテスト)の改修が終わるまでコミットはなしで!
Ex.5.6 のテストプログラム main = par S K K (S K K 3) の動作確認を中断して、テキストで説明されていたプログラム main = par I (I 3) の動作確認を進めました。
テキストでは同じ図に描かれていることが、動作確認結果では必ずしも同じステップでの出来事ではないようで、対応付けが難しかったのですが、一応何とかテキストの説明図と動作確認結果の対応がついたつもりです。
その確認結果をもとに、 main = par S K K (S K K 3) の動作確認を実施中です。
math モジュールを移植して寝てました〜
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellの続きを書きます。
余力があったらHaskell-jp Blogに https://www.youtube.com/playlist?list=PLRVf2pXOpAzJMFN810EWwGrH_qii7DKyn の配信の振り返り記事を書く件をやります。
The Essence of the Iterator Pattern, Jeremy Gibbons and Bruno C. d. S. Oliveira (2006)
あとハシゴで 競プロ典型 90 問 84 日目 - There are two types of characters(★3)
S.K.です。遅くなってしまいましたが、今週もお世話になります。よろしくお願いします。
先週に続き Implementing Functional Languages: a tutorial の 5.2 Mark 1: A minimal parallel G-machine の続き
(テストプログラム main = par (S K K) (S K K 3) の動作確認)を進めていこうと思います。
遅くなりました。前の続きです。こんなところです。
https://qiita.com/Trubetzkoy/items/f6bc8450495fbfb5b46b
先週から引き続き課題21の課題自体を改修しています。模範解答と解答を判定する処理の改修が終わりました。後は課題の問題文を修正すれば :kan: なんで来週はなんとかコミットできるかな。
Haskell-jp Blogについては手つかず。延長戦でちょっとでも進めようかな。
main = par (S K K) (S K K 3) の動作確認も一通り終えました。
ここまでMark1 並列Gマシンの動作を見てきて、途中スキップしたり保留にした Ex. について、現時点の自分なりの解答(らしきもの)は以下の様になりました。
・Ex.5.3 と Ex.5.5 については、安易に考えた対応で良さそうかなと思いました。
・Ex.5.4 も簡単に考えて、2番目の引数のグラフ簡約を別タスクに並列実行させるためではないかなと思いました。
・Ex.5.6 の結果は、並列マシン:48ステップ、シーケンシャルマシン:69ステップとなりました。
・Ex.5.7 については、別タスクが (I 3) のグラフ簡約を実行中に、メインタスクが (I <(I 3)簡約結果の間接参照>) のグラフ簡約を繰り返してしまう様です。別タスクが先に終わるような場合に par 関数を使用するのが理想的かと思いましたが、main = I (I 3) の場合も、並列マシンの方が短いステップ数で終わっていたので、もしかすると気にしなくてもいいのかもしれません。
"The Essence of the Iterator Pattern," The Essence of the Iterator Pattern (2006) 読了 Applicative functors の優位性を説いた歴史的ペーパー
競プロ典型 90 問 84 日目 - There are two types of characters(★3) ヤルだけ
山本悠滋です。先週からのコピペですが、いつもどおりmakeMistakesToLearnHaskellの続きを書きます。
余力があったらHaskell-jp Blogに https://www.youtube.com/playlist?list=PLRVf2pXOpAzJMFN810EWwGrH_qii7DKyn の配信の振り返り記事を書く件をやります。
S.K.です。かなり遅くなってしまいましたが、今週もお世話になります。よろしくお願いします。
Implementing Functional Languages: a tutorial の 5.3 Mark 2: The evaluate-and-die model を読み進めていこうと思います。
Day 7 - Advent of Code 出来ました `foldM (\t x -> [t+x,t*x,t.||.x])` が決め手だった
本日はこれにて離脱 Happy holidays!