racket/collects/scribblings/guide/contracts-examples/1.ss
Robby Findler 1d58054540 some minor fiddling
svn: r8256
2008-01-08 14:58:51 +00:00

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