add1 is fine compared to (+ ... 1), imo, because the name tells you what it is doing, but maybe/c doesn't. It just sends the signal "you aren't in the club if you don't know what 'maybe' is". Maybe if there was another name that made that meaning clear I would also be in favor.
Robby On Thu, May 8, 2014 at 7:34 PM, Matthias Felleisen <matth...@ccs.neu.edu> wrote: > > I think maybe signals a well-known functional idea. > > > On May 8, 2014, at 8:03 PM, Robby Findler wrote: > >> (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