If you're worried about the overhead of contracts (Typed Racket-generated
or otherwise), you should try the contract profiler (`raco contract-profile`
or `(require contract-profile)`). It should report whether contracts are
indeed a significant source of overhead in your programs, and if so, which
ones.

Vincent


On Mon, 29 Feb 2016 13:01:17 -0600,
Nota Poin wrote:
> 
> I'm not sure what the qualitative distinction is between contracts and Typed 
> Racket. They seem like two syntaxes for what mostly amount to the same thing. 
> Is it just a matter of implementation, or perhaps what their developers focus 
> on? You could in theory read through a list of contracts, and of the 
> contracts that guarantee the operation you want on the data you have, pick 
> the most efficient one. And that's what Typed Racket does for the most part, 
> I thought.
> 
> Is it just that the algorithm for doing that with contracts hasn't been 
> written, so Typed Racket can't take advantage of it? Is it that contracts are 
> more general, not always necessarily contracts of functions that operate on 
> types? /Does/ Typed Racket actually have significant overhead, when compiling 
> perhaps? If not, would that overhead they mentioned about contracts be 
> eliminated if those contracts were only utilized to decide what function to 
> use, and not checked every time that function is called?
> 
> Just something that was puzzling me in the documentation.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to