Все неизменные структуры данных Scala являются постоянными, в том смысле, что старое значение поддерживается с помощью операции обновления. На самом деле, я не знаю разницы между неизменным и постоянным; для меня два термина являются псевдонимами.
Две из 2.8 неизменяемых структур данных Scala представляют собой векторы и хэш-попытки, представленные в виде 32-разрядных деревьев. Первоначально они были разработаны Филом Багвеллом, который работал с моей командой в EPFL, затем был адаптирован для Clojure, а теперь окончательно принят для Scala 2.8. Реализация Scala имеет общий корень с реализацией Clojure, но, безусловно, не является ее портом.