[racket-dev] [plt] Push #22869: master branch updated
I don't expect the interface to the automata to change much, except
perhaps providing more useful macros.
For the actual temporal contract library, are you comfortable with this text:
@section{Warning! Experimental!}
This library is truly experimental and the interface is likely to
drastically change as we get more experience making use of temporal
contracts. In particular, the library comes with no advice about
designing temporal contracts, which are much more subtle than standard
contracts. This subtlety is compounded because, while temporal
contract violations have accurate blame information, we cannot yet
connect violations to sub-pieces of the temporal formula.
For example, applying @racket[f] to @racket["three"] when it is
contracted to only accept numbers will error by blaming the caller and
providing the explanation "expected a <number?>, received: "three"".
In contrast, applying @racket[g] to @racket["even"] and then to
@racket["odd"] when @racket[g] is contracted to accept strings on
every odd invocation, but numbers on every even invocation, will error
by blaming the second (odd) call, but will not provide any explanation
except "the monitor disallowed the call with arguments: "odd"".
Translating non-acceptance of an event trace by an automata into a
palatable user explanation is an open problem.
2011/6/24 Matthias Felleisen <matthias at ccs.neu.edu>:
>
> If all you have is what you had a while ago, it's Planet quality.
> If you wish to polish it into a shape so that people can easily use it,
> unstable is fine but add a huge warning that this subcollects will
> experience a lot of change.
>
>
> On Jun 24, 2011, at 3:53 PM, Jay McCarthy wrote:
>
>> I wanted to put it in unstable so it would be more usable than in a
>> random Github, but not on Planet, since we previously talked about
>> improving it for inclusion in the core. Would you rather I put it on
>> Planet for awhile?
>>
>> Jay
>>