はじめてのGrass
id:nishiohirokazu さんの 草植えてみましたwWWwwww 経由で Grass を知って、ちょっと触ってみました。
(はじめての C がはじめてのアレなら、はじめての Grass は「吸って」みましたと言うべき?)
インタプリタは ちょっと草植えときますね型言語 Grass からげっと。
初めて動かしたコード
wvWWwwww
wが出力されます。↓のつもりで書いてます。
id x = x main = out w
いくつか文字を出力してみよう。
wvWWWwwwwWWWWwWWWWWwWWWWWwwwWWWWWWwwwWWWWWWWwww
↓だと思うんだけど、vを省略しても同じように出力されるな。どう解釈されているんだろう?
id a = a main = do x = succ w y = succ x z = succ y out x out y out z
wv が id なら wwv は?
wwvWWWwwwwWWwwwwwWwwWWWWWw
これで x が出力されるということは hoge w x = x だから、hoge は常に最後の引数を返す const もどきだ。(当たり前かそうか、引数をスタックに載せて、そのまま何もしないから、id になるんだ。やっと分かった)
さて、いつになったら Hello, World! が出せるんだろう…。