Помогите понять эту реализацию минусов и автомобилей в схеме с использованием лямбда-выражений

Мой вопрос касается следующего кода:

 (define (cons. x y)
   (lambda (m) (m x y)))

 (define (car. z)
   (z (lambda (p q) p)))

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

6
задан 4tlulz 8 February 2011 в 04:36
поделиться