summaryrefslogtreecommitdiff
path: root/modules/language/python/module
diff options
context:
space:
mode:
authorStefan Israelsson Tampe <stefan.itampe@gmail.com>2017-10-09 23:10:27 +0200
committerStefan Israelsson Tampe <stefan.itampe@gmail.com>2017-10-09 23:10:27 +0200
commitce108e22767232250682c69bf6275f50bffa8232 (patch)
treebe7fa8696524d23316df435ec4566d915fbff614 /modules/language/python/module
parente4938284cef9e4048528839d29e5930b0e1928f4 (diff)
iterators refactorings
Diffstat (limited to 'modules/language/python/module')
-rw-r--r--modules/language/python/module/python.scm17
1 files changed, 14 insertions, 3 deletions
diff --git a/modules/language/python/module/python.scm b/modules/language/python/module/python.scm
index 0dab709..ef3b190 100644
--- a/modules/language/python/module/python.scm
+++ b/modules/language/python/module/python.scm
@@ -23,18 +23,19 @@
#:use-module (language python range )
#:use-module (language python tuple )
- #:replace (list abs min max hash)
+ #:replace (list abs min max hash round)
#:re-export (Exception StopIteration send sendException next
GeneratorExit sendClose RuntimeError
len dir next dict None property range
tuple
)
- #:export (print repr complex float int round
+ #:export (print repr complex float int
set all any bin callable reversed
chr classmethod staticmethod
divmod enumerate filter format
getattr hasattr hex isinstance
- iter map sum id input oct ord pow super))
+ iter map sum id input oct ord pow super
+ sorted))
(define-syntax-rule (aif it p x y) (let ((it p)) (if it x y)))
@@ -202,3 +203,13 @@
(define max py-max)
(define list pylist)
(define reversed py-reversed)
+(define (key-id x) x)
+(define* (sorted it #:key (key key-id) (reverse #f))
+ (define l (to-pylist '()))
+ (for ((x : it)) () (pylist-append! l x))
+ (pylist-sort! l #:key key #:reverse reverse)
+ l)
+
+
+
+