summaryrefslogtreecommitdiff
path: root/modules/language/python/def.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/def.scm')
-rw-r--r--modules/language/python/def.scm25
1 files changed, 13 insertions, 12 deletions
diff --git a/modules/language/python/def.scm b/modules/language/python/def.scm
index 25edc7e..634daf4 100644
--- a/modules/language/python/def.scm
+++ b/modules/language/python/def.scm
@@ -1,6 +1,6 @@
(define-module (language python def)
+ #:use-module (ice-9 pretty-print)
#:use-module (oop pf-objects)
- #:use-module (language python for)
#:use-module (language python exceptions)
#:use-module (ice-9 match)
#:use-module (srfi srfi-11)
@@ -98,15 +98,16 @@
((k ...) (map car kv))
((s ...) (map ->kw (map car kv)))
((v ...) (map cdr kv)))
- #`(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))
+ #`(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)))
- (let () code ...))))))))))))))
+ (let ((ww ww*)
+ (kw (pytonize kw)))
+ (let () code ...))))))))))))))
(define-syntax-rule (def (f . args) code ...) (define f (lam args code ...)))
@@ -130,15 +131,15 @@
(string->symbol x)
x))))
+(define (mkw kw) (error "not implemented"))
+
(define-syntax m*
(syntax-rules (* ** =)
((_ (= a b))
(list (symbol->keyword 'a) b))
((_ (* a)) a)
((_ (** kw))
- (for ((k v : kw)) ((l '()))
- (cons* v (mk-k k) l)
- #:final (reverse l)))
+ (mkw kw))
((_ a) (list a))))
(define-syntax py-apply