Разница между присваиванием в чисто функциональных языках и в императивных заключается в том, что в первых оператор присваивания отсутствует, а то, что в императивных языках делается путём присваивания значений переменным, в функциональных достигается передачей выражений в параметры функций. 12
В результате чисто функциональная программа не может изменять имеющиеся данные, а может лишь порождать новые копированием и/или расширением старых. 1