Exercise 3.3.1: (back)
;; Constants
(define CONV-INCH-CM 2.54)
(define CONV-FOOT-INCH 12)
(define CONV-YARD-FEET 3)
(define CONV-ROD-YARD 5.5)
(define CONV-FURLONG-ROD 40)
(define CONV-MILE-FURLONG 8)
;; inches->cm : number -> number
(define (inches->cm inches)
(* inches CONV-INCH-CM))
;; feet->inches: number -> number
(define (feet->inches feet)
(* feet CONV-FOOT-INCH))
;; yards->feet : number -> number
(define (yards->feet yards)
(* yards CONV-YARD-FEET))
;; rods->yards : number -> number
(define (rods->yards rods)
(* rods CONV-ROD-YARD))
;; furlongs->rods : number -> number
(define (furlongs->rods furlongs)
(* furlongs CONV-FURLONG-ROD))
;; miles->furlongs : number -> number
(define (furlongs->rods miles)
(* miles CONV-MILE-FURLONG))
;; feet->cm : number -> number
(define (feet->cm feet)
(inches->cm
(feet->inches feet)))
;; yards->cm : number -> number
(define (yards->cm yards)
(feet->cm
(yards->feet yards)))
;; rods->inches : number -> number
(define (rods->inches rods)
(feet->inches
(yards-feet
(rods->yards rods))))
;; miles->feet : number -> number
(define (miles->feet miles)
(yards->feet
(rods->yards
(furlongs->rods
(furlongs->rods miles)))))