Я хочу написать процедуру, которая будет принимать список в форме '(0 7 10 14) и преобразовывать его в список' ((0. 7) (7. 10) (10. 14)) , Процедура ниже сделает именно это. Я думаю, что это довольно грязно и не могу найти более простой способ написать это. Может быть, я могу использовать встроенную функцию ракетки, чтобы сделать это?
(define (simplify-path path)
(if (null? (cddr path))
(cons (cons (car path) (cadr path)) '())
(begin (cons (cons (car path) (cadr path))
(simplify-path (cdr path))))))