diff options
author | Stefan Israelsson Tampe <stefan.itampe@gmail.com> | 2017-09-23 20:57:50 +0200 |
---|---|---|
committer | Stefan Israelsson Tampe <stefan.itampe@gmail.com> | 2017-09-23 20:57:50 +0200 |
commit | 5bc1a0f8dd7d6c07380b5e6c56d20a327c0ba587 (patch) | |
tree | 96d710188219f79cb5de488137d0681e35ac8cd6 /modules/language/python/def.scm | |
parent | 6cb199ed027f0ce56dd2b3f1c94f7edc3a53c026 (diff) |
dicts now works almost entirely
Diffstat (limited to 'modules/language/python/def.scm')
-rw-r--r-- | modules/language/python/def.scm | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/language/python/def.scm b/modules/language/python/def.scm index a9aa692..bc745f0 100644 --- a/modules/language/python/def.scm +++ b/modules/language/python/def.scm @@ -32,6 +32,16 @@ (() (values (reverse args) kw))))) +(define hset! hash-set!) + +(define (pytonize kw) + (hash-fold + (lambda (k v h) + (hset! h (symbol->string (keyword->symbol k)) v) + h) + (make-hash-table) + kw)) + (define-syntax lam (lambda (x) (define-syntax-rule (mk get-as (k v s) x y z w) @@ -76,7 +86,8 @@ (lambda (ww* kw) (let*-values (((ww* k) (take-1 ww* kw s v)) ...) - (let ((ww ww*)) + (let ((ww ww*) + (kw (pytonize kw))) code ...)))))))))))) (define-syntax-rule (def (f . args) code ...) (define f (lam args code ...))) |