Второй использует то, что SICP называет заменой.Это не то, что делают настоящие шутки, это описывается как учебное упражнение в главе 1. Как только специальные формы, такие как let get вводятся, это не работает.
Первый использует аппликативный порядок и является тем, что делает реальная реализация схемы, подобная ракетке.Он оценивает лямбду, затем вычисляет следующее выражение, затем применяет функцию, полученную в результате лямбды, к результату вычисления (+ 3 1).
Вот как Джеральд Суссман объясняет, как он использует модель замещения :
Если мы собираемся понять процессы и то, как мы их контролируем, тогда мыдолжны иметь представление о механизмах этой процедуры в том, как эти процессы ведут себя.То, что мы собираемся иметь, - это формальная или полуформальная механическая модель, посредством которой вы понимаете, как машина в принципе может это сделать.Действительно ли настоящая машина делает то, что я собираюсь вам сказать, в данный момент совершенно не имеет значения.
Фактически, это техническая модель, аналогично [для] электрического резистора.мы записываем модель V = IR - это приблизительно верно, но это не совсем так;если я подведу достаточное количество тока через резистор, то он поднимется, так что напряжение не всегда будет пропорционально току, но для некоторых целей подходит модель.
В частности, модель, которую мы собираемся описатьПрямо сейчас, который я называю моделью замещения, это самая простая модель, которую мы имеем для понимания того, как процедуры работают и как процессы - как процедуры приводят к процессам.
И эта модель замещения будет точной для большинства вещеймы будем иметь дело с в ближайшие дни.Но в конце концов станет невозможно поддерживать иллюзию того, что именно так работает машина, и мы перейдем к другим, более конкретным и конкретным моделям, которые будут показывать больше деталей.