27 lines
845 B
Racket
27 lines
845 B
Racket
#lang typed-scheme
|
|
(define-type-alias number Number)
|
|
(define-type-alias boolean Boolean)
|
|
(define-type-alias symbol Symbol)
|
|
(define-type-alias top Any)
|
|
(define-type-alias list-of Listof)
|
|
(let-values ([(#{x : number} #{y : number}) (values 3 4)]
|
|
[(#{z : number}) (values 3)]
|
|
#;[(#{fact : (number -> number)})
|
|
(lambda: ([x : number])
|
|
(if (zero? x) 1 (* x (fact (- x 1)))))]
|
|
#;[(#{z : number}) (- x y)])
|
|
(+ x y))
|
|
|
|
(letrec-values ([(#{x : number} #{y : number}) (values 3 4)])
|
|
(+ x y))
|
|
(letrec-values ([(#{x : number} #{y : number}) (values 3 4)]
|
|
[(#{z : number}) (- x y)]
|
|
[(#{fact : (number -> number)})
|
|
(lambda: ([x : number])
|
|
(if (zero? x) 1 (* x (fact (- x 1)))))])
|
|
(+ x y))
|
|
|
|
(define-values (#{x : number} #{y : number}) (values 1 2))
|
|
#;(define-values (#{z : number}) (values 1 2))
|
|
|