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

Reply via email to