https://hgpu.org/?p=3124
Object-oriented stream programming using Aspects: a high-productivity programming paradigm for hybrid platforms