leppie scripsit:

> The closest notion I can see is that, for some reason, the code could
> possibly be transformed into:
> 
> (eqv? (lambda (x) (+ x 1)) (lambda (x) (+ x 1)))

What is more, an implementation is free to notice that these two lambdas
are operationally equivalent and return #t!

> which IMO, is a wasted optimization in the case where the procedure is
> not applied.

I think the purpose of it is for systems that inline known procedures:
if you always rewrite (car x) as (%internal-car x), where %internal-car
is not a value, then it may not be worthwhile keeping around an object
to represent car for those cases when it is not being invoked.

If anyone actually exploits this R6RS innovation, I still hope to hear
of it.

-- 
"But I am the real Strider, fortunately,"       John Cowan
he said, looking down at them with his face     co...@ccil.org
softened by a sudden smile.  "I am Aragorn son  http://www.ccil.org/~cowan
of Arathorn, and if by life or death I can
save you, I will."  --LotR Book I Chapter 10

_______________________________________________
r6rs-discuss mailing list
r6rs-discuss@lists.r6rs.org
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to