diff --git a/lib/srfi/145.sld b/lib/srfi/145.sld index 66d1b43b..8023dc89 100644 --- a/lib/srfi/145.sld +++ b/lib/srfi/145.sld @@ -1,30 +1,23 @@ - (define-library (srfi 145) (export assume) (import (scheme base)) (cond-expand - (elide-assumptions - (begin - (define-syntax assume - (syntax-rules () - ((assume expression objs ...) - expression) - ((assume) - (syntax-error "assume requires an expression")))))) - (else - (begin - (define-syntax assume - (syntax-rules () - ((assume expression objs ...) - (or expression - (fatal-error "invalid assumption" 'expression objs ...))) - ((assume) - (syntax-error "assume requires an expression"))))))) - (cond-expand - (debug - (begin - (define fatal-error error))) - (else - (begin - (define (fatal-error message . objs) - (car 0)))))) + ((or elide-assumptions + (and (not assumptions) + (not debug))) + (begin + (define-syntax assume + (syntax-rules () + ((assume expression objs ...) + expression) + ((assume) + (syntax-error "assume requires an expression")))))) + (else + (begin + (define-syntax assume + (syntax-rules () + ((assume expression objs ...) + (or expression + (error "invalid assumption" 'expression objs ...))) + ((assume) + (syntax-error "assume requires an expression"))))))))