typed-racket/typed-racket-test/succeed/foo.scm
2014-12-16 10:07:25 -05:00

49 lines
887 B
Scheme

#lang scheme/load
(module m mzscheme
(define x 3)
(define (y z) (add1 z))
(provide (all-defined)))
(module bang-tests typed-scheme
(define: x : Number 1)
x
(provide x)
(set! x 4)
(when #t 3))
(module trequire typed-scheme
(require 'bang-tests)
(define: y : Number x))
(module require-tests typed-scheme
(provide z)
(require/typed 'm (x Number))
(+ x 3)
(require/typed 'm (y (Number -> Number)))
(define: z : Number (y (+ x 4))))
(module provide-type typed-scheme
(define-type-alias top2 Any)
(define-typed-struct (a) container ([v : a]))
(container-v (make-container 3))
(provide top2 container container-v make-container)
)
(module require-type typed-scheme
(require 'provide-type)
(let: ([x : top2 3])
x)
(define: (f [x : (container Number)]) : Number
(container-v x))
(f (make-container (ann 7 : Number)))
)