Translate assume to a noop when assumptions are disabled

This commit is contained in:
Marc Nieper-Wißkirchen 2020-08-29 11:11:46 +02:00
parent 043e4c2214
commit 251464eade

View file

@ -1,9 +1,10 @@
(define-library (srfi 145) (define-library (srfi 145)
(export assume) (export assume)
(import (scheme base)) (import (scheme base))
(cond-expand (cond-expand
(elide-assumptions ((or elide-assumptions
(and (not assumptions)
(not debug)))
(begin (begin
(define-syntax assume (define-syntax assume
(syntax-rules () (syntax-rules ()
@ -17,14 +18,6 @@
(syntax-rules () (syntax-rules ()
((assume expression objs ...) ((assume expression objs ...)
(or expression (or expression
(fatal-error "invalid assumption" 'expression objs ...))) (error "invalid assumption" 'expression objs ...)))
((assume) ((assume)
(syntax-error "assume requires an expression"))))))) (syntax-error "assume requires an expression"))))))))
(cond-expand
(debug
(begin
(define fatal-error error)))
(else
(begin
(define (fatal-error message . objs)
(car 0))))))