diff --git a/collects/tests/typed-scheme/succeed/racunit.ss b/collects/tests/typed-scheme/succeed/racunit.ss new file mode 100644 index 00000000..619b0f6b --- /dev/null +++ b/collects/tests/typed-scheme/succeed/racunit.ss @@ -0,0 +1,18 @@ +#lang typed/scheme + +(require typed/racunit) + +(: my-+ : Integer Integer -> Integer) +(define (my-+ a b) + (if (zero? a) + b + (my-+ (sub1 a) (add1 b)))) + +(: my-* : Integer Integer -> Integer) +(define (my-* a b) + (if (zero? a) + b + (my-* (sub1 a) (my-+ b b)))) + +(check-equal? (my-+ 1 1) 2 "Simple addition") +(check-equal? (my-* 1 2) 2 "Simple multiplication") \ No newline at end of file diff --git a/collects/typed/racunit/main.rkt b/collects/typed/racunit/main.rkt index 5580c8d2..619f400a 100644 --- a/collects/typed/racunit/main.rkt +++ b/collects/typed/racunit/main.rkt @@ -2,12 +2,11 @@ (require typed/private/utils) (define-type check-ish-ty - (All (A B) - (case-lambda - (A B -> #t) - (A B String -> #t)))) -(define-type (Predicate A) (A -> Boolean)) -(define-type (Thunk A) (-> A)) + (case-lambda + (Any Any -> Void) + (Any Any String -> Void))) +(define-type (Predicate A) (Any -> Boolean)) +(define-type (Thunk A) (-> Any)) ; 3.2 (require/typed/provide