2008/02/23

春一番

春一番がふきました。すごい砂埃(?)で、窓から見える風景は雨の日のような視界でした。

さて、言語作りは順調に進んでいます。かなり Factor ライクになってしまいました。
スタックベースでパターンマッチング。
こんな感じです。ちなみに .) はドットリストを作る関数です。で ) はリストを作る関数です。

: each # seq quot --
| ( x xs .) quot | x quot call xs quot each ;
2dorp .

( 1 2 3 ) [ p ] each # 1 2 3 を表示

: map # seq quot -- newseq
nil (map) .

: (map) # seq quot acc -- newseq
| ( x xs .) quot acc | xs quot ( x quot call acc .) (map) ;
| _ _ acc | acc reverse .

( 1 2 3 ) [ dup * ] map # ( 1 4 9 ) を返す

なんで私の興味はこうマイナーな方向に進んでいくんだろう、とすこし悩んだりもしましたが、自分が楽しければそれでいいや、とこれからも好きなようにやっていこうと思います。
JavaScript にしても Ruby にしてもあまり好きになれないんだもん。
コードを書いていて爽快感が感じられないのです。
Common Lisp や Erlang はささいなコードでも爽快感が感じられます。

0 件のコメント: