Ya, that sounds much better On Mon, Oct 10, 2011 at 7:19 AM, Sam Tobin-Hochstadt <sa...@ccs.neu.edu> wrote: > On Mon, Oct 10, 2011 at 8:38 AM, Jay McCarthy <jay.mccar...@gmail.com> wrote: >> >> You would have to expand to something that includes both the static >> and runtime pieces: >> >> (begin (define-values ( ... ) ... ) >> (define-syntaxes ( ... ) ... )) >> >> But that's going to be difficult because ideally you'd just use the >> static binding that define-struct sets up. One approach would be to >> put the define-struct at the top-level but with altered names that you >> control: > > Another approach that might work is to use the `#:omit-define-values' > keyword with regular `racket/base' `define-struct': > > #lang racket > (define (make-foo . args) args) > (define foo? list?) > (define (foo-x v) (car v)) > (define (foo-y v) (cadr v)) > (define-struct foo (x y) #:omit-define-values) > (match (make-foo 1 2) > [(struct foo (x y)) (+ x y)]) > > -- > sam th > sa...@ccs.neu.edu >
-- Jay McCarthy <j...@cs.byu.edu> Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay "The glory of God is Intelligence" - D&C 93 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev