On Sat, Jul 3, 2010 at 5:37 PM, Todd O'Bryan <toddobr...@gmail.com> wrote: > I'm sure the answer is in the docs somewhere, but I can't parse it out. > > I have a signature that provides a standard API and then a unit that > provides generic support for the API. > > Now I want to provide support for more specific implementations. > Conceptually, what I think I want to do is import the generic unit and > then redefine any functions whose behavior needs to change before I > export it. Is that possible?
How about this, #lang racket (define-signature sig^ (foo bar)) (define generic@ (unit (import) (export sig^) (define foo "default") (define bar "default"))) (define specific@ (unit (import) (export sig^) (define-values/invoke-unit generic@ (import) (export (except sig^ bar))) (define bar 42))) (define-values/invoke-unit specific@ (import) (export sig^)) (printf "foo = ~a, bar = ~a~n" foo bar) Anthony _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users