The point of option contracts is that you can program which parts you want to run, how often, and which parts you want turned off. I urge you to build your abstraction on top of option contracts. If you do, please report back on your experience.
-- Matthias
Robby
____________________
Racket Users list:
http://lists.racket-lang.org/users
But Racket is not Eiffel:
-- we are not a tools company that sells a language
-- we spent our own time on a maintenance effort that goes above and beyond our jobs
-- and we don't provide a standard language (meant to make developers happy and its creators famous and wealthy).
Racket is a programming language programming language [not a typo]. We wish to go beyond conventional features. When it comes to contracts, this means we wish to provide (1) higher-order contracts so that we cover the full spectrum of linguistic features and (2) a programmable toolbox so that programmers can create their own favorite idioms -- above and beyond the stuff available in standard languages.
We fully understand that expanding the horizons of the language puts some burden on programmers. Every programmer may have to develop his own techniques and tools and idioms for our new features. We balance this burden with a catalog-driven on-line library, where programmers can register little more than a github URL to share such libraries.
With apologies for the extra burden and the non-technical answer -- Matthias
Roman,