16 |
(define (transformer x) |
(define (transformer x) |
17 |
(cond ((eq? x 'nil) %nil) |
(cond ((eq? x 'nil) %nil) |
18 |
((eq? x 't) #t) |
((eq? x 't) #t) |
19 |
((null? x) '()) |
((null? x) %nil) |
20 |
((not (pair? x)) x) |
((not (pair? x)) x) |
21 |
((and (pair? (car x)) |
((and (pair? (car x)) |
22 |
(eq? (caar x) 'quasiquote)) |
(eq? (caar x) 'quasiquote)) |
51 |
(else (syntax-error x)))) |
(else (syntax-error x)))) |
52 |
|
|
53 |
(define (m-quasiquote exp env) |
(define (m-quasiquote exp env) |
54 |
(cons 'quasiquote |
(cons quasiquote |
55 |
(map transform-inside-qq (cdr exp)))) |
(map transform-inside-qq (cdr exp)))) |
56 |
|
|
57 |
(define (transform-inside-qq x) |
(define (transform-inside-qq x) |