Skip to content

Instantly share code, notes, and snippets.

@LouiseBC
Last active March 6, 2017 16:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LouiseBC/a27100b6807faed102686d73a1607287 to your computer and use it in GitHub Desktop.
Save LouiseBC/a27100b6807faed102686d73a1607287 to your computer and use it in GitHub Desktop.
SICP Ex 2.2: Make-segment
(define (make-point x y)(cons x y))
(define (x-point point)(car point))
(define (y-point point)(cdr point))
(define (make-segment pointa pointb)(cons pointa pointb))
(define (start-segment segment)(car segment))
(define (end-segment segment)(cdr segment))
(define (midpoint-segment segment)
(make-point (/ (+ (x-point (start-segment segment))
(x-point (end-segment segment))) 2)
(/ (+ (y-point (start-segment segment))
(y-point (end-segment segment))) 2)))
;; Testing ;;
(define a (make-point 1 2))
(define b (make-point 1 5))
(define seg (make-segment a b))
(display seg)
(newline)
(display (end-segment seg))
(newline)
(display (midpoint-segment seg))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment