racket/collects/scribblings/guide/contracts-examples/1.rkt
2010-06-04 16:40:00 -04:00

20 lines
408 B
Racket

#lang racket
;; 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