~ 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-node
Trap