为禁用变更和可变数据。纯函数式编程主要在于确保函数遵守函数式范型，只依赖于它们的实际参数，而不用管任何全局或局部的状态。
纯与非纯函数式编程区别.在纯与非纯函数式编程之间的确切区别是有争议的事情。当一个程序使用了某些函数式编程概念的时候， 比如头等函数和高阶函数，它通常就被称为是函数式的。但是，头等函数不必然是纯函数式的，由于它可以使用来自指令式范型的技术，比如数组或输入/输出方法，故而它们不是纯函数程序。事实上，最早被引证为函数式的编程语言，IPL和Lisp，按照当前定义