typed-racket/typed-racket-test/succeed/dotted-identity.rkt
2014-12-16 10:07:25 -05:00

19 lines
365 B
Racket

#lang typed-scheme
(: f (All (a ...) ((a ... a -> Integer) -> (a ... a -> Integer))))
(define (f x) x)
(: y (Integer Integer -> Integer))
(define (y a b) (+ a b))
#{(f y) :: (Integer Integer -> Integer)}
(: z (Integer * -> Integer))
(define (z . xs) (apply + xs))
((f z) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18)
(f z)
#{(f z) :: (Integer * -> Integer)}