[racket-dev] Blame and re-provided bindings
On Jan 17, 2011, at 9:00 AM, Robby Findler wrote:
>>>
>>> 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.
>
> Matthias: I believe that this is the behavior you were arguing for upthread.
Thanks for putting it so plain. Casey writes:
(1) the client of redex breaks one of the contracts.
(2) redex gets blamed
These two sentences next to each other made no sense to me, whatsoever. Now I understand what they mean:
(1) the client breaks the contract of 'private' module A
(2) and the redex 'super' module M gets blamed because it re-exports all of A's functionality with any/c
I understand, and yes, this is my preference. But as I have said before, I can see a case for convenience -- as long as Carl's constraints are satisfied too.
-- Matthias