Мой вопрос касается следующего кода:
(define (cons. x y)
(lambda (m) (m x y)))
(define (car. z)
(z (lambda (p q) p)))
Моя проблема в том, как этот код на самом деле работает. Насколько я понимаю минусы. возвращает процедуру, содержащую переменные x и y в пределах своей области видимости. машина. затем берет возвращенную процедуру из минусов. и применяет его к другой лямбде, которая принимает два аргумента p и q и возвращает p. Моя путаница заключается в этой второй лямбде, откуда именно берутся значения P и Q?