additional check for let bindings
authorRamakrishnan Muthukrishnan <vu3rdd@gmail.com>
Mon, 2 Jan 2012 15:13:55 +0000 (20:43 +0530)
committerRamakrishnan Muthukrishnan <vu3rdd@gmail.com>
Mon, 2 Jan 2012 15:13:55 +0000 (20:43 +0530)
src/sicp/metacircular2.rkt

index 83d89fac906b406c429a1b99f1305d52d51f2496..26f9c12b52d4b02fe898b0259dabdb4c9f8d021c 100644 (file)
 
 ;; let
 (define (let->combination lexpr)
-  (match-let* ([`(let ,bindings ,body ..1) lexpr]
+  (match-let* ([`(let ,(? (lambda (x) (or (pair? x) (empty? x))) bindings) ,body ..1) lexpr]
                [`((,var ,val) ...) bindings])
     `((lambda ,var ,@body) ,@val)))