home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-386-Vol-2of3.iso
/
c
/
cr-macro.zip
/
TEST.SCM
< prev
next >
Wrap
Text File
|
1990-02-16
|
687b
|
37 lines
; Test cases
(test '((lambda () 2 1)))
(test '(begin (define x 1) (define y 2)))
(test '((lambda () (define x 1) x)))
; inner
(test '(let ((x 'outer))
(let-syntax ((m (lambda (exp rename compare) 'x)))
(let ((x 'inner))
(m)))))
; outer
(test '(let ((x 'outer))
(let-syntax ((m (lambda (exp rename compare) (rename 'x))))
(let ((x 'inner))
(m)))))
(test '(letrec ((x (lambda () x)))
(let ((y x))
(set! x 2)
(y))))
(define e1
'(let ((foo (lambda (x) (+ x 1))))
(let-syntax ((m (lambda (exp rename compare)
`(,(rename 'foo) ,(cadr exp)))))
(list (m 3) ; => 4
(let ((foo 97))
(m foo) ; => 98
)))))
(test e1)