A graph-based higher-order intermediate representation (demonstrated with Impala, a dialect of Rust)

Impala: a Rust dialect that can partially evaluate functions at compile time and produce GPU code [PDF]