diff options
Diffstat (limited to 'modules/language')
-rw-r--r-- | modules/language/python/compile.scm | 25 | ||||
-rw-r--r-- | modules/language/python/exceptions.scm | 9 | ||||
-rw-r--r-- | modules/language/python/spec.scm | 4 |
3 files changed, 19 insertions, 19 deletions
diff --git a/modules/language/python/compile.scm b/modules/language/python/compile.scm index e74b9f2..c315815 100644 --- a/modules/language/python/compile.scm +++ b/modules/language/python/compile.scm @@ -361,19 +361,18 @@ 'mk-p-class 'mk-py-class))) (parents (filt parents))) - `(define ,class (,(O 'wrap) ,class - (,(O kind) - ,class - ,(map (lambda (x) `(,(O 'get-class) ,x)) parents) - #:const - ,(match (exp vs defs) - (('begin . l) - l) - ((('begin . l)) - l) - (l l)) - #:dynamic - ()))))))) + `(define ,class (,(O kind) + ,class + ,(map (lambda (x) `(,(O 'get-class) ,x)) parents) + #:const + ,(match (exp vs defs) + (('begin . l) + l) + ((('begin . l)) + l) + (l l)) + #:dynamic + ())))))) ((#:import ((() nm) . #f)) `(use-modules (language python module ,(exp vs nm)))) diff --git a/modules/language/python/exceptions.scm b/modules/language/python/exceptions.scm index 52ce807..1bbec08 100644 --- a/modules/language/python/exceptions.scm +++ b/modules/language/python/exceptions.scm @@ -19,12 +19,11 @@ (set self 'str str)))) (define __repr__ - (lambda (self . l) - (define port (if (pair? l) (car l) #f)) - (aif it (ref self 'str) - (format port "<~s: ~a>" + (lambda (self) + (aif it (ref self 'str #f) + (format #f "~a:~a" (ref self '__name__) it) - (format port "<~s>" + (format #f "~a" (ref self '__name__)))))) diff --git a/modules/language/python/spec.scm b/modules/language/python/spec.scm index 0cfb83a..155de87 100644 --- a/modules/language/python/spec.scm +++ b/modules/language/python/spec.scm @@ -29,7 +29,9 @@ (define-language python #:title "python" #:reader (lambda (port env) - (cc port (read-string port))) + (if (not (fluid-ref (@@ (system base compile) %in-compile))) + (cc port (read-line port)) + (cc port (read-string port)))) #:compilers `((tree-il . ,compile-tree-il)) #:decompilers `((tree-il . ,decompile-tree-il)) |