I would really appreciate it anybody could briefly explain me, what's the general approach to implementing things like MonoTouch? I'm really amazed because it's not the first example I see when people get some platform like Java and make it translate into something like C/Objective-C. I can't really imagine how things like Garbage collector and stuff are being translated.

Thanks in advance.

**EDIT**: I understand theoretical possibility of translating one language into another. My question is a bit more technical: do they implement **a complete runtime in ObjC** and bundle it? (I doubt it...) Or they just translate C# code into ObjC/binary/etc?