fixed PR 8215

svn: r3994
This commit is contained in:
Robby Findler 2006-08-09 03:28:59 +00:00
parent d3a494fdeb
commit 2edea47556

View File

@ -1080,10 +1080,24 @@ add struct contracts for immutable structs?
(λ (x)
(and (number? x)
(<= n x m))))))))
(define (=/c x) (make-between/c x x))
(define (<=/c x) (make-between/c -inf.0 x))
(define (>=/c x) (make-between/c x +inf.0))
(define (between/c x y) (make-between/c x y))
(define (=/c x)
(unless (number? x)
(error '=/c "expected a number, got ~e" x))
(make-between/c x x))
(define (<=/c x)
(unless (number? x)
(error '<=/c "expected a number, got ~e" x))
(make-between/c -inf.0 x))
(define (>=/c x)
(unless (number? x)
(error '>=/c "expected a number, got ~e" x))
(make-between/c x +inf.0))
(define (between/c x y)
(unless (number? x)
(error 'between/c "expected a number as first argument, got ~e, other arg ~e" x y))
(unless (number? y)
(error 'between/c "expected a number as second argument, got ~e, other arg ~e" y x))
(make-between/c x y))
(define (</c x)
(flat-named-contract