haskell-jp / mokumoku-online #50

少し早いですが先に抜けます。「コンピュータシステムの理論と実装」10章の構文解析器をmegaparsecで作ってみようと思い、ドキュメントやチュートリアルを読みました
Exercise 3.29. は、先週のもくもく会の後に一応何とか解けたので、Mark4マシンとMark5マシンでは算術演算や比較演算のコンパイル結果が変わっていることと、Appendix Bのテストプログラムが正しく動くことをざっと確認しました。
その後、3.8 Mark 6: Adding data structures の 3.8.5 The compiler の途中まで読み進めました。
(Mark6マシンの部分は、読み進めただけで、写経やExerciseはまだ行っていません。)
Programming Language Foundations in Agda の 1-2: Induction を途中まで読みました。後半の練習問題がたくさんある部分に差し掛かっています。
cabal replの件で、先週書いた cabal --version の出力をパースする処理のテストを通せました。次は取得した cabal --version の出力に基づき処理を分岐するところです。
Docker 上で AtCoder Language Update 202301 用の環境構築を試してみたいと思います. Docker 久しぶりに触るので怖いですね… (Docker Console でいいのかよくわかってないのは内緒)
S.K.です。今週もお世話になります。よろしくお願いします。
Implementing Functional Languages:a tutorial の 3.8.5 The compiler の続きから読み進めようと思います。
山本悠滋です。
いつもどおりmakeMistakesToLearnHaskellの続きやcabal replの件を... と思ってましたが、日本年金機構になんか書類を提出しないといけないのでそこからやります:weary:
https://twitter.com/igrep/status/1615960132789366784
なんか,build checkも終えられないまま抜けることになりそうです,すみません…
• 日本年金機構への書類の提出は無事できました。できたはずです
• makeMistakesToLearnHaskellはようやく課題16の終わりが見えてきました https://twitter.com/igrep/status/1617080793863704576
• cabal replの件は今 cabal --version の出力からcabal-installのバージョンを調べる処理を実装中です
3.8 Mark 6: Adding data structures を一通り読み終わり、Mark6マシンの写経とExerciseを開始しました。
3.8.4 The instruction set の写経まで終わり、Exercise 3.33 を解いている途中です。
やっとバージョン指定なしのビルドだけ通せました,なんとか…
報告遅れましたが
"Recursion Schemes, Part III: Folds in Context," Patrick Thomson https://blog.sumtypeofway.com/posts/recursion-schemes-part-3.html
あとハシゴで AtCoder 鉄則本 B37 - Sum of Digits https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_dj
@kk has joined the channel
kkです.はじめまして.
自作のmixfix operators parserを書き上げたので,テストを拡充する作業を以て参加させて頂きたいです.
ググれば出てくる論文「Parsing mixfix operators」は割と根本から怪しいことが判明しているので,気になる人がいればソースコードを公開しつつの議論をする用意もあります.
折角書いたパーサを誰かに見て貰いたいという動機ですが,よろしくお願いします.
kkです.初参加です.
上述の通り,自作パーサのテストを拡充します.
https://gist.github.com/ijaketak/7ea6bf3f509250b6d9739216e546f144
"Recursion Schemes, Part IV: Time is of the Essence," Patrick Thomson https://blog.sumtypeofway.com/posts/recursion-schemes-part-4.html
あとハシゴで AtCoder 鉄則本 B39 - Taro's Job https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_dl
山本悠滋です。まだ出先なので帰ってから例のごとくmakeMistakesToLearnHaskellの続きと、cabal replの件を進めます
S.K.です。今週もお世話になります。よろしくお願いします。
Implementing Functional Languages:a tutorial の Exercise 3.33 がなんとか解けたので、
3.8.5 The compiler の写経から進めていきます。
こんにちは,今週もお世話になります.今週は,Hackageから.cabalファイルをとってきてExposed-Modulesのリストを作るプログラムを書きます
こんにちは。昔解けなかった AtCoder の問題を解きます。 (初参加です。 Haskell で AtCoder をやっています、よろしくお願いします!)
こんにちは。だいぶお久しぶりになってしまいました。
入門者のまま止まっております。
HaskellBookcampを見て試してみます。
チェシャ猫です。cabal ファイルの依存先に star をつけるツール thank-you-stars で、バイナリをリリースするのはどうかという issue が来ているので試してみたいと思います。そもそも要るか?という話はありますが、まあ機会なので。 https://github.com/y-taka-23/thank-you-stars
ちょっと早いのですが、今日は終わりにしたいと思います。
環境構築で7割くらい時間を使ってしまいましたが、それぞれの本の序盤を読みました。まだまだこれからという感じです。
ありがとうございました:grinning:
そろそろ抜けないといけないので終わりにします.とりあえず NetWork.HTTP.Client.Manager -> PackageString -> Maybe VersionString -> [(FlagNameString, Bool)] -> IO PackageDescriptiongenSourceWithExposedImports :: [PackageDescription] -> Data.Text.Lazy.Text は書けました.あとは cabal install の自動生成と, LICENSE を自動で抜き出してくるコードを書く必要がありますね.
軽く課題16の修正をしてましたが疲れちゃったのかあまり集中できず :disappointed:
ABC256 E が通せなくてモゴモゴしてました :melting_face:
配布用のバイナリ作ろうとしていて、Linux コンテナ内で静的リンクはできました。Mac だと無理っぽい。そうするとバイナリじゃなくコンテナで配布する手もありそうです。
Exercise 3.35 を解いている途中で時間切れとなりました。
とりあえずCase構文の方は何とか追加できたのですが、Pack構文をパースできていなかったことが判明しました。
1.6 A parser for the Core language に戻って調べています。あまり進みませんでした。:pensive:
Recursion schemes, Part IV 読了 面白い参考文献を見つけた "Introduction to Categorical Programming (Revised)," Masahiro Sakai (2009) https://www.slideshare.net/sakai/introduction-to-categorical-programming-revised
AtCoder 鉄則本 B39 は格闘中
自作パーサ,テストの量だけで見るなら倍に増えました.
1つ大きなバグを除去できました.
1つ到達不可能らしきパスを発見しました.どう対処するかは検討中です.
山本悠滋です。いつもどおりmakeMistakesToLearnHaskellの続きと、cabal replの件をやります。
でもお昼寝がめっちゃ捗っちゃいそうな気がするなぁ
"Recursion Schemes, Part 4½: Better Living Through Base Functors," Patrick Thomson https://blog.sumtypeofway.com/posts/recursion-schemes-part-4-point-5.html
あとハシゴで AtCoder 鉄則本 A42 - Soccer https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ap
こんにちは。 Vector.Unboxed.modify で immutable な Union-Find 木を作ってみます
白鳥です。よろしくお願いします。「コンピュータシステムの理論と実装」10章の問題をHaskellで解いていこうと思います。
S.K.です。今週もお世話になります。よろしくお願いします。
先週の続きで、Implementing Functional Languages:a tutorial のコア言語のPack構文をパースできるようにすることから進めていこうと思います。
お先に終わります。 modify は TLE になりました。また Unboxvector-th-unbox で実装すると、既存の Union-Find が約 2.5 倍高速になりました。
Pack{<tag>, <arity>}を(EConstr <tag> <arity>)に変換して、<arity>の示す数の引数に対する関数適用(EAp)にすればいいらしいと
ようやくわかったところで時間切れとなりました。今週もあまり進みませんでした。:pensive:
課題16の手直しをちょっとだけ進めました。今日も昼寝ばかりが捗ってしまった :sleepy:
「コンピュータシステムの理論と実装」10章の構文解析器を作る問題のトークナイザ部分を作りました。構文解析部分はmegaparsecで作ろうと思い、ライブラリのチュートリアルを読み始めました
"Recursion Schemes, Part 4½" 読了 "Recursion Schemes" https://scrapbox.io/haskell-shoen/Recursion_Schemes は用例付きでコンパクトなまとめ
AtCoder 鉄則本 A42 - Soccer 完 Hask 解中で最短最速だった