Функциональный язык программирования Clojure поддерживает неизменяемые данные и функции первого класса.