Example: two Posn arguments
;; Contract and Purpose ;; Posn Posn -> Number ;; compute the distance between p1 and p2 ;; (define (dist p1 p2) ... ;; Examples: ;; (= (dist p1 p2) 20) ;; (= (dist p2 p3) 30) ;; (= (dist p3 (make-posn 50 50)) 20) ;; Template: ;; ... (posn-x p1) ... (posn-x p2)... ;; ... (posn-x p2) ... (posn-y p2) ... ;; Program: (define (dist p1 p2) (+ (abs (- (posn-x p1) (posn-x p2))) (abs (- (posn-y p1) (posn-y p2))))) ;; Tests: (= (dist p1 p2) 20) (= (dist p2 p3) 30) (= (dist p3 (make-posn 50 50)) 20)