summaryrefslogtreecommitdiff
path: root/modules/language/python/def.scm
diff options
context:
space:
mode:
authorStefan Israelsson Tampe <stefan.itampe@gmail.com>2018-03-23 15:12:31 +0100
committerStefan Israelsson Tampe <stefan.itampe@gmail.com>2018-03-23 15:12:31 +0100
commit29e4d11cc8ce55c3ac8900ea5c93179c28d31ab4 (patch)
tree38ee39214ba5d7433120e71b07874d49c0d71fc7 /modules/language/python/def.scm
parent8a616982d428dbf9efbd07b8c817f809aceeea1d (diff)
functools
Diffstat (limited to 'modules/language/python/def.scm')
-rw-r--r--modules/language/python/def.scm18
1 files changed, 10 insertions, 8 deletions
diff --git a/modules/language/python/def.scm b/modules/language/python/def.scm
index f0bb161..389e89e 100644
--- a/modules/language/python/def.scm
+++ b/modules/language/python/def.scm
@@ -1,4 +1,5 @@
(define-module (language python def)
+ #:use-module (oop pf-objects)
#:use-module (language python for)
#:use-module (ice-9 match)
#:use-module (srfi srfi-11)
@@ -90,14 +91,15 @@
((k ...) (map car kv))
((s ...) (map ->kw (map car kv)))
((v ...) (map cdr kv)))
- #`(lambda* (#,@as . l)
- (call-with-values (lambda () (get-akw l))
- (lambda (ww* kw)
- (let*-values (((ww* k) (take-1 #,(null? ww-) ww* kw s v))
- ...)
- (let ((ww ww*)
- (kw (pytonize kw)))
- code ...))))))))))))
+ #`(object-method
+ (lambda* (#,@as . l)
+ (call-with-values (lambda () (get-akw l))
+ (lambda (ww* kw)
+ (let*-values (((ww* k) (take-1 #,(null? ww-) ww* kw s v))
+ ...)
+ (let ((ww ww*)
+ (kw (pytonize kw)))
+ code ...)))))))))))))
(define-syntax-rule (def (f . args) code ...) (define f (lam args code ...)))