haskell-jp / mokumoku-online #83

あんまり進んでないですが、ChatGPT と相談しつつテクスチャ読み込みの API を検討していました。
「6.5.3 A tricky point」の Ex.6.8 の続きを進めていました。
Copilot先生の助けを借りて、一応 6.5.3 のサンプルプログラムをテキスト通りの結果に処理するプログラムが出来上がりました。
助けていただいた部分のコード内容理解を進めています。
内容あまり理解できてないのですが10章の定理証明までは読み進めました。今の私にはカロリーが高いので次は一旦別のことやろうと思います。
昨日のAtCoderの復習をやります。
Competitive Programming in Haskell: Sparse tables: Brent Yorgey 先生の blog をもとに Kattis の問題を解きます 気付いて見れば今回が先生のシリーズ最終 blog でした その最終課題に挑みます
先週に引き続きゲームエンジンを。
S.K.です。今週もお世話になります。よろしくお願いいたします。
今週も Implementing Functional Languages: a tutorial の Chapter 6 Lambda Lifting の続きを進めて行こうと思います。
所用で遅くなってしまいましたが、 https://github.com/haskell-jp/makeMistakesToLearnHaskell/pull/122/ の修正に取り組みます。
エンジンの上に載せるゲームとしてブロック崩しを作っていました。とりあえず基本的な動きはできた。
テストを直してます。が、そもそもこのテスト今後必要なのかどうか頭を捻りながらなので遅いです。
Competitive programming in Haskell: Sparse tables: Sparse table 分かった 最終問題 Win Diesel は 木の Lexicographical BFS traversal に対して Sparse table を作り LCA を利用する しかしこれでは Kattis の判定は TLE (28/47) だった(予想通り) これはもう先々週来の問題で Yorgey 先生の Sparse table が遅い すでに手元に自作の STUArray で書き換えたものがあるが なんと最近の Kattis は Data.Vector libraries を許すようになったらしい! ので 今度はそれに書き換えようと思う 今日はここまで
「6.5.3 A tricky point」の Ex.6.8 の続きを進めていました。
時間かかってしまいましたが、Copilot先生の助けを借りた部分のコード内容を何とか一通り理解することができました(つもりです)。
これで「6.5 Mark 3: Johnsson-style lambda lifting」はとりあえず完了とさせていただき、「6.6 Mark 4: A separate full laziness pass」に移ろうと思います。
CPL (Categorical Programming Language) 酒井政裕 先生の圏論的プログラミング言語 CPL を REPL と Tutorial で学び(遊び)ます
S.K.です。ちょっと遅くなってしまいましたが、今週もお世話になります。よろしくお願いいたします。
今週も Implementing Functional Languages: a tutorial の Chapter 6 Lambda Lifting の続きを進めて行こうと思います。
遅くなってしまいましたが、いつもどおりmakeMistkakesToLearnHaskellの続きに取り組みます。
こっちに書くの忘れてました。引き続き、背景のスクロール機能を実装中です。
https://github.com/haskell-jp/makeMistakesToLearnHaskell/issues/78 の課題に取り組んでいます。延長戦で多分pull requestを出せる
とりあえずスクロールの前提として、キャラがピクセル単位ではなくタイル単位で移動するようにしました。移動中の先行入力が必要なので意外と複雑だった。
「6.6 Mark 4: A separate full laziness pass」の部分を読み始めました。
自分にとってはかなり難解な内容で、前半部分(6.6.1から6.6.3まで?)の原理的な説明部分と後半部分(6.6.4から6.6.9まで?)のコード説明部分を行ったり来たりしてるうちに時間となりました。
理解するまでにかなり時間がかかりそうですが、自分に可能なペースで進めて行こうと思います。
CPL (Categorical Programming Language) 圏論的プログラミング言語 CPL の Tutorial だけ読了 存分に脳内爆発を味わった REPL まで到底及ばず後日また挑戦し(学び(遊び))ます それにしても 『2引数関数を「関数を返す1引数関数」に変換する操作がカリー化』とか『1+2=3』が次式とはスゴ過ぎだろう
cpl> simp add.pair(s.0, s.s.0)
s.s.s.0
: 1 -> nat
Haskellと直接関係がなくなってしまって恐縮ですが、 https://github.com/haskell-jp/makeMistakesToLearnHaskell/issues/121 のためにQwikの勉強をします。
CPL (Categorical Programming Language) 酒井政裕 先生の圏論的プログラミング言語 CPL の続き Examples で学び(遊び)ます
S.K.です。ちょっと遅くなってしまいましたが、今週もお世話になります。よろしくお願いいたします。
今週も Implementing Functional Languages: a tutorial の Chapter 6 Lambda Lifting の続きを進めて行こうと思います。
先週まででグラフィックス方面は大体できたので、今日はサウンドを作ります。とりあえず正弦波を鳴らすところから。
Qwikのチュートリアル https://qwik.dev/tutorial/welcome/overview/ や関連するドキュメントを読んだりしています。
... Replies ...
CPL (Categorical Programming Language) 圏論的プログラミング言語 CPL の REPL でソース samples/examples.cpl を読み 初歩的なモノをいくつか試した 存分に脳内爆発を味わう
萩野達也 先生の CPLの概要を日本語で解説した論文 "Categorical Functional Programming Language", Computer Software Vol 7 No.1, 1992 も読んだ やっぱり脳内爆発で敗退 トホホ
... Replies ...
ブロック崩しで「当たったら 0.1 秒間 880 Hz の音を鳴らす」という処理ができました。
「6.6 Mark 4: A separate full laziness pass」のコードを入力して、テキストに載っていたサンプルプログラムを段階的に処理させながら、途中経過を確認してました。
ようやく少しイメージがつかめてきましたが、Ex.6.9 を解かないと処理全体の結果は得られない様なので、まずは現状得られる範囲の結果を確認しながら、内容を理解したいと思います。
reply をありがとうございます いろいろ試すときに command line editor があると良いなと思いました
Typeclassopedia by Brent Yorgey (2009) を読んで苦手の type classes について学びます
S.K.です。ちょっと遅くなってしまいましたが、今週もお世話になります。よろしくお願いいたします。
今週も Implementing Functional Languages: a tutorial の Chapter 6 Lambda Lifting の続きを進めて行こうと思います。
ac-library-hshaskell.nix でビルドして Garnix CI を回してみたいです
GHC のビルドの待機中です :melting_face:
Typeclassopedia by Brent Yorgey (2009)  "Functor" まで読了 有名な を見て 末端にあるヤツを今まで自分で書いたことがナイ 例えば Traversable とか MonadFix とか ArrowApply とか ArrowChoice とか ArrowLoop とか ... 加えて Comonad とか Category などいったいドーユー物なのか? 一度は使ってみたい これらはいつの日かの楽しみ 本日学んだ Brent Yorgey 先生の格言 definitions and examples に注意着目せよ any particular metaphor に過度に傾くな そうだね遠い昔たとえ話で分かったような分からんようなところが 少し分かる気がする
先週に続き「6.6 Mark 4: A separate full laziness pass」で扱っていたサンプルプログラムの処理結果を確認しながら、コードの理解を進めてました。
まだ十分に理解できていませんが、途中の結果(identifyMFEs 関数の出力結果)を見ると、所望の結果に近い形になる模様です。
ただ、let の局所変数定義の右辺に関数の部分適用がまだ残っているようで、これがどうやって外部関数に出されるのかを確認していこうと思います。
今日もQwikの勉強をしてるだけで終わっちゃいました。昨日の疲れからかあまり進まず。チュートリアル終わったら次は何からしようかな
Typeclassopedia by Brent Yorgey (2009) を読んで苦手の type classes について学びます 今日は Applicative から
引き続き https://github.com/haskell-jp/makeMistakesToLearnHaskell/issues/121 に取り組みます。
(といいつつ軽く脱線して、Qwikの勉強を兼ねてQwikのリポジトリーに何かしら貢献する予定です)
S.K.です。遅くなってしまいましたが、今週もお世話になります。よろしくお願いいたします。
今週も Implementing Functional Languages: a tutorial の Chapter 6 Lambda Lifting の続きを進めて行こうと思います。
用事があるのでここで終えます。
https://github.com/QwikDev/qwik/pull/8412 の pull request を送って終わりました。
v2の開発に集中してるからなのか、Qwikの現状の開発環境が中々初心者泣かせだ...