]> git.rkrishnan.org Git - sicp.git/blobdiff - src/sicp/eval-4.33.rkt
Merge branch 'master' of github.com:vu3rdd/sicp
[sicp.git] / src / sicp / eval-4.33.rkt
index 67d821cb524392976e70d7408e5edde0482e511a..ffc7084206f64daee0ecb2a217aa2667bca61b60 100644 (file)
 
 (define (quote->cons exp)
   ;(display (format "q->c: ~s~%" exp))
-  (if (null? exp)
-      '()
-      (list 'cons (list 'quote (car exp)) (quote->cons (cdr exp)))))
+  (match exp
+    [(? null?)  '()]
+    [_          `(cons (quote ,(car exp)) ,(quote->cons (cdr exp)))]))
 
 ;; eval
 (define (eval exp env)