OCaml中，只有单赋值，通过codice_12语法，被允许用于变量；而破坏性更新，可通过单独的codice_13算符，用于数组的元素和字符串，还可用于已经被编程者显式声明为可变（意味着能够在其初始化声明之后被变更）的记录字段和对象。使用单赋值的函数式编程语言，包括Clojure（针对数据结构，而非变量）、Erlang（相比Haskell，它接受多次赋值，如果值相等的话）、F#、Haskell、Lava、OCaml、Oz（对用数据流变量，而非cell）、Racket（对于一些数据结构如列表，而非符号）、