;;;; type-errors-numbers.impl.scm -*- Scheme -*- ;;;; Kon Lovett, Jul '18 ;; (define-error-type fixnum) (define-error-type positive-fixnum) (define-error-type natural-fixnum) (define-error-type negative-fixnum) (define-error-type non-positive-fixnum) (define-error-type flonum) (define-error-type number) (define-error-type positive-number) (define-error-type natural-number) (define-error-type negative-number) (define-error-type non-positive-number) (define-error-type integer) (define-error-type positive-integer) (define-error-type natural-integer) (define-error-type negative-integer) (define-error-type non-positive-integer) (define-error-type real) (define-error-type complex) (define-error-type rational) (define-error-type exact) (define-error-type inexact) ;; (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 (conc (make-bad-argument-message argnam) " must be in " lft min " " max rgt) num) ) (define +left-open-interval+ '|(|) ;'|]| (define +right-open-interval+ '|)|) ;'|[| (define +left-closed-interval+ '|[|) (define +right-closed-interval+ '|]|) (define (error-closed-interval loc num min max #!optional argnam) (error-interval loc num +left-closed-interval+ min max +right-closed-interval+ argnam)) (define (error-open-interval loc num min max #!optional argnam) (error-interval loc num +left-open-interval+ min max +right-open-interval+ argnam)) (define (error-half-open-interval loc num min max #!optional argnam) (error-interval loc num +left-open-interval+ min max +right-closed-interval+ argnam)) (define (error-half-closed-interval loc num min max #!optional argnam) (error-interval loc num +left-closed-interval+ min max +right-open-interval+ argnam))