run length圧縮のアルゴリズムのひとつとして、ある位置でのマッチ長を求めておいて、それからひとつ進めたところでのマッチ長とを比較して、長いほうを採用するみたいなのがある。
めんどくさい。めんどくさいけどnon determinism monadあたりが使えるのかな、と。
Please Login to reply.
つまり、マッチした時点で「そのマッチを使う場合」と「使わないで一文字進める場合とに分岐させる。で、一文字進んだ段階で両者のマッチ長を比較して長いほうを採用する感じ。
このやりかたは、慣れてないので、より単純なモデルで実験してみようかな。