When you are defining only programs, the order of definitions does not
matter. For example, both
(define (employee-name x) (cond [(employee-record? x) (first (rest x))] [else (error ``expected an employee record'')]))(define (employee-record? y) (and (cons? y) (eq? (first y) 'EmployeeRecord)))
(define (employee-record? y) (and (cons? y) (eq? (first y) 'EmployeeRecord)))(define (employee-name x) (cond [(employee-record? x) (first (rest x))] [else (error ``expected an employee record'')]))
(define RADIUS 5) (define DIAMETER (* 2 RADIUS))
(define DIAMETER (* 2 RADIUS)) (define RADIUS 5)