~ chicken-core (chicken-5) d736b66cd005d1de97e016b84c4bde5251474b1d
commit d736b66cd005d1de97e016b84c4bde5251474b1d Author: felix <felix@call-with-current-continuation.org> AuthorDate: Tue Jun 14 13:20:20 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Tue Jun 14 13:20:20 2011 +0200 argument to ##core#the needn't be quoted diff --git a/chicken-ffi-syntax.scm b/chicken-ffi-syntax.scm index dddfa762..6dd98e67 100644 --- a/chicken-ffi-syntax.scm +++ b/chicken-ffi-syntax.scm @@ -171,9 +171,9 @@ 'foreign-value "bad argument type - not a string or symbol" code)))) - (##core#the ',(##compiler#foreign-type->scrutiny-type - (##sys#strip-syntax (caddr form)) - 'result) + (##core#the ,(##compiler#foreign-type->scrutiny-type + (##sys#strip-syntax (caddr form)) + 'result) ,tmp) ) ) ) ) ) @@ -214,9 +214,9 @@ (rtype (or (and hasrtype (##sys#strip-syntax (cadr form))) 'void)) (args (##sys#strip-syntax (if hasrtype (caddr form) (cadr form)))) (argtypes (map car args))) - `(##core#the '(procedure - ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg) argtypes) - ,(##compiler#foreign-type->scrutiny-type rtype 'result)) + `(##core#the (procedure + ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg) argtypes) + ,(##compiler#foreign-type->scrutiny-type rtype 'result)) (##core#foreign-primitive ,@(cdr form))))))) (##sys#extend-macro-environment @@ -226,10 +226,10 @@ (lambda (form r c) (##sys#check-syntax 'foreign-lambda form '(_ _ _ . _)) `(##core#the - '(procedure ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg) - (##sys#strip-syntax (cdddr form))) - ,(##compiler#foreign-type->scrutiny-type - (##sys#strip-syntax (cadr form)) 'result)) + (procedure ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg) + (##sys#strip-syntax (cdddr form))) + ,(##compiler#foreign-type->scrutiny-type + (##sys#strip-syntax (cadr form)) 'result)) (##core#foreign-lambda ,@(cdr form)))))) (##sys#extend-macro-environment @@ -239,7 +239,7 @@ (lambda (form r c) (##sys#check-syntax 'foreign-lambda* form '(_ _ _ _ . _)) `(##core#the - '(procedure ,(map (lambda (a) (##compiler#foreign-type->scrutiny-type (car a) 'arg)) + (procedure ,(map (lambda (a) (##compiler#foreign-type->scrutiny-type (car a) 'arg)) (##sys#strip-syntax (caddr form))) ,(##compiler#foreign-type->scrutiny-type (##sys#strip-syntax (cadr form)) 'result)) @@ -252,7 +252,7 @@ (lambda (form r c) (##sys#check-syntax 'foreign-safe-lambda form '(_ _ _ . _)) `(##core#the - '(procedure ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg) + (procedure ,(map (cut ##compiler#foreign-type->scrutiny-type <> 'arg) (##sys#strip-syntax (cdddr form))) ,(##compiler#foreign-type->scrutiny-type (##sys#strip-syntax (cadr form)) 'result)) @@ -265,7 +265,7 @@ (lambda (form r c) (##sys#check-syntax 'foreign-safe-lambda* form '(_ _ _ _ . _)) `(##core#the - '(procedure ,(map (lambda (a) (##compiler#foreign-type->scrutiny-type (car a) 'arg)) + (procedure ,(map (lambda (a) (##compiler#foreign-type->scrutiny-type (car a) 'arg)) (##sys#strip-syntax (caddr form))) ,(##compiler#foreign-type->scrutiny-type (##sys#strip-syntax (cadr form)) 'result)) @@ -285,7 +285,7 @@ (##compiler#foreign-type-declaration t "")))) `(##core#begin (##core#define-foreign-variable ,tmp size_t ,(string-append "sizeof(" decl ")")) - (##core#the 'fixnum ,tmp)))))) + (##core#the fixnum ,tmp)))))) (##sys#macro-subset me0))) diff --git a/chicken-syntax.scm b/chicken-syntax.scm index c5604db6..e794f4a5 100644 --- a/chicken-syntax.scm +++ b/chicken-syntax.scm @@ -1193,14 +1193,14 @@ (##sys#er-transformer (lambda (x r c) (##sys#check-syntax 'the x '(_ _ _)) - `(##core#the ',(##sys#strip-syntax (cadr x)) ,(caddr x))))) + `(##core#the ,(##sys#strip-syntax (cadr x)) ,(caddr x))))) (##sys#extend-macro-environment 'assume '() (##sys#er-transformer (syntax-rules () ((_ ((var type) ...) body ...) - (let ((var (##core#the 'type var)) ...) body ...))))) + (let ((var (##core#the type var)) ...) body ...))))) ;; capture current macro env diff --git a/eval.scm b/eval.scm index 239ff50c..7b30466f 100644 --- a/eval.scm +++ b/eval.scm @@ -749,7 +749,7 @@ (compile-call (cdr x) e tf cntr se) ] ((##core#the) - (compile (caddr x) e tf cntr se)) + (compile (caddr x) e h tf cntr se)) (else (fluid-let ((##sys#syntax-context (cons head ##sys#syntax-context))) diff --git a/support.scm b/support.scm index 3488169f..c522cad6 100644 --- a/support.scm +++ b/support.scm @@ -505,8 +505,7 @@ ((lambda ##core#lambda) (make-node 'lambda (list (cadr x)) (list (walk (caddr x))))) ((##core#the) - ;; first arg will be quoted - (make-node '##core#the (list (cadadr x)) (list (walk (caddr x))))) + (make-node '##core#the (list (cadr x)) (list (walk (caddr x))))) ((##core#primitive) (let ([arg (cadr x)]) (make-nodeTrap