[racket] non-terminating type check for typed racket
On Mon, Apr 18, 2011 at 12:26 PM, Eli Barzilay <eli at barzilay.org> wrote:
>
> And one more point -- I see this:
>
> (define-struct Rep (seq free-vars free-idxs stx) #:transparent)
> [...]
> (p/c (struct Rep ([seq exact-nonnegative-integer?]
> [free-vars (hash/c symbol? variance?)]
> [free-idxs (hash/c symbol? variance?)]
> [stx (or/c #f syntax?)]))
> [replace-syntax (Rep? syntax? . -> . Rep?)])
>
> Assuming that `p/c' is (a bad name for) `provide/contract', then why
> is this used by internal TR code?? Sounds lik a very bad idea for
> something as primitive as that.
These contracts are all disabled in the "production" version of the
code, so no need to worry about that.
Robby did some measurements a while back suggesting that most of the
contracts could be re-enabled without noticeable performance loss, but
I haven't done that yet.
--
sam th
samth at ccs.neu.edu