diff options
author | Stefan Israelsson Tampe <stefan.itampe@gmail.com> | 2018-02-28 13:24:08 +0100 |
---|---|---|
committer | Stefan Israelsson Tampe <stefan.itampe@gmail.com> | 2018-02-28 13:24:08 +0100 |
commit | 1feb32ab54b5955464db80919d24716a8ba477c1 (patch) | |
tree | aa48c36b2918233948bf473eec3c7b9d590f5921 /modules/language/python/try.scm | |
parent | 0f66dc88c5cc95f1dee7e4698c079a5554ddc886 (diff) |
heapq added
Diffstat (limited to 'modules/language/python/try.scm')
-rw-r--r-- | modules/language/python/try.scm | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/modules/language/python/try.scm b/modules/language/python/try.scm index a36263b..36d9b04 100644 --- a/modules/language/python/try.scm +++ b/modules/language/python/try.scm @@ -48,12 +48,19 @@ ((_ E tag l) (check E tag l)))) +(define (m code) + (let ((c code)) + (lambda (k . l) + (if (eq? k StopIteration) + (apply c 'python k l) + (apply c k l))))) + (define-syntax handler (syntax-rules (=>) - ((handler ecx) - (lambda (k tag . l) - (handler ecx tag l))) + (m + (lambda (k tag . l) + (handler ecx tag l)))) ((handler ((#:except E => lam) . ecx) tag l) (if (check-exception E tag l) |