[r6rs-discuss] [Formal] blame assignment for contract violations

Robby Findler robby at cs.uchicago.edu
Tue Oct 31 12:36:30 EST 2006


At Tue, 31 Oct 2006 18:20:31 +0100, Michael Sperber wrote:
> 
> "Carl Eastlund" <cce at ccs.neu.edu> writes:
> 
> > In PLT, contracts require explicit identification of both parties.  In
> > general, contracts are attached to values exported across module
> > boundaries (though other boundaries are possible).  The two sides of
> > the boundary must be named; in the conventional case, this is the
> > names of both modules.  So if a procedure contract is violated, the
> > "caller" is the module that imported the function and the "callee" is
> > the module that exported the function.
> 
> What if the imported value is passed to another, third, module, which
> calls it violating the contract?

Depending on the contract between the third module and the first two,
anyone might be blamed.

Robby




More information about the r6rs-discuss mailing list