コンピュータプログラミングの概念・技法・モデルの中で、アキュムレータという概念が出てきました。たぶん、いろいろなところで使ってきた手法を、一般化して名前をつけたため、違うモノのように見えるだけだと思うのですが、混乱しているので整理します。 再帰計算と反復計算 宣言的プログラミングにおいては、単純に再帰関数を書いてしまうと効率が悪いことが多いので、現実的には再帰計算の特殊な場合である、反復計算になるようにプログラムを書きます。再帰的データ構造を扱う再帰計算を反復計算にするにあたっては、問題を状態変換の列に作り直す必要がありました。 通常の場合、再帰形を書かずにに反復形を書くことが多いです。その場合に用いられる形式として、アキュムレータプログラミングという形式があります。 反復計算におけるアキュムレータ 反復計算は次のような制御抽象として表現できました: proc {Iterate S IsD