[plt-dev] abstract contracts

From: Carl Eastlund (carl.eastlund at gmail.com)
Date: Tue Sep 8 04:36:10 EDT 2009

On Mon, Sep 7, 2009 at 7:01 PM, Jacob Matthews<jacobm at cs.uchicago.edu> wrote:
> On Sun, Sep 6, 2009 at 3:14 PM, Robby
> Findler<robby at eecs.northwestern.edu> wrote:
>> Right. That wouldn't be parametric.
> I think it's the contracts-don't-change-programs condition, not the
> parametricity condition, that would be violated here.
> -jacob

Don't these contracts already change the program?  I thought, since
Robby indicated that "stacks" cannot be used as lists, these contracts
would be wrapping the values in opaque structs for outside observers.
Adding or removing the contracts changes how a list-implemented stack
responds to list?.  Or have I misunderstood the behavior of #:exists


Posted on the dev mailing list.