[plt-scheme] Contracts for polymorphic functions

From: Robby Findler (robby at cs.uchicago.edu)
Date: Fri Sep 30 20:25:42 EDT 2005

At Fri, 30 Sep 2005 15:16:28 -0400, Carl Eastlund wrote:
> > > My remaining questions are - was this an intended
> > > use of anaphoric-contracts, if so why is there no existing function
> > > contract constructor that facilitates creating new anaphoric contracts
> > > at function invocation, and is there anything else interesting about
> > > this I've left out?
> >
> > I'm not sure anaphoric-contracts is really ready for the prime-time. It
> > only really seems to be the right thing for first-order values that
> > pass thru. Overall, it somehow just doesn't seem to be quite right, but
> > I don't know why (I'm only saying this because I cooked it up ... :)
> What do you mean by "first-order values that pass thru"?  And as for
> "quite right", I'm not sure what you mean - what was the intended use
> for, or initial purpose of, anaphoric-contracts?

I'm being vague because I don't know the answers.

As far as first-order values, when you write:

 (-> a b)

and a and b are two connected anamorphic contracts, what does it mean
for a function to pass thru there? Should that function now accept the
same inputs and outputs?


Posted on the users mailing list.