main
Matthew Butterick 7 years ago
parent c125c7dcbc
commit d4c038f3a2

@ -2,15 +2,15 @@
(require racket/class sugar/class racket/generic racket/private/generic-methods) (require racket/class sugar/class racket/generic racket/private/generic-methods)
(provide (all-defined-out)) (provide (all-defined-out))
(define-generics encodable (define-generics codable
(decode encodable stream [parent]) (decode codable stream [parent])
(encode encodable stream [val] [parent])) (encode codable stream [val] [parent]))
(define encodable<%> (define codable<%>
(interface* () (interface* ()
([(generic-property gen:encodable) ([(generic-property gen:codable)
(generic-method-table gen:encodable (generic-method-table gen:codable
(define (decode o stream [parent #f]) (send o decode stream parent)) (define (decode o stream [parent #f]) (send o decode stream parent))
(define (encode o stream [val #f] [parent #f]) (send o encode stream val parent)))]))) (define (encode o stream [val #f] [parent #f]) (send o encode stream val parent)))])))
@ -36,7 +36,7 @@
(define RestructureBase (define RestructureBase
(class* object% (encodable<%> sizable<%> dumpable<%>) (class* object% (codable<%> sizable<%> dumpable<%>)
(super-new) (super-new)
(field [_hash (make-hash)] (field [_hash (make-hash)]
[_list null]) [_list null])

Loading…
Cancel
Save