;;;; type-checks-numbers.ratnum.scm -*- Scheme -*- ;;;; Kon Lovett, Jun '18 (module (type-checks-numbers ratnum) (;export check-ratnum check-positive-ratnum check-non-negative-ratnum check-negative-ratnum check-non-positive-ratnum) (import scheme) (import (chicken base)) (import (chicken module)) (import (chicken type)) (import type-checks-basic) (import (type-errors-numbers ratnum)) (: check-ratnum (* * #!optional * -> ratnum)) (: check-positive-ratnum (* * #!optional * -> ratnum)) (: check-non-negative-ratnum (* * #!optional * -> ratnum )) (: check-negative-ratnum (* * #!optional * -> ratnum)) (: check-non-positive-ratnum (* * #!optional * -> ratnum)) (define (positive-ratnum? x) (and (ratnum? x) (positive? x))) (define (non-negative-ratnum? x) (and (ratnum? x) (or (zero? x) (positive? x)))) (define (negative-ratnum? x) (and (ratnum? x) (negative? x))) (define (non-positive-ratnum? x) (and (ratnum? x) (or (zero? x) (negative? x)))) (define-check-type ratnum) (define-check-type positive-ratnum) (define-check-type non-negative-ratnum) (define-check-type negative-ratnum) (define-check-type non-positive-ratnum) ) ;module (type-checks-numbers ratnum)