Placeholders for letrec-syntax

This commit is contained in:
Justin Ethier 2017-12-12 18:13:19 -05:00
parent 55b112afbd
commit b283c50341

View file

@ -404,6 +404,9 @@
((and (tagged-list? 'let-syntax exp)
(not (null? (cdr exp))))
(analyze-let-syntax exp env))
((and (tagged-list? 'letrec-syntax exp)
(not (null? (cdr exp))))
(analyze-letrec-syntax exp env))
((and (if? exp)
(not (null? (cdr exp))))
(analyze-if exp env))
@ -465,6 +468,14 @@
;;(newline)
(analyze cleaned a-env)))
;; TODO: following is just a placeholder, does not work yet
(define (analyze-letrec-syntax exp a-env)
(let* ((body-env a-env) ;;(env:extend-environment '() '() a-env))
(expanded (expand exp body-env body-env))
(cleaned (macro:cleanup expanded body-env))
)
(analyze cleaned body-env)))
(define (analyze-syntax exp a-env)
(let ((var (cadr exp)))
(cond