Здравствуйте, B0FEE664, Вы писали:
ARK>>Параметры функций — это никакие не "инструкции". Или что, у функций не может быть параметров?
BFE>параметры у инструкций — это не переменные, а результаты работы других функций.
Хорошо. Так можно ли вызвать одну функцию из другой и передать ей какие-нибудь данные? Это не противоречит основам функционального программирования?
BFE>Сказать по вашему, так это императивного программирования не существует: память компьютера — это эмуляция ленты Машины Тьюринга, инструкция процессора — это программа на функциональном языке, поэтому, согласно вашим словам:
BFE>BFE>Новое состояние ленты передается в каждый последующий шаг алгоритма входным параметром. Тот, в свою очередь, конструирует очередное состояние и передает дальше.
BFE>все программы написаны на функциональном языке.
Почему же, в императивной программе состояние может храниться и извне функций.
ARK>>Так вот, смоделировать машину Тьюринга в ФП можно передачей ленты через параметры. Это не императивное программирование, а значения параметров — не состояние программы.
BFE>Если данные записанные на ленте Машины Тьюринга не состояние программы, то что же тогда состояние программы?
Смотря в каком смысле понимать этот термин. Это может быть срез памяти компьютера в некоторый момент времени. Или набор переменных, гарантированно существующих во время жизни программы. Или еще что-то.
Однако, ИМХО, абслютно очевидно, что ФП немыслимо без параметров функций. А, значит, через них можно передавать состояние.