あと、以下のようなマクロを書いてみました。
で、この小さなLisp処理系には、数値演算がadd1とsub1しかありません。add1 と sub1 は、それぞれインクリメントとデクリメントです。
四則演算できるように、小さなLisp処理系自身を使って +, -, *, / などを追加。こちらも紛らわしいので、プレフィックスにアンパサンド(なんでも良かったんですが)を付けました。
def と &-, &* を用いて、階乗(fact)も定義できました。
ちなみに、四則演算は The Little Schemer, 4th Edition の4章である「Numbers Games」を参考にしました。
0 件のコメント:
コメントを投稿