(or/c #f x) seems better than maybe/c because it is nearly the same length and it is one less thing to memorize (and it's not like single-point of control applies here because this can never change).
Robby On Thu, May 8, 2014 at 6:17 PM, Matthias Felleisen <matth...@ccs.neu.edu> wrote: > > (We have maybe/c somewhere, and I think we should use it.) > > > On May 8, 2014, at 4:19 PM, sa...@racket-lang.org wrote: > >> samth has updated `master' from 98ae3d8b2d to e1ab2ffcf4. >> http://git.racket-lang.org/plt/98ae3d8b2d..e1ab2ffcf4 >> >> =====[ One Commit ]===================================================== >> Directory summary: >> 100.0% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/infer/ >> >> ~~~~~~~~~~ >> >> e1ab2ff Sam Tobin-Hochstadt <sa...@cs.indiana.edu> 2014-05-08 16:18 >> : >> | Fix contract. >> | >> | First bug caught with new test. Thanks Robby! >> : >> M .../typed-racket-lib/typed-racket/infer/infer-unit.rkt | 2 +- >> >> =====[ Overall Diff ]=================================================== >> >> pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/infer/infer-unit.rkt >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> --- >> OLD/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/infer/infer-unit.rkt >> +++ >> NEW/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/infer/infer-unit.rkt >> @@ -360,7 +360,7 @@ >> (Type/c Type/c . -> . (or/c #f cset?)) >> (cgen V X Y S T)) >> (define/cond-contract (cg/inv S T) >> - (Type/c Type/c . -> . cset?) >> + (Type/c Type/c . -> . (or/c #f cset?)) >> (cgen/inv V X Y S T)) >> ;; this places no constraints on any variables in X >> (define empty (empty-cset X Y)) > > > _________________________ > Racket Developers list: > http://lists.racket-lang.org/dev _________________________ Racket Developers list: http://lists.racket-lang.org/dev