Welcome to the CHICKEN Scheme pasting service
hmm? pasted by mercora on Wed Jan 2 18:08:19 2013
(define-syntax jimport
(er-macro-transformer
(lambda (x r c)
(let* ((%begin (r 'begin))
(%define (r 'define))
(%class (r 'class))
(class-symbol (cadr x))
(prefix (string-append (symbol->string (caddr x)) "-"))
(class-getter (string->symbol (string-append prefix "class")))
(class-methods (methods (class class-symbol))))
(cons %begin
(append
(map (lambda (m)
`(,%jimport-method m))
class-methods)
`(,%define (,class-getter)
(,%class ,class-symbol))))))))
davor ... pasted by mercora on Wed Jan 2 18:09:26 2013
(begin-for-syntax
(require-library jni)
(require-library jni-reflection)
(import-for-syntax jni)
(import-for-syntax jni-reflection)
(jvm-init "android.jar"))
der fehler pasted by mercora on Wed Jan 2 18:13:30 2013
Error: during expansion of (jimport ...) - unbound variable: class Call history: <syntax> (quote (jimport java.lang.String jstring)) <syntax> (##core#quote (jimport java.lang.String jstring)) <eval> (print (expand* (quote (jimport java.lang.String jstring)))) <eval> (expand* (quote (jimport java.lang.String jstring))) expand-full.scm:31: expand <eval> (r (quote begin)) <eval> (r (quote define)) <eval> (r (quote class)) <eval> (cadr x) <eval> (string-append (symbol->string (caddr x)) "-") <eval> (symbol->string (caddr x)) <eval> (caddr x) <eval> (string->symbol (string-append prefix "class")) <eval> (string-append prefix "class") <eval> (methods (class class-symbol)) <eval> (class class-symbol) <--
nochmal das ganze added by mercora on Wed Jan 2 18:14:41 2013
(use jni jni-reflection srfi-18 expand-full) (begin-for-syntax (require-library jni) (require-library jni-reflection) (import-for-syntax jni) (import-for-syntax jni-reflection) (jvm-init "android.jar")) (define-syntax jimport (er-macro-transformer (lambda (x r c) (let* ((%begin (r 'begin)) (%define (r 'define)) (%class (r 'class)) (class-symbol (cadr x)) (prefix (string-append (symbol->string (caddr x)) "-")) (class-getter (string->symbol (string-append prefix "class"))) (class-methods (methods (class class-symbol)))) (cons %begin (append (map (lambda (m) `(,%jimport-method m)) class-methods) `(,%define (,class-getter) (,%class ,class-symbol)))))))) (define-syntax jimport-method (er-macro-transformer (lambda (x r c) (let* ((%begin (r 'begin)) (%define (r 'define))) `(,%begin (,%define bar)))))) (print (expand* '(jimport java.lang.String jstring))) (jimport java.lang.String jstring) (jprint (jstring-class))