Summary
call-with-values rewrite rule for known producer with single-valued body
Metadata
- Id: 210e91fa63c93b3712ed826779714196085f80c7
- Trac id: 220
- Type: enhancement
- Reporter: felix
- Owner:
- Cc:
- Status: closed
- Component: compiler
- Estimated difficulty:
- Resolution: wontfix
- Priority: not urgent at all
- Milestone:
- Version:
- Changetime: 2010-09-01 16:07:38 UTC
- Created: 2010-04-29 12:54:24 UTC
- Keywords: optimization call-with-values
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.