Summary

call-with-values rewrite rule for known producer with single-valued body

Metadata

Description

`(call-with-values K P F)` with `P` having a lambda as known value and a body of the form `(<CONT> X)` where `X` is a constant, a variable reference, a lambda or a `##core#inline[[...]|]` form can be rewritten to `(F K X)`.

Changes and comments

[2010-05-02 00:47:51 UTC] felix wrote:

Since the producer may refer to bindings not lexically visible in F, a better transformation would be:

 ([##sys#]call-with-values K P F)
 
 ~>
 
 (let ((T1 (lambda (R) (F K R))))   ; continuation lambda
   (P T1))

[2010-07-20 01:56:14 UTC] felix changed status from new to assigned

[2010-07-20 01:56:14 UTC] felix removed owner felix

[2010-09-01 16:07:38 UTC] felix changed status from assigned to closed

[2010-09-01 16:07:38 UTC] felix set resolution to wontfix

[2010-09-01 16:07:38 UTC] felix wrote:

Too much hassle for too little gain.