Sorry, there's no publicly available code involved with the project. Seeing all the options, I believe that my favorite one is to type only at the border of my code, leaving the implementation in untyped Racket. By dropping the contract cost, code still goes fast, and the borders are type-checked.
For the meantime, I'll be doing this on new code #lang typed/racket[/unsafe maybe] (module 'hundred-lines-of-untyped racket ... (define (my-function A B C) ...))) (require/typed/provide 'hundred-lines-of-untyped [ my-function (-> NICE TYPED ARGS RESULT) ]) If I understand this correctly, the unsafe version will perform the same static checks on callers of the functions published by (provide) but not incur contract cost. -- 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.