cons对于数据结构来说是一个很强大的东西
(define (print-point p)
(newline)
(display "(")
(display (x-point p))
(display ",")
(display (y-point p))
(display ")"))
(define (make-point x y)
(cons x y))
(define (x-point p)
(car p))
(define (y-point p)
(cdr p))
(define (make-segment start end)
(cons start end))
(define (start-segment segment)
(car segment))
(define (end-segment segment)
(cdr segment))
(define (midpoint-segment segment)
(cons (/ (+ (x-point (start-segment segment)) (x-point (end-segment segment))) 2)
(/ (+ (y-point (start-segment segment)) (y-point (end-segment segment))) 2)))
(define p1 (make-point 1 2))
(define p2 (make-point 1 4))
(define s (make-segment p1 p2))
(x-point p1)
(y-point p1)
(print-point p1)
(print-point (midpoint-segment s))