From 29e4d11cc8ce55c3ac8900ea5c93179c28d31ab4 Mon Sep 17 00:00:00 2001 From: Stefan Israelsson Tampe Date: Fri, 23 Mar 2018 15:12:31 +0100 Subject: functools --- modules/language/python/def.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'modules/language/python/def.scm') 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 ...))) -- cgit v1.2.3