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

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Mon Oct 20 17:54:59 EDT 2014

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.