;;;; type-errors-numbers.interval.scm -*- Scheme -*- (module (type-errors-numbers interval) (;export ; error-range ; error-interval error-closed-interval error-open-interval error-half-open-interval error-half-closed-interval) (import scheme) (import (chicken base)) (import (chicken type)) (import type-errors-basic) (: error-range (* number number #!optional * -> noreturn)) (: error-interval (* * * number number * #!optional * -> noreturn)) (: error-closed-interval (* * number number #!optional * -> noreturn)) (: error-open-interval (* * number number #!optional * -> noreturn)) (: error-half-open-interval (* * number number #!optional * -> noreturn)) (: error-half-closed-interval (* * number number #!optional * -> noreturn)) (define (error-range loc start end #!optional argnam) (signal-bounds-error loc (make-bad-argument-message argnam) start end) ) (define (error-interval loc num lft min max rgt #!optional argnam) (signal-bounds-error loc (make-error-interval-message lft min max rgt argnam) num) ) (define (error-closed-interval loc num min max #!optional argnam) (error-interval loc num #\[ min max #\] argnam) ) (define (error-open-interval loc num min max #!optional argnam) (error-interval loc num #\( min max #\) argnam) ) (define (error-half-open-interval loc num min max #!optional argnam) (error-interval loc num #\( min max #\] argnam) ) (define (error-half-closed-interval loc num min max #!optional argnam) (error-interval loc num #\[ min max #\) argnam) ) ) ;module (type-errors-numbers interval)