typed-racket/typed-racket-lib
Ben Greenman 9df037b0f6 static-contracts: less or/sc optimization
Prevent the static contract optimizer from changing constructors under `or/sc`.

i.e., for static contracts of the form `(or/sc other-scs ...)`,
 the optimizer cannot optimize any of the `other-scs ...` to `any/sc`
 but it can optimize sub-contracts of the `other-scs ...`

Example:
  `(or/sc set?/sc (box/sc set?/sc))` in a trusted position now optimizes to itself,
  instead of `any/sc`

Optimization can resume under a sub-contract that represents a "heavy" type constructor.
(I mean, `U` is a type constructor but it's not "heavy" like that.)
2017-09-28 23:48:22 -04:00
..
typed add dependent function types (#584) 2017-09-25 12:52:33 -04:00
typed-racket static-contracts: less or/sc optimization 2017-09-28 23:48:22 -04:00
info.rkt Use new DrRacket opt-in buttons for OC. 2017-03-09 17:12:49 -06:00
LICENSE.txt Remove extra directories. 2014-12-02 00:53:36 -05:00