On Dec 28, 2012, at 8:04 PM, Robby Findler wrote:

> Overall, I feel like some of what you're asking has to do with what TR is 
> doing and some with what's going on inside the procedure chaperones and so 
> I'm not sure the contract library itself is a place where fixes can happen.


I think the questions really concern the interaction between TR's generation of 
contracts and contracts themselves:  

 1. TR does not seem to exploit as much knowledge as possible when it generates 
contracts. 
        Example: (All (a) ((Foo -> a) Foo -> a) seems to be such an example 
(perhaps extreme)
        Where can Foo come from? Why does TR wrap a contract around the domain 
of Foo -> a -- 
        TR proved that it is applied to Foo if anything. Is TR too aggressive 
in negative positions? 
 
 2. Multiple crossings impose the same contracts over and over. BUT 'same' is 
not necessarily 
        expressed as eq?. Can the contract library do better here? Is the 
'inner loop' assumption 
        wrong? 

 3. And then there seems to be a chaperone question, though I don't understand 
that one. 


        
_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to