[racket-dev] [plt] Push #28706: master branch updated

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu May 8 22:37:12 EDT 2014

It was called option/c until we did option contracts. 

(All of this just shows that contracts are not written in 
the programming language proper, contrary to our propaganda.) 





On May 8, 2014, at 10:29 PM, Robby Findler wrote:

> 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 <matthias at 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 <matthias at ccs.neu.edu> wrote:
>>>> 
>>>> (We have maybe/c somewhere, and I think we should use it.)
>>>> 
>>>> 
>>>> On May 8, 2014, at 4:19 PM, samth at 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 <samth at 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
>> 



Posted on the dev mailing list.