おれおれ Lisp 書いてます。

id:yuum3:20071211:1197374380 に書いた 「第一回 amachang カンファレンス(正式名: 話したい人のためのカンファレンス)」のネタ作りに、
昨日から おれおれ Lisp を書いてます。


最初は Lisp の説明の為にJavascript とか Ruby で簡単な Lisp の処理系を書こうと思っていたのですが、何かしっくりこないので 昔書いた時のように C 言語で書いています。
何年ぶりかに C を書くので最初は手が動かない・・・ #incude <ファイル名> のファイル名には .h を書くんだっけ?? という感じで細かいところを忘れてます ^^);


しかし、少し書いてると思いだしてきて案外順調に進んでます。小さな Lisp 処理系は昔々4回くらい書いた事があるので、なんとなく頭に実装方法とかコードの断片が残ってるみたいです。そして夜には、おれおれ言語を作る楽しさも全快になってきて眠るのが惜しくなってきましたが、もう若くないので理性的に寝ました ^^)


言語を作る際には、たくさんのトレードオフが発生します。性能、実装しやすさ、コードのコンパクトさ・・・ などなど。 しかし、おれおれ言語の場合には、これらの論理的な指標以上に、 カッコ良さ美しさ、を優先できるのが 最高に楽しい原因かもしれません!!

今回は昔と違い、テストコードも書いて一部テスト駆動開発も入れてます。でも面白そうな部分はついついテストを書かずに実行してしまいますが・・・・ ^^);


みなさんも是非、おれおれ言語を作ってみると楽しいですよ !! コンピュターサイエンスの勉強にもなるし・・・
その際、Lisp (系言語)は簡単に実装出来てかつ、いろいろな冒険ができる面白い言語なのかな? と思います。