引き続き Primitive Procedureの実装。今日は cons/car/cdr 。 純Lispには欠かせない要素です。 Pairというクラスを用意してあげて、 consのapply時に Pair を返す。 car/cdr は Pair を受け取り、それぞれ first/secondを返す。 という実装です。 例のごとく以下のように名前空間に追加する。 environment->defineVariable(new Variable("+"), new Plus()); environment->defineVariable(new Variable("cons"), new Cons()); environment->defineVariable(new Variable("car"), new Car()); environment->defineVariable(new Va