>>39It seems clear from your ``Nope'' that you aren't claiming that lambda calculus and SSA representation are the same thing, but that it is trivial to translate between them.
Exactly! It requires less steps to translate between CPS and SSA than for example to translate between x86 and C++ assembly code, because translating machine code back into C++ also requires intermediate form. De-compilers usually construct jmp/branch graphs, nodes of which correspond to lambdas, and the next stage would be determining their environment (which values are alive for which node).
For your reference, what confused me was that, when you said ``Java's compiler already does this transformation'', you weren't referring to the full transformation of Java to lambda calculus that I was asking about from your ``efficiently compiling for example Java code is the matter of translating Java to lambda calculus and running the present compiler'' statement.
Oh yes. These are the nuances of compiler implementation. Nothing stops compiler designer to use CPS instead of other equivalent intermediate forms. These forms are different in the same way XML is different from SEXPs.
http://everything2.com/title/call%252Fcc+yin-yang+puzzle
Cool stuff! Never knew about it. I've seen (call/cc call/cc) in some usenet discussion. It is basically a version of Y-combinator.