Решение упражнения 1.34 из SICP
Смысл процедуры f заключается в том, что она вызывает процедуру, переданную ей как параметр, с аргументом 2. Таким образом область допустимых значений аргумента функции f - множество всех одноаргументных функций, которые нормально воспринимают значение аргумента, равное 2.
Сама функция f явно не удовлетворяет этому условию (принимает не числовой аргумент, а функцию). То есть вызов f для самой себя приведет к ошибке на этапе вычисления (будет попытка вычислить (2 2), а в этой комбинации операнд (первая двойка) некорректен).
Comments
Comment from Alexander
Date: July 5, 2009, 1:25 am
Уточнение. Можно ли говорить, что в комбинации (2 2) первая двойка это “оператор”, а следующие за ней значения - операнды? (Разумеется эта комбинация не может быть вычислена, как и написано у Вас, но вы говорите о первой двойке как о операнде)
Write a comment