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

From: Vincent St-Amour (stamourv at ccs.neu.edu)
Date: Mon Oct 20 17:53:15 EDT 2014

Yes, if convenient.

I already emailed Ryan privately about it.

Vincent



At Mon, 20 Oct 2014 17:54:59 -0400,
Matthias Felleisen wrote:
> 
> 
> DOn't we want to merge this into 6.1.1? 
> 
> 
> On Oct 20, 2014, at 3:44 PM, stamourv at racket-lang.org wrote:
> 
> > stamourv has updated `master' from 538bb75d64 to 9030680e31.
> >  http://git.racket-lang.org/plt/538bb75d64..9030680e31
> > 
> > =====[ One Commit ]=====================================================
> > Directory summary:
> >  16.9% pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/
> >  83.0% pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/
> > 
> > ~~~~~~~~~~
> > 
> > 9030680 Vincent St-Amour <stamourv at racket-lang.org> 2014-10-20 11:34
> > :
> > | Fix types for foldl and foldr with 3 lists.
> > |
> > | Thanks to Jack Firth for the report.
> > :
> >  M .../tests/typed-racket/unit-tests/typecheck-tests.rkt    | 13 +++++++++++++
> >  M .../typed-racket-lib/typed-racket/base-env/base-env.rkt  |  4 ++--
> > 
> > =====[ Overall Diff ]===================================================
> > 
> > pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > --- OLD/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt
> > +++ NEW/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt
> > @@ -657,11 +657,11 @@
> >  (-poly (a b c d)
> >         (cl-> [((a b . -> . b) b (-lst a)) b]
> >               [((a b c . -> . c) c (-lst a) (-lst b)) c]
> > -              [((a b c d . -> . d) d (-lst a) (-lst b) (-lst d)) d]))]
> > +              [((a b c d . -> . d) d (-lst a) (-lst b) (-lst c)) d]))]
> > [foldr  (-poly (a b c d)
> >                (cl-> [((a b . -> . b) b (-lst a)) b]
> >                      [((a b c . -> . c) c (-lst a) (-lst b)) c]
> > -                     [((a b c d . -> . d) d (-lst a) (-lst b) (-lst d)) d]))]
> > +                     [((a b c d . -> . d) d (-lst a) (-lst b) (-lst c)) d]))]
> > [filter (-poly (a b) (cl->*
> >                       ((asym-pred a Univ (-FS (-filter b 0) -top))
> >                        (-lst a)
> > 
> > pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > --- OLD/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt
> > +++ NEW/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt
> > @@ -1155,6 +1155,19 @@
> >                 (-polydots (a) ((list) (a a) . ->... . -Integer))]
> >         |#
> > 
> > +        [tc-e (foldl (lambda: ([x : Integer] [acc : String]) acc) "" '(1 2 3))
> > +              -String]
> > +        [tc-e (foldl (lambda: ([x : Integer] [y : Float] [acc : String]) acc) "" '(1 2 3) '(1.2 3.4 5.6))
> > +              -String]
> > +        [tc-e (foldl (lambda: ([x : Integer] [y : Float] [z : Symbol ] [acc : String]) acc) "" '(1 2 3) '(1.2 3.4 5.6) '(a b c))
> > +              -String]
> > +        [tc-e (foldr (lambda: ([x : Integer] [acc : String]) acc) "" '(1 2 3))
> > +              -String]
> > +        [tc-e (foldr (lambda: ([x : Integer] [y : Float] [acc : String]) acc) "" '(1 2 3) '(1.2 3.4 5.6))
> > +              -String]
> > +        [tc-e (foldr (lambda: ([x : Integer] [y : Float] [z : Symbol ] [acc : String]) acc) "" '(1 2 3) '(1.2 3.4 5.6) '(a b c))
> > +              -String]
> > +
> >         ;; First is same as second, but with map explicitly instantiated.
> >         [tc-e/t (plambda: (a ...) [ys : (a ... a -> Number) *]
> >                 (lambda: [zs : a ... a]
> 

Posted on the dev mailing list.