草植えてみましたwWWwwww

wWWWwWWWWwv wWWwWWWwv wWWwWWWwv wWWwWWWwv wWWwWWWwv wWWwWWWwv
wWWwWWWwv wWWWwWWWWwv wWWwwwwwwwwwwwwWWWWWWwWWWWWWwWWWWWWWWWwWWWWWWWWW
WWWWWWwWWWWWWWWWWWWWwWWWWWWWWWWWWWWWwwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWww
wwwWWWWWWWWWWWWWWWWwwwwwwwWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWwWWWW
WWWWWWWWWWWWWWWWWWWwwWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwWWWWWWWWWWWWW
WWWWWWWWwWWWWWWWWWWWWWWWWWWWWWwwWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWW
WWWWWWWWWWWWWwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWW
WWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwww
wwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwww
wwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwww
wwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwww
wwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwww
wwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwv

なんだこの沼は!

これはプログラミング言語Grassで書かれたプログラムです。実行すると「Hello, world!」って出るはずです。ちょっと草植えときますね型言語 Grassから手に入る、「Interpreter written in Ruby by UENO Katsuhiro」で検証しました。


プログラムの後半ほどスタックが深くなるせいでwやWの続く長さが長くなるんですけど、それが沼地を眺めたときに自分に近いところは大きく、遠いところは小さく見えるのに似ています。面白い。Python版のインタプリタは近いうちにCodeReposに入れて[mixi] プログラミング言語 Grassとかで告知します。


自分はGrassが生まれた情報科学若手の会に参加していたのに、id:higeponに先に実装されてしまった(うはwww Mosh で Grass 実装したwwww - ひげぽん OSとか作っちゃうかMona-)ので「かっとなってやった、今では反省している」wWWwwww

        • -

CodeReposに入れました。処理系自体のコードはテストケース含めてline 220までだけど、草を生やしたい人にはそこから下の「どうやってHelloWorldを作ったか」っていうネタバレの部分が面白いかもね。余計な文字を取り除くと1301文字で、最適化の余地はたくさんあると思うので「俺の方が短く作れる!」という人はトラックバックしてください。(追記:128加算する関数が2つ定義されていることに気づいて早速1254に縮んだw)

http://coderepos.org/share/browser/lang/python/grass/grass.py?rev=13335

        • -

ちなみにGrassと同じ夜に生まれたKEMURI
http://www.nishiohirokazu.org/blog/2006/09/kemuri.html
こっちはGrassと違ってチューリング完全じゃないけど、任意の文字列を出力できることはわかっています。「Hello, world!」を出力する最短のプログラム長がいくらなのかは未解決問題です。一文字に1PUSH使うという条件の下で探索空間を有限にしたところでほったらかし。
http://www.nishiohirokazu.org/blog/2007/03/haskellkemuri01.html