From 2edea47556064f8373776c10fa3db6061a766909 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Wed, 9 Aug 2006 03:28:59 +0000 Subject: [PATCH] fixed PR 8215 svn: r3994 --- collects/mzlib/private/contract.ss | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/collects/mzlib/private/contract.ss b/collects/mzlib/private/contract.ss index 1d1db452fd..dd9830dec0 100644 --- a/collects/mzlib/private/contract.ss +++ b/collects/mzlib/private/contract.ss @@ -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 (