Robby Findler <robby_at_cs.uchicago.edu> writes:
> The phrase "contract violation" typically (in English usage and in my
> research) refers to some kind of agreement between two (or more)
> parties where on party has violated the argument. In my work on
> contracts, the parties to the contracts are typically constructs that
> play a role in organizing a program, such as modules or components.
> Also, my research is predicated on the idea that proper blame
> assignment in these situations is important in order to narrow down the
> search for the bug in the program.
>
> The usage in the R6 report does not seem consistent with this take, but
> I think it can be made to be so, in at least one of two ways.
>
> Option One: to write a little bit of explanation in the text in section
> 9.17 that the contract is between the implementation of the report
> and the program itself and implicitly the blame is always being
> assigned to the program (since the implementation of the report is
> assumed to be correct).
I'm not sure I understand that. The `contract-violation' procedure,
when a call to it appears in a procedure P, is meant to signal that
the caller of P did not fulfill the contract between the caller of P
and P. Thus, the blame is being assigned to the caller. The
implementation of the report doesn't enter into it at this point. (Of
course, some built-in procedures are specified to do something similar
to calling `contract-violation', but with the same intention.) To my
mind, the language of 9.17 spells this out quite clearly. Could you
clear up the confusion?
--
Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla
Received on Tue Oct 31 2006 - 10:35:23 UTC