[plt-dev] Changes to the contract system

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sat Feb 6 19:06:17 EST 2010

They have done that for some time, if I'm understanding you:

> (contract 6 5 'pos 'neg)
pos broke the contract 6; expected <6>, given: 5

 === context ===
/home/robby/svn/exp/plt/collects/scheme/contract/private/blame.ss:54:0:
raise-blame-error
/home/robby/svn/exp/plt/collects/scheme/private/misc.ss:74:7

> (contract 6 6 'pos 'neg)
6
>


Robby

On Sat, Feb 6, 2010 at 5:57 PM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>
> On Feb 6, 2010, at 3:40 PM, Carl Eastlund wrote:
>
>> I have just committed a change to the contract system which provides a
>> new interface for constructing custom contracts, as well as a new
>> underlying representation for contracts to support this interface.
>> For the purpose of most developers, very little will change; all
>> existing contracts will continue to function as they have.
>>
>> There are three main user-facing changes.
>>
>> One, all flat contracts (other than constants, such as numbers and
>> strings) may now be applied as predicates.
>
> Would it be possible to turn the contract 5 into (curry = 5) and to turn "hello world" into (curry string=? "hello world") in these cases?
>
> (Oh and how are hygienic ACL2 macros doing -)
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-dev
>


Posted on the dev mailing list.