You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
639 B
Racket
22 lines
639 B
Racket
#lang racket/base
|
|
(require (for-syntax racket/base br/syntax) racket/class br/define)
|
|
(provide (all-defined-out))
|
|
|
|
(define RestructureBase
|
|
(class object%
|
|
(super-new)
|
|
(abstract decode)
|
|
(abstract encode)
|
|
(abstract size)
|
|
(define/public (process . args) (void))
|
|
(define/public (preEncode . args) (void))))
|
|
|
|
(define (RestructureBase? x) (is-a? x RestructureBase))
|
|
|
|
|
|
(define-macro (test-module . EXPRS)
|
|
#`(module+ test
|
|
(require #,(datum->syntax caller-stx 'rackunit) #,(datum->syntax caller-stx 'racket/serialize))
|
|
. EXPRS))
|
|
|
|
(define index? (λ (x) (and (number? x) (integer? x) (not (negative? x))))) |