racket/collects/typed-racket
Sam Tobin-Hochstadt 20f546110b Refactor subtype.rkt not to use exceptions.
Matthew suggests that using exceptions for failure
in the implementation of `subtype` is a performance
problem.  This commit removes all use of exceptions
for failure in subtype.rkt, replacing it with the
standard Racket #f/value option.

Extensive use is made of the `subtype-seq` form,
which is basically do-notation for the subtyping
monad.
(cherry picked from commit a6f110893f)
2013-07-08 10:34:09 -04:00
..
base-env Fix type of tanh. 2013-07-08 10:34:08 -04:00
env Replace uses of Type? with Type/c?. 2013-01-15 12:23:42 -05:00
infer Reduce unnecessarily complicated restrict case. 2013-03-06 08:48:44 -08:00
minimal/lang
optimizer Have Optimization Coach report unsound float division missed optimizations. 2013-04-04 15:31:50 -04:00
private Fix contract generation for mutable structures. 2013-07-08 10:34:08 -04:00
rep Fix contracts in TR. 2013-04-04 07:43:08 -07:00
scribblings Fix docs for Opaque 2013-07-08 10:34:08 -04:00
typecheck Fix printing of tc-any-results in type errors. 2013-07-08 10:34:08 -04:00
types Refactor subtype.rkt not to use exceptions. 2013-07-08 10:34:09 -04:00
utils Show the offending value when a TR-introduced Any contract fails 2013-04-02 16:29:11 -04:00
core.rkt Fix :print-type. Closes PR13503. 2013-02-08 11:19:09 -05:00
info.rkt Move Optimization Coach to PLaneT 2. 2013-01-11 18:40:23 -05:00
language-info.rkt
minimal.rkt Minor refactorings. 2012-06-25 18:07:45 -04:00
tc-setup.rkt Turn dynamic-requires into lazy-requires in TR. 2013-04-03 09:49:40 -07:00
typed-racket.rkt Turn dynamic-requires into lazy-requires in TR. 2013-04-03 09:49:40 -07:00
typed-reader.rkt scheme -> racket 2012-06-25 13:39:07 -04:00