(define (get-record file name)
((get 'get-record (place file)) (records file) name))
(define (place obj)
(car obj))
(define (records file)
(cadr file))
(define (make-file place-name records)
(list place-name records))
(define (install-tokyo-package)
(define (get-record record name)
(if (null? record)
#f
(if (eq? (get-name (car record)) name)
(car record)
(get-record (cdr record) name))))
(put 'get-record '(tokyo) get-record))
(define (get-salary record)
((get 'get-salary (place record)) (data record)))
(define (data record)
(cadr record))
(define (make-record place-name record)
(list place-name record))
(define (install-tokyo-package)
(define (get-salary record-data)
(cdr (assoc 'salary record-dada))))
(define (find-employee-record name files)
(if (null? files)
#f
(let ((found (get-record (car files) name)))
(if found
found
(find-employee-record name (cdr files))))))