- added trace-let

This commit is contained in:
Abdulaziz Ghuloum 2009-05-18 11:14:17 +03:00
parent ff25a484fb
commit a489f169ee
3 changed files with 13 additions and 1 deletions

View File

@ -1 +1 @@
1780
1781

View File

@ -172,6 +172,7 @@
[unsyntax (macro . unsyntax)]
[unsyntax-splicing (macro . unsyntax-splicing)]
[trace-lambda (macro . trace-lambda)]
[trace-let (macro . trace-let)]
[trace-define (macro . trace-define)]
[trace-define-syntax (macro . trace-define-syntax)]
[trace-let-syntax (macro . trace-let-syntax)]
@ -297,6 +298,7 @@
[include-into i]
[time i]
[trace-lambda i]
[trace-let i]
[trace-define i]
[trace-define-syntax i]
[trace-let-syntax i]

View File

@ -1141,6 +1141,15 @@
(bless `((letrec ((,f (lambda ,lhs* ,b . ,b*))) ,f) . ,rhs*))
(invalid-fmls-error stx lhs*))))))
(define trace-let-macro
(lambda (stx)
(syntax-match stx ()
((_ f ((lhs* rhs*) ...) b b* ...) (id? f)
(if (valid-bound-ids? lhs*)
(bless
`((letrec ((,f (trace-lambda ,f ,lhs* ,b . ,b*))) ,f) . ,rhs*))
(invalid-fmls-error stx lhs*))))))
(define let-values-macro
(lambda (stx)
(define (rename x old* new*)
@ -2626,6 +2635,7 @@
((define-enumeration) define-enumeration-macro)
((trace-lambda) trace-lambda-macro)
((trace-define) trace-define-macro)
((trace-let) trace-let-macro)
((trace-define-syntax) trace-define-syntax-macro)
((trace-let-syntax) trace-let-syntax-macro)
((trace-letrec-syntax) trace-letrec-syntax-macro)