Compiling Database Application Programs
Optimizing data structures in high-level programs: new directions for extensible compilers based on staging