23 lines
525 B
Scheme
23 lines
525 B
Scheme
;; chapter 1: A Customer Manager Component for Managing Customer Relationships
|
|
|
|
;; --- common data definitions ------------------------------------------------
|
|
|
|
; #lang scheme
|
|
|
|
;; data definitions
|
|
|
|
(define id? symbol?)
|
|
(define id-equal? eq?)
|
|
(define-struct basic-customer (id name address) #:mutable)
|
|
|
|
;; interface
|
|
(provide/contract
|
|
[id? (-> any/c boolean?)]
|
|
[id-equal? (-> id? id? boolean?)]
|
|
[struct basic-customer ((id id?) (name string?) (address string?))])
|
|
;; end of interface
|
|
|
|
|
|
|
|
|