"No Assembly Required: Compiling Standard ML to C" (1990) by David Tarditi, Peter Lee, Anurag Acharya (see http://citeseer.nj.nec.com/tarditi90no.html).
This paper shows how to compile Standard ML [SmlLanguage] to C [CeeLanguage] without compromises on portability and ProperTailRecursion by converting Standard ML code to a ContinuationPassingStyle LambdaCalculus intermediate language which is then compiled to C.
The technique used is similar to the RegisterTransformation? and StackTransformation? techniques described in the book EssentialsOfProgrammingLanguages. (At least in the first edition. Apparently some of the more advanced chapters were cut or simplified for the second edition. However, see http://www.cs.indiana.edu/~chaynes/c311/s95/hw11.ss for examples of these techniques.)
Also see CeeAsAnIntermediateLanguage and CheneyOnTheMta.