Is there any compiler IR paradigms other than Three Address Code and Static Single Assignment (SSA) Form?
This is an extremely common approach to designing abstract machines for non-imperative languages. See, for example, the G machine or the WAM (which uses the same technique for heap allocation).