<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 18, 2015 at 9:44 AM, Greg Hendershott <span dir="ltr"><<a href="mailto:greghendershott@gmail.com" target="_blank">greghendershott@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Is there a similarly simple/standard way to disable contracts?</blockquote></div><br>I'd love a #lang like that. Never mind Tony Hoare's metaphor about sailing. For now, I'm attaching a small patch that'll disable contracts (as far as I can tell) on the current build; it's adapted from Leif's commits at [1].</div><div class="gmail_extra"><br></div><div class="gmail_extra">;; ---</div><div class="gmail_extra"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:13px">Please keep the bug reports coming!</span><br></blockquote><div class="gmail_extra"><br></div><div class="gmail_extra">It looks like the built-in function expt isn't defined correctly:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><font face="monospace, monospace">(module f racket</font></div><div class="gmail_extra"><font face="monospace, monospace">  (provide (contract-out [f (integer? . -> . integer?)]))</font></div><div class="gmail_extra"><font face="monospace, monospace">  (define (f n)</font></div><div class="gmail_extra"><font face="monospace, monospace">    (expt n n)))</font></div><div class="gmail_extra"><font face="monospace, monospace"><br></font></div><div class="gmail_extra"><font face="monospace, monospace">Contract violation: 'f' violates 'expt'.</font></div><div class="gmail_extra"><font face="monospace, monospace">Wrong arity</font></div><div class="gmail_extra"><font face="monospace, monospace">An example module that breaks it:</font></div><div class="gmail_extra"><font face="monospace, monospace">  (module user racket (require (submid ".." f)) (f 0))</font></div><div class="gmail_extra"><font face="monospace, monospace"><br></font></div><div class="gmail_extra"><font face="monospace, monospace">  (verification takes 0.035s)</font></div><div class="gmail_extra"><br></div><div class="gmail_extra">[1] <a href="https://github.com/LeifAndersen/racket/tree/no-conracts">https://github.com/LeifAndersen/racket/tree/no-conracts</a></div></div>