以下の内容はhttps://higepon.hatenablog.com/entry/20060722/1153581912より取得しました。


関数型言語の勉強にSICPを読もう - (62) 4章 - 超言語的抽象(220ページ) C++でSchemeインタプリタを作ろう11

引き続き 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 Variable("cdr"), new Cdr());


※「SICPを読もう」の目次はこちら


posted with amazlet on 06.05.31
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン 和田 英一
ピアソンエデュケーション (2000/02)
売り上げランキング: 56,404




以上の内容はhttps://higepon.hatenablog.com/entry/20060722/1153581912より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14