Re[3]: Определение функционального программирования
От:
Аноним
Дата:
11.07.14 04:42
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Хм... Мне кажется, тут такая вещь: императивной эту программу делает выделенная строка, оперирующая состоянием, а не goto, который просто эквивалентен бесконечной рекурсии.
У меня есть вредная привычка неточно использовать терминологию. На самом деле, под "состоянием" я имел в виду переменные ("состояние" памяти), а не состояние потока выполнения программы.
То есть, WriteLine в итоге должен записать что-то в какие-то переменные, чтобы это вывелось на экран нашего абстрактного компьютера.
Если говорить о состоянии потока выполнения императивной программы, то, по-моему, оно является просто деталью реализации вычислителя, выполняющего программу. Если мы не будем менять никаких переменных, вычислитель вполне в праве не иметь никакого состояния.
Кроме того, как известно, любая программа с goto может быть преобразована в программу без goto по теореме структурного программирования.