I think there's some sort of representation in the .ppu files in support of generics, but it should be considered private: it would be an extremely unwise programmer who dabbled in such things without the support of the core team.
It's easy enough to emit to and later interpret an intermediate format ** , but my own feeling is that one would be far better off learning an established form such as LLVM.
** Been there done that repeatedly. Make sure that the first opcode is a version identifier to keep the compiler and interpreter matched.
MarkMLl