純粋関数と参照透過性

いまひとつ純粋関数と参照透過性がごっちゃになるのでまとめた。
純粋関数:副作用が無い、同じ引数で同じ結果を得られるという性質を持つ関数。
参照透過性:式や関数が持ちえる性質で、コードの一部を同等の値に置き換えた場合、プログラム全体の挙動が変わるか、変わらないか、についての性質。