variable-binding-theory)))))
(lambda (form rename compare)
compare ;ignore
- (receive (name value) (parse-define-form form rename)
- `(,keyword ,name ,value)))))
+ (parse-define-form form rename
+ (lambda (name value)
+ `(,keyword ,name ,value))))))
-(define (parse-define-form form rename)
+(define (parse-define-form form rename receiver)
(cond ((syntax-match? '((IDENTIFIER . MIT-BVL) + FORM) (cdr form))
(parse-define-form
`(,(car form) ,(caadr form)
(,(rename 'NAMED-LAMBDA) ,@(cdr form)))
- rename))
+ rename
+ receiver))
((syntax-match? '((DATUM . MIT-BVL) + FORM) (cdr form))
(parse-define-form
`(,(car form) ,(caadr form)
(,(rename 'LAMBDA) ,(cdadr form) ,@(cddr form)))
- rename))
+ rename
+ receiver))
((syntax-match? '(IDENTIFIER) (cdr form))
- (values (cadr form) (unassigned-expression)))
+ (receiver (cadr form) (unassigned-expression)))
((syntax-match? '(IDENTIFIER EXPRESSION) (cdr form))
- (values (cadr form) (caddr form)))
+ (receiver (cadr form) (caddr form)))
(else
(ill-formed-syntax form))))
(er-macro-transformer
(lambda (form rename compare)
compare
- (receive (name value) (parse-define-form form rename)
- `(,(rename 'BEGIN)
- (,(rename 'DEFINE) ,name)
- (,(rename 'ADD-BOOT-INIT!)
- (,(rename 'LAMBDA) ()
- (,(rename 'SET!) ,name ,value)
- ,(rename 'UNSPECIFIC))))))))
\ No newline at end of file
+ (parse-define-form form rename
+ (lambda (name value)
+ `(,(rename 'BEGIN)
+ (,(rename 'DEFINE) ,name)
+ (,(rename 'ADD-BOOT-INIT!)
+ (,(rename 'LAMBDA) ()
+ (,(rename 'SET!) ,name ,value)
+ ,(rename 'UNSPECIFIC)))))))))
\ No newline at end of file