summaryrefslogtreecommitdiff
path: root/vikalpa.scm
diff options
context:
space:
mode:
authorMasaya Tojo <masaya@tojo.tokyo>2021-09-15 18:00:25 +0900
committerMasaya Tojo <masaya@tojo.tokyo>2021-09-16 12:36:17 +0900
commitf8923416fee10225a2475897508744013c0b4497 (patch)
treed545c4d0b480e5d198416d1bae62b7f6aea9a4ac /vikalpa.scm
parent6abdf4e5fb3c9b3e39d8b41f9dc7335c07d4557c (diff)
Return (system-check system) when evaluate define-system.v0.2.1
Diffstat (limited to 'vikalpa.scm')
-rw-r--r--vikalpa.scm26
1 files changed, 14 insertions, 12 deletions
diff --git a/vikalpa.scm b/vikalpa.scm
index 3bc3374..8f6b02a 100644
--- a/vikalpa.scm
+++ b/vikalpa.scm
@@ -1166,18 +1166,20 @@
(define-syntax define-system
(syntax-rules ()
((_ name (system) expr ...)
- (define (name)
- (when (equal? 'name 'system)
- (raise-exception
- (make-exception
- (make-exception-with-origin 'name)
- (make-exception-with-message "recursive system")
- (make-exception-with-irritants 'system))))
- (parameterize
- ((current-system (system)))
- expr
- ...
- (current-system))))))
+ (begin
+ (define (name)
+ (when (equal? 'name 'system)
+ (raise-exception
+ (make-exception
+ (make-exception-with-origin 'name)
+ (make-exception-with-message "recursive system")
+ (make-exception-with-irritants 'system))))
+ (parameterize
+ ((current-system (system)))
+ expr
+ ...
+ (current-system)))
+ (system-check (name))))))
(define (validate-function-name desc name)
(define (err)