From 251464eade784dbe672f1ce87352bf3db8d0d36b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Nieper-Wi=C3=9Fkirchen?= Date: Sat, 29 Aug 2020 11:11:46 +0200 Subject: [PATCH] Translate assume to a noop when assumptions are disabled --- lib/srfi/145.sld | 45 +++++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 26 deletions(-) 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"))))))))