純粋関数 【pure function】
コンピュータプログラムにおける関数は、互いに関連する一連の処理をひとまとまりのブロックにして外部から呼び出せるようにしたもので、外から与える引数と、処理結果を呼び出し元に知らせる返り値を持つ。
数学の関数に似ているが、内部でどのような処理を行うかはコードの記述者が任意に決めることができるため、引数以外の何らかの条件を返り値の算出に反映させたり、返り値を求めるために必要な処理以外の挙動が実装されることもある。関数内の処理が関数外に影響を与えることを「副作用」(side effect)という。
純粋関数はプログラム上の関数のうち、「同じ引数に対して必ず同じ返り値を返す」(参照透過性)、「外部に副作用を引き起こさない」の2つの性質を同時に満たすものを指す。引数と返り値以外に外部との接点が無いため、処理の見通しが良くテストなども行いやすいとされる。
(2023.11.13更新)