[r6rs-discuss] [Formal] blame assignment for contract violations
robby at cs.uchicago.edu
Tue Oct 31 14:24:49 EST 2006
My only point is that the English definition of the word "contract" is
not consistent with the use in r6. I think the technical point has been
transmitted just fine, and that's all I really care about, anyways.
At Tue, 31 Oct 2006 19:50:26 +0100, Michael Sperber wrote:
> Robby Findler <robby at cs.uchicago.edu> writes:
> > At Tue, 31 Oct 2006 19:18:49 +0100, Michael Sperber wrote:
> >> Robby Findler <robby at cs.uchicago.edu> writes:
> >> > The English definition of the word "contract" is all about agreements
> >> > between particular parties, etc. The other, perfectly good, English
> >> > word is "assertion" and there is certainly a track record for its use
> >> > in programming languages. (I prefer real contracts, but I understand if
> >> > r6 isn't ready to do that!)
> >> I'm sure Anglo-Saxon law allows you to write contracts where one party
> >> is unknown, such as when you buy something in a store or enter into a
> >> license agreement by unwrapping your copy of Windows.
> > In the two cases above, when the contracts are actually entered into,
> > there are certainly multiple parties. The dictionary definition of a
> > contract also matches my sense of the word. Note that the dictionary
> > definition is more expansive which may also be confusing -- it means
> > both the agreement itself (where there are two or more parties) and the
> > document describing the agreement itself.
> > http://www.answers.com/contract&r=67
> So ... I'm lost. Why is what the draft says bad?
> >> > Of course, one could say "contract" with the intention that there are
> >> > always the same two parties, namely r6 and the program itself. In that
> >> > case, the blame always rests with the program, and it is implicit in
> >> > the use of the `contract-violation' function that the program is to be
> >> > blamed.
> >> I'm still confused by your use of "r6"---maybe I'm missing something.
> >> `contract-violation' is for contracts between parts of the program,
> >> but between the "r6" and the program.
> > One can kind of think of the implementation of the primitives as one
> > party and the rest of the program as the other party (instead of
> > treating each library/module as its own party). This is, imo, a
> > degenerate use, but one that does match the actual meanings of the
> > words.
> ... lost again. What words? What primitives?
> Cheers =8-} Mike
> Friede, Völkerverständigung und überhaupt blabla
More information about the r6rs-discuss