Здравствуйте, Went, Вы писали:
W>Здравствуйте. Прочитал статью, обсуждение, википедию, еще статьи. И ничего не понял. Объясните.
W>Никогда не программировал на подобных языках и мне решительно непонятно, как с таким подходом разработать что-то реальное, например, какой-то CAD или игрушку.
W>Я правильно понимаю, что применяя такой подход, каждое следующее состояние программы будет функцией от предыдущего, причем, это следующее состояние будет создаваться с нуля?
Не обязательно с нуля. Обычно используются специальные структуры данных, см
https://en.wikipedia.org/wiki/Persistent_data_structure
Пример объединения списков — создаем якобы список, который имеет интерфейс списка, но который содержит ссылки на исходные списки.
Есть книга Криса Окасаки по таким структурам данным. Самое главное, что нужно извлечь из этой книги —
1 для многих операций крайне трудно добиться внятной асимптотики, сравнимой с обычными мутабельными структурами
2 для многих операций по словами Окасаки он так и не смог найти годной реализации