[plt-scheme] contracts.ss: Can you disable them at runtime?

From: Robby Findler (robby at cs.uchicago.edu)
Date: Thu May 17 09:44:22 EDT 2007

Have you tried the "run mzc -k on my main file before each run" style
of development? Did you find it too slow then too? (DrScheme will
eventually (not soon, but eventually) do that kind of development for
you automatically, which is why I ask.)

Also I hope you know that I did make the contracts generate much less
code a while back (speeding that up) -- I hope you're not remembering
old experiences?


On 5/17/07, Richard Cobbe <cobbe at ccs.neu.edu> wrote:
> On Thu, May 17, 2007 at 08:17:13AM -0400, Matthias Felleisen wrote:
> >
> >  On May 17, 2007, at 12:05 AM, Grant Rettke wrote:
> >
> > > Can you disable contracts at runtime?
> >
> >  Short: No. (I assume you mean "after deployment" because contracts are
> >  inherently a run-time concept, i.e., they are what your type system can't
> >  express.)
> >
> >  Long:  Tony Hoare once said that assertions are like life vests. Why use
> >  them on land during practice and leave them back when you go to sea?
> I've often wanted to disable them for certain modules even "during
> practice."  When I'm running test cases and debugging, having to repeatedly
> recompile a module with complicated structure and contract definitions is
> slow enough to be very annoying and almost slow enough to be impractical.
> Richard
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.