[plt-scheme] Renaming of contract names

From: Robby Findler (robby at cs.uchicago.edu)
Date: Sat Apr 28 12:18:51 EDT 2007

On 4/28/07, Jens Axel Søgaard <jensaxel at soegaard.net> wrote:
> Robby Findler skrev:
> > Yeah, that's supposed to happen. "any" is a local keyword for -> and
> > only works in the range position. Use it when you want to make sure
> > your function remains tail-recursive. The actual any contract is
> > any/c, so you wanted this, I think:
> >
> > (provide/contract [empty? (-> any/c boolean?)])
> I suppose that means the any version is faster than the any/c ?

It is slightly faster, but the important thing is the space savings
(well, if it matters at all). Of course, any/c can be used anywhere a
contract is expected, but any can only be used in the result position
of function contract combinators.


Posted on the users mailing list.