- added trace-let
This commit is contained in:
parent
ff25a484fb
commit
a489f169ee
|
@ -1 +1 @@
|
||||||
1780
|
1781
|
||||||
|
|
|
@ -172,6 +172,7 @@
|
||||||
[unsyntax (macro . unsyntax)]
|
[unsyntax (macro . unsyntax)]
|
||||||
[unsyntax-splicing (macro . unsyntax-splicing)]
|
[unsyntax-splicing (macro . unsyntax-splicing)]
|
||||||
[trace-lambda (macro . trace-lambda)]
|
[trace-lambda (macro . trace-lambda)]
|
||||||
|
[trace-let (macro . trace-let)]
|
||||||
[trace-define (macro . trace-define)]
|
[trace-define (macro . trace-define)]
|
||||||
[trace-define-syntax (macro . trace-define-syntax)]
|
[trace-define-syntax (macro . trace-define-syntax)]
|
||||||
[trace-let-syntax (macro . trace-let-syntax)]
|
[trace-let-syntax (macro . trace-let-syntax)]
|
||||||
|
@ -297,6 +298,7 @@
|
||||||
[include-into i]
|
[include-into i]
|
||||||
[time i]
|
[time i]
|
||||||
[trace-lambda i]
|
[trace-lambda i]
|
||||||
|
[trace-let i]
|
||||||
[trace-define i]
|
[trace-define i]
|
||||||
[trace-define-syntax i]
|
[trace-define-syntax i]
|
||||||
[trace-let-syntax i]
|
[trace-let-syntax i]
|
||||||
|
|
|
@ -1141,6 +1141,15 @@
|
||||||
(bless `((letrec ((,f (lambda ,lhs* ,b . ,b*))) ,f) . ,rhs*))
|
(bless `((letrec ((,f (lambda ,lhs* ,b . ,b*))) ,f) . ,rhs*))
|
||||||
(invalid-fmls-error stx lhs*))))))
|
(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
|
(define let-values-macro
|
||||||
(lambda (stx)
|
(lambda (stx)
|
||||||
(define (rename x old* new*)
|
(define (rename x old* new*)
|
||||||
|
@ -2626,6 +2635,7 @@
|
||||||
((define-enumeration) define-enumeration-macro)
|
((define-enumeration) define-enumeration-macro)
|
||||||
((trace-lambda) trace-lambda-macro)
|
((trace-lambda) trace-lambda-macro)
|
||||||
((trace-define) trace-define-macro)
|
((trace-define) trace-define-macro)
|
||||||
|
((trace-let) trace-let-macro)
|
||||||
((trace-define-syntax) trace-define-syntax-macro)
|
((trace-define-syntax) trace-define-syntax-macro)
|
||||||
((trace-let-syntax) trace-let-syntax-macro)
|
((trace-let-syntax) trace-let-syntax-macro)
|
||||||
((trace-letrec-syntax) trace-letrec-syntax-macro)
|
((trace-letrec-syntax) trace-letrec-syntax-macro)
|
||||||
|
|
Loading…
Reference in New Issue