程可以使用非纯函数式的持久性数据结构，比如，而这些数据结构不可以用在纯函数式程序中。
纯函数式编程的性质.
参照透明性.如果将一个表达式替代为它的值只在程序执行的特定点上是有效的，则这个表达式不是的。这些顺序点的定义和次序是指令式编程的理论基础。参照透明性的表达式可以在任何时间求值，既不需要定义顺序点也根本不需要对求值次序的任何保证，不需要做这些考虑的编程叫做纯函数式编程。写参照透明性风格的代码的好处是能得到智能编译器，易于静态代码分析，和自动进行更好的。