UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture05/ my-let-star.rkt
#lang racket
(require [only-in plait test test/exn error print-only-errors])

(define-syntax my-let*
  (syntax-rules ()
    [(my-let* () body) body]
    [(my-let* ([v0 e0] [v1 e1] ...) body)
     (let ([v0 e0])
       (my-let* ([v1 e1] ...) body))]))

(test (my-let* ([x 1]
                [y (+ x 2)]
                [x (+ y 3)])
         x)
      6)