Adding names to datatype generated contracts

svn: r18119
This commit is contained in:
Jay McCarthy 2010-02-17 16:24:01 +00:00
parent c503baac47
commit 0cab35fdcb

View File

@ -168,23 +168,27 @@
(lambda-memocontract (field ...)
(contract (field/c ... . -> . variant?)
make-variant*
'make-variant 'use)))
'make-variant 'use
'make-variant #'variant)))
(define variant
(lambda-memocontract (field ...)
(contract (field/c ... . -> . variant?)
make-variant*
'variant 'use)))
'variant 'use
'variant #'variant)))
(define variant-field
(lambda-memocontract (v)
(contract (f:variant? . -> . field/c)
variant*-field
'variant-field 'use)))
'variant-field 'use
'variant-field #'field)))
...
(define set-variant-field!
(lambda-memocontract (v)
(contract (f:variant? field/c . -> . void)
set-variant*-field!
'set-variant-field! 'use)))
'set-variant-field! 'use
'set-variant-field! #'field)))
...
)
...)))))]))