Letrecs now working properly, no use before definitions
This commit is contained in:
@@ -227,12 +227,10 @@
|
|||||||
`(set-then! ,var ,$expr ,(k undefined-value))))]
|
`(set-then! ,var ,$expr ,(k undefined-value))))]
|
||||||
[(f e* ...)
|
[(f e* ...)
|
||||||
(let* ([$rv (gensym "$rv-")]
|
(let* ([$rv (gensym "$rv-")]
|
||||||
[cont `(lambda (,$rv) ,(k $rv))])
|
[$k (gensym "$k-")])
|
||||||
(T-k f
|
(T-k f (lambda ($f)
|
||||||
(lambda ($f)
|
(T*-k e* (lambda ($e*)
|
||||||
(T*-k e*
|
(k `((lambda (,$k) (,$f ,@$e* ,$k)) (lambda (,$rv) ,$rv))))))))]))
|
||||||
(lambda ($e*)
|
|
||||||
`(,$f ,@$e* ,cont))))))]))
|
|
||||||
|
|
||||||
;; (expr* * (aexp* -> cexp) -> cexp)
|
;; (expr* * (aexp* -> cexp) -> cexp)
|
||||||
(define (T*-k v* k)
|
(define (T*-k v* k)
|
||||||
|
|||||||
Reference in New Issue
Block a user