In-placeアルゴリズム
関数型言語ではデータを上書きするような明確な in-placeアルゴリズムをサポートしていない(推奨しない)ことが多い。これは、データの上書きが副作用の一種であるためで、関数型言語では新たにデータ構造を作成することだけを許す(推奨する)のが一般的である。しかし、コンパイラが高度なものであれば、新たなデータが既存のデータに似ていて、かつ既存のデータが捨てられるだけであった場合、最適化によってデータ領域を再利用することがある。
ただし、これはデータの更新と以前のデータの参照が前後しないよう注意深く構築された in-placeアルゴリズムでなければならず、実際にはめったにない。