読者です 読者をやめる 読者になる 読者になる

まめさんのGrassでQuineを高速化してみた。

Grass で quine - まめめも
まだカラクリの部分がちゃんと読めてないけど、構造は分かってきた。しかしWとvの作り方の時点で真似のできる発想じゃない、というか面白すぎる。

ただWとvの出力時に毎回succしてて重い(サイズ削るのを優先してただけかもしれないけど)ので、ちょっといじってみたり。
grass.rb (ruby 1.8.7) で0.5秒程度、yagi.rb (ruby 1.9.0-4) で0.3秒弱で終わるように。(CPUはCore2Duo 1.86GHz)
しかしこれでもタイムアウト

wwWWwWWWwWWWWWWw
vwwWWwWWWw
vwWWWwwwwwWWWWwWWWwWWWWWwwwwWwwWWwWwwwwwwwwwwww
vWwwwWWwww
vww
vWWWWw
vwwWWWWWWWWWWww
vWwwwwwWWwwwwwWWWwwww
vwWwwwwWwwwWwwwww
vwWWWwWWWWwWWWWWwWWWWWWWw
vwWWWWWwWWWWWWwWWWw
vwWwwwwwwWwwwwwwwWwwwwwwwwWWWWWwwwwwwww
vwWWWWwWWWWwwwwwwwwWWWw
vwwWWWwwwwwwWWWWWWWwWWWWWwwwwWWWWWWWWWWWwWWWWWWWWWWWWWWw
vwWWwwwwwWWwWWWWwwwwwwwwwwwWWwWWWWWWwwwWWw
vwWWWWWWWWwWWWwwWWWWWWWwww
vwww
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWw
vwwwWWWWwwwWwwwWwwwWWWWWWw
vWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWw

改行削って10091バイト。

文字出力関数を作成している箇所をgrass.el形式で。

  (abs s2n+1 (sn x)
       ((app sn x)
        (app sn 1)
        (app succ 1)
        ))
  (abs <2> (f x)
       ((app f x . fx)
        (app f fx)
        ))
  (abs mkwWv (f)
       ((app s2n+1 succ)  ;s3
        (app s2n+1 1)     ;s7
        (app f 1)         ;f=<2>: s14     f=s2n+1: s15 
        (app <2> f)       ;  <2>: <4>       s2n+1: s(2(2n+1)+1)
        (app 1 2)         ;  <2>: s(4*14)   s2n+1: s(4*15+3)
        (app 2 1)         ;  <2>: s(4*56)   s2n+1: s(4*63+3)
        (app 1 w)         ;  <2>: ch_W      s2n+1: ch_v
        ))
  (app mkwWv s2n+1 . ch_v)
  (app mkwWv <2> . ch_W)
  (abs <0> (f x)          ;  0 (or false)
       ())
  (app mkwWv <0> . ch_w)
  (abs mkout (ch dummy)
       ((app out ch)
        ))
  (app mkout ch_v . out_v)
  (app mkout ch_W . out_W)
  (app mkout ch_w . out_w)

変更前

  (abs succ&out (sn)
       ((app sn w)
        (app out 1)
        ))
  (abs s2n+1 (sn x)
       ((app sn x)
        (app sn 1)
        (app succ 1)
        ))
  (abs <2> (f x)
       ((app f x . fx)
        (app f fx)
        ))
  (abs mkWv (f)
       ((app s2n+1 succ)  ;s3
        (app s2n+1 1)     ;s7
        (app f 1)         ;f=<2>: s14     f=s2n+1: s15 
        (app <2> f)       ;  <2>: <4>       s2n+1: s(2(2n+1)+1)
        (app 1 2)         ;  <2>: s(4*14)   s2n+1: s(4*15+3)
        (app 2 1)         ;  <2>: s(4*56)   s2n+1: s(4*63+3)
        (app succ&out 1)  ;  <2>: out_W     s2n+1: out_v
        ))
  (abs out_v (dummy)
       ((app mkWv s2n+1)
        ))
  (abs id (f)
       ())
  (abs out_w (dummy)
       ((app succ&out id)
        ))
  (abs out_W (dummy)
       ((app mkWv <2>)
        ))

あとはデータ部分除いて植える→データ部作成→listify→マージ→植える→完成
いつか自分流で作ってみたい。