On Jan 15, 2011, at 5:05 PM, Casey Klein wrote:

> On Sat, Jan 15, 2011 at 11:26 AM, Stevie Strickland
> <sstri...@ccs.neu.edu> wrote:
>> On Jan 15, 2011, at 12:19 PM, Robby Findler wrote:
>>> I think that we are just throwing up stumbling blocks. It is really a
>>> design choice (does a reprovide "carry over" the contract or does it
>>> put a new one on there?) and I seriously doubt there are any places
>>> where someone does a reprovide intending to change the contract in
>>> this manner. To the contrary, I expect that nearly every place where
>>> someone does a reprovide, they indented to use the exact same contract
>>> (with different parties now).
>> 
>> This is possible, but _which_ parties?  Do you wish to export internals 
>> through an external interface that should now take on the positive blame, so 
>> that you don't leak your internals (via module names and such used as blame 
>> parties)?  This seems to me what you'd want for something like redex [...]
> 
> No, that's not the use case.
> 
> There are three modules, each of which is an external interface:
> 
> 1. redex/reduction-semantics, which provides the non-GUI portion of Redex,
> 2. redex/pict, which provides the typesetting utilities, and
> 3. redex, which provides all of redex/reduction-semantics and
> redex/pict, plus some more.
> 
> The redex module does an all-from-out provide on what it gets from
> redex/reduction-semantics and redex/pict, making it the negative party
> on the contracts. When a redex client breaks one of the contracts,
> redex gets blamed instead of the client.

This sounds like a plain bug. 
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to