純粋関数
関数は少なくとも1つの引数を受け取る
引数以外の値を参照してはいけない
関数は値もしくは関数を戻り値として返却する
同じ引数で呼び出されたら同じ値を返さなければならない
関数は引数や関数外で定義された値に直接変更を加えない
関数型プログラミング