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

19 lines
517 B
Racket

#lang typed/racket
(: f (case-> (-> Integer)
(Integer -> Integer)))
(define (f [#{z : Integer} 0]) z)
#;
(define-values
(f)
(let-values (((#{core3 : (case-> (Integer True -> Integer)
(Univ False -> Integer))})
(lambda (z1 z2) (let-values (((#{z : Integer}) (if z2 z1 '0)))
(let-values () z)))))
(case-lambda (() (#%app core3 '#f '#f))
((z1) (#%app core3 z1 '#t)))))
(add1 (f 0))
(add1 (f))