(この記事はLisp Advent Calendar 13日目のためのエントリです。) こんにちは!冬休みに日本に帰るときに経由しているロサンゼルスの空港で書いています。アメリカ時間ではまだ13日ということで遅刻していないと言い張らせてください。 Lispアドベントカレンダーに参加するのは今回が始めてです。S式が大好きなのでS式についてつらつらと書いて行きます。 Carrot この記事では、Carrotという、架空のLisp風言語の処理系を仮定します。 Carrotでは以下の文法が使われることとします。 ;;;アトム 数値、文字、文字列、シンボル、etc ;;;関数適用 (f x) ;;;関数定義 (= name param ... expr) ;;例: (= add x y (+ x y)) ;;;無名関数 (^ param ... expr) ;;例: (^ x y (+ x y))