mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-20 06:09:18 +02:00
adding (srfi 145)
This commit is contained in:
parent
b61c1b7077
commit
1c3f2bd6d5
1 changed files with 30 additions and 0 deletions
30
lib/srfi/145.sld
Normal file
30
lib/srfi/145.sld
Normal file
|
@ -0,0 +1,30 @@
|
|||
|
||||
(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))))))
|
Loading…
Add table
Reference in a new issue