The problem is that, when debbugging, contract should be precise. For example, insert-in-sorted-queue may check that queue is orted before and after the function. But inserting the element is O(log n) and testing will be O(n).
option contracts -- 1) unstable 2) should be turned off and on individually. For quick hack, I'll simply redefine contract-out and recompile all. But I propose something like two contracts: for debug and production modes. Mon, 2 Jun 2014 15:49:05 -0400 от Matthias Felleisen <matth...@ccs.neu.edu>: > >On Jun 2, 2014, at 3:42 PM, Roman Klochkov < kalimeh...@mail.ru > wrote: > >> Is there a way to disable all contract checks? >> >> Suppose, I debugged my program and sure that it is reliable. I disable >> debugging, but as I understand, contracts are still checked in every >> function. >> But I want to maximize the performance of my program. Is there a way to do >> that or I have to manually hack racket/contract/base to do that? > > >No. > >;; --- > >Programmers who disable assertion checking as they are deploying software are >like people who wear life vests on land when they learn about the theory of >sailing and take them off as soon as they board the boat for practical >exercises on the water. -- somebody famous > >;; --- > >You will need to define a version of provide and/or contract-out that throws >away contracts based on a switch. > >Or you check out option contracts and use those. > >-- Matthias > -- Roman Klochkov
____________________ Racket Users list: http://lists.racket-lang.org/users