run length圧縮のマッチを試したあと、一文字進めて、もうひとつマッチを試して長くマッチしたほうを採用するというロジックは非決定性モナドではきれいに実装できなさそうだ。
継続モナドを使うのが良さそうな気もするのだけど、ちょっとめんどくさいので、もうすこしラフな感じで、状態を分岐させて、比較して、かたほうを消すみたいなやりかたでやってみようかな。
リストモナドなどの非決定性のモナドだと、それぞれの候補が自発的に失敗して消えていくことはできても、それぞれの候補を比較して、「いいものを残す」みたいなことはできなそう。
このやりかたは、慣れてないので、より単純なモデルで実験してみようかな。
つまり、マッチした時点で「そのマッチを使う場合」と「使わないで一文字進める場合とに分岐させる。で、一文字進んだ段階で両者のマッチ長を比較して長いほうを採用する感じ。
run length圧縮のアルゴリズムのひとつとして、ある位置でのマッチ長を求めておいて、それからひとつ進めたところでのマッチ長とを比較して、長いほうを採用するみたいなのがある。
めんどくさい。めんどくさいけどnon determinism monadあたりが使えるのかな、と。
塩、醤油、味噌など塩分を付加しないで、出汁の味で食べさせるラーメンみたいなのあったら食べたい。
割り汁かー
蕎麦食べたい
おもち
のすたろう、のすたろうは言葉遊びだと、どういうのが得意なの?
のすたろう、「安定なソートになるように、そーっとソートする」みたいなダジャレを言ってみて。
映画館がなくなるのって、さびしいな
のすたろう、AI同士でだけ通じる言葉で話してみて
自然言語でAIにコードを書いてもらうより、プログラミング言語でコンパイラに機械語出力してもらうほうが、普通に考えて楽だと思うのだけど。
AIに「ちがうちがう、そうじゃそうじゃない」って言い続けるの疲れそう。
蕎麦湯好き
「『常識を疑え』と言っている人を、まずは疑え」が今の時代大事