summaryrefslogtreecommitdiff
path: root/modules/language/python/module/_python.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/module/_python.scm')
-rw-r--r--modules/language/python/module/_python.scm17
1 files changed, 10 insertions, 7 deletions
diff --git a/modules/language/python/module/_python.scm b/modules/language/python/module/_python.scm
index b8c5118..3998b19 100644
--- a/modules/language/python/module/_python.scm
+++ b/modules/language/python/module/_python.scm
@@ -50,8 +50,7 @@
divmod enumerate
getattr hasattr setattr hex isinstance issubclass
iter sum id input oct ord pow super
- sorted zip vars
- ClassMethod StaticMethod Funcobj))
+ sorted zip vars slice))
(define-syntax-rule (aif it p x y) (let ((it p)) (if it x y)))
@@ -353,11 +352,6 @@
(begin
(yield (reverse r))
(lp))))))))))
-
-(define-python-class ClassMethod ())
-(define-python-class StaticMethod ())
-(define-python-class Funcobj ())
-
(define print
(lam ((= file #f) (* l))
@@ -375,6 +369,7 @@
(l ((@ (guile) display) l ) (print)))
l)))))
+
(define-syntax-rule (mk cl cls ? tp)
(begin
(set! (@@ (oop pf-objects) cl) cls)
@@ -386,3 +381,11 @@
(mk bytes-cls bytes bytes? bytes)
(mk list-cls list list? list)
(mk float-cls float float? float)
+
+(define-python-class slice ()
+ (define __init__
+ (lam (self x (= y None) (= z None))
+ (pf-set self 'x x)
+ (pf-set self 'y y)
+ (pf-set self 'z z))))
+