haskell-jp / mokumoku-online #65

ほぼ進捗ゼロです!
"Two-Level Types and Parameterized Modules" 読了 第一筆者の Sheard 先生が OGI の頃に縁があったので Haskell 創成期の業績を偲んでみた
競プロ典型 90 問 40 日目 - Get More Money(★7)今日は時間が無くなってしまったが たしか「燃やす埋める問題」の2部グラフに最小費用流を適用?
今日のmakeMistakesToLearnHaskellの更新はこれだけ。
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/b132fa1eacde1c97e18aa9577d583fbe4a17a2fd
このほか、cabal replの件は先週まずいなぁと思った設計の改善案を考えてました。抜本的な修正が必要で、まだまだ道は遠そうです :sweat:
4.6.5 Using data structures directly の続きを進めました。
caseを使ったプログラムについて、分岐先の n 番目の引数が分岐先の式に全く現れなければ、Data n を Move することを省略する処理の残り(分岐先の式がECase, ELetの場合)を、何とか実装してみました。
簡単なテストプログラムを作って確認したところ一応意図したように動作し、既存のテストプログラムも一応OKだったので、ひとまずMark5を完了とさせていただきました。
その後、4.7 Mark 6: Constant applicative forms and the code store を進めています。これも、セクション全体にダガーマークが付いていて難しそうです。
Wouter Swierstra Data types a la carte, Functional Pearl. JFP 18: 423--436. (2008)
あとハシゴで 競プロ典型 90 問 41 日目 - Piles in AtCoder Farm(★7)
S.K.です。今週もお世話になります。よろしくお願いします。
先週に続き、Implementing Functional Languages: a tutorial の、4.7 Mark 6: Constant applicative forms and the code store の続きを進めていこうと思います。
山本悠滋です。今出先から帰ってきたので今からやります。いつも通りmakeMistakesToLearnHaskellの続きと、cabal replの件の続きをやります。
"Data types a la carte" 読了 もろもろのデータ型と関数をどう合成するかという The Expression Problem を統合的に扱い free monad にも及ぶ というお話
競プロ典型 90 問 41 日目 - Piles in AtCoder Farm(★7)全く歯が立たない 凸包を作りその面積と外周上の杭を数えれば Pick's Formula から内点数が出るが その実装は気が遠くなる
疲れてるのかあんまり進めませんでした。
今日のmakeMistakesToLearnHaskellの進捗
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/7b1b980b12e03fd6d6ee88116c90ab7ec62bf679
cabal replの件は、先週考えた新しい設計にあちこち書き換えているところです。
4.7 Mark 6: Constant applicative forms and the code store の ex.4.27 を進めました。
とりあえず、関数 amToClosure, showSCDefns, compile の変更は何とか行ってみました。
あとは関数 compileA の変更が残っています。
lotz@lotz84_ から実例を拾い読みします
あとハシゴで 43 日目 - Maze Challenge with Lack of Sleep(★4)
S.K.です。今週もお世話になります。よろしくお願いします。
先週に続き、Implementing Functional Languages: a tutorial の、4.7 Mark 6: Constant applicative forms and the code store の続きを進めていこうと思います。
山本悠滋です。出先から戻ってお昼を食べてからからですが、いつも通りmakeMistakesToLearnHaskellとcabal replの件の続きをします
"recursion-algorithms" Data Structures ~ Catalan Numbers: まで使用例を写経・テスト完了 fibHisto の例にあらためて感服した
競プロ典型 90 問 43 日目 - Maze Challenge with Lack of Sleep(★4)曲がるたびにペナルティーをつけてBFSの方針でイイのではないかと思うも 実装パワー不足でグズグズしている
4.7 Mark 6: Constant applicative forms and the code store の ex.4.27 の続きを進めました。
関数 compileA の変更内容を調べつつ、既存のテストプログラムを一通り実行したところ、Mark5で追加した構造化データ(リスト)を出力するプログラムがエラーとなりました。
compileA 未変更が原因というよりは、ダンプが空の状態で UpdateMarkers 命令を実行する場合に問題がありそうで、デバック中です。Mark5 でのテストが不十分だったみたいでお恥ずかしい限りです。
cabal repl、makeMistakesToLearnHaskell共にあんまり進めませんでした。makeMistakesToLearnHaskellの進捗:
https://github.com/haskell-jp/makeMistakesToLearnHaskell/commit/3c9d773c08bcee1ad004c7657ce2934ad31495a7
山本悠滋です。いつも通りmakeMistakesToLearnHaskellとcabal replの件の続きをします。
lotz@lotz84_ の続き (List / Basic Operations ~ ) 実例を拾い読みします
あとハシゴで 44 日目 - Shift and Swapping(★3)
S.K.です。ちょっと遅くなってしまいましたが、今週もお世話になります。よろしくお願いします。
先週見つかったエラーのデバッグを進めていこうと思います。
:point_up: に加えてcabal replの件も検討してましたが、あんまり進めませんでした。
もうちょっとアルゴリズム含めてデータ構造を変えた方が良さそうです。
... Replies ...
"recursion-algorithms" (List / Basic Operations: length ~ reverse) まで使用例を写経・テスト完了 引用の Monoidal Catamorphisms, Bartosz Milewski に脱線してしまった
競プロ典型 90 問 44 日目 - Shift and Swapping(★3)上の脱線が過ぎてここまで至らず どうやらテストケースが大きいのでまともにシフトやスワップはナイようだが
先週エラーを見つけたテストプログラム(4.6 Mark 5: Structured data の ex.4.25)について、原因を見つけるためにMark5とMark6の実行結果を1ステップずつ比較していましたが、まだ特定に至っていません。
結構時間かかってしまっているのですが、報告できるような進捗はありませんでした。お恥ずかしい。