[plt-dev] Changes to the contract system
On Sat, Feb 6, 2010 at 6: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?
The contract 5 is 5. If you want (5 5) to yield #t and (5 4) to yield
#f, you're going to have to discuss the nature of procedure? and #%app
with Matthew.
> (Oh and how are hygienic ACL2 macros doing -)
If I tell you "making more progress during the week than on the
weekend", you're just going to ask me what a weekend is, aren't you?
Yeah, I figured...
--Carl