Решение упражнения 2.49 из SICP
Сначала простое. Рисовалка, обводящая рамку просто строит 4 отрезка, которые являются сторонами рамки, то есть соединяют точки (0, 0), (1, 0), (1, 1) и (0, 1):
(define outline-painter
(segments->painter (list (make-segment (make-vect 0 0)
(make-vect 1 0))
(make-segment (make-vect 1 0)
(make-vect 1 1))
(make-segment (make-vect 1 1)
(make-vect 0 1))
(make-segment (make-vect 0 1)
(make-vect […]