fix some racunit types, add test case

original commit: 0a2b16f804502b169e1b1a7ab89fe25f5f6bb0ed
This commit is contained in:
Sam Tobin-Hochstadt 2010-05-04 09:42:36 -04:00
parent 5f732f0a0a
commit 9e9ee0aee4
2 changed files with 23 additions and 6 deletions

View File

@ -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")

View File

@ -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