new-style define-serializable-struct

svn: r7871

original commit: f520abb24c59bbd59b9cc3056f5b40dd2c63ef93
This commit is contained in:
Matthew Flatt 2007-11-30 19:02:15 +00:00
parent 85ce73089c
commit 104767d7e3

View File

@ -1,6 +1,6 @@
(module struct scheme/base (module struct scheme/base
(require mzlib/serialize (require scheme/serialize
scheme/contract scheme/contract
(for-syntax scheme/base)) (for-syntax scheme/base))
@ -66,7 +66,7 @@
(syntax-case stx () (syntax-case stx ()
[(_ (id ([field ct] ...)) ...) [(_ (id ([field ct] ...)) ...)
#`(begin #`(begin
(define-serializable-struct id (field ...)) ... (define-serializable-struct id (field ...) #:mutable) ...
(provide/contract (provide/contract
#,@(let ([ids (syntax->list #'(id ...))] #,@(let ([ids (syntax->list #'(id ...))]
[fields+cts (syntax->list #'(([field ct] ...) ...))]) [fields+cts (syntax->list #'(([field ct] ...) ...))])