diff options
author | Masaya Tojo <masaya@tojo.tokyo> | 2021-09-15 18:00:25 +0900 |
---|---|---|
committer | Masaya Tojo <masaya@tojo.tokyo> | 2021-09-16 12:36:17 +0900 |
commit | f8923416fee10225a2475897508744013c0b4497 (patch) | |
tree | d545c4d0b480e5d198416d1bae62b7f6aea9a4ac /vikalpa.scm | |
parent | 6abdf4e5fb3c9b3e39d8b41f9dc7335c07d4557c (diff) |
Return (system-check system) when evaluate define-system.v0.2.1
Diffstat (limited to 'vikalpa.scm')
-rw-r--r-- | vikalpa.scm | 26 |
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) |