Compiling into a high level language is not any different from compiling into a low level one.
It is best done by a chain of small transforms: you have your source language AST, a target language AST, and you can build a number of slightly different intermediate languages in between, slowly morphing one language into another.
There is a nice tutorial on compiling Scheme to C.
But be warned that it's pretty hard to translate a high level language into idiomatic code in another high level language. Your generated code, no matter how "high level" it is, is not going to be very readable.