summaryrefslogtreecommitdiff
path: root/vikalpa.scm
diff options
context:
space:
mode:
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)