[racket-dev] [plt] Push #24906: master branch updated

From: Asumu Takikawa (asumu at ccs.neu.edu)
Date: Mon Jun 25 20:57:48 EDT 2012

On 2012-06-25 20:35:21 -0400, asumu at racket-lang.org wrote:
> | racket/generics: add contract combinator
> |
> | The generics library now generates a `name/c` macro
> | for a generic interface `name`. The combinator can be
> | used to contract instances (or constructors) of a
> | generic interface across standard contract boundaries.

To add a bit more context, the purpose of this feature is to allow
contracts to be applied to generic interfaces like how
`prop:dict/contract` does for dictionaries.

It's more flexible because it allows contracts to be added for any
interface (without any additional properties) and allows contracts
to be added at different places. e.g., you could export
`make-prime-dict` and `make-dict` constructors with different

If nobody minds, I may go ahead and convert uses of `prop:dict/contract`
to use `dict/c` and export the latter from `racket/dict`.


Posted on the dev mailing list.