Gradual Mode Types for Energy-Aware Programming
Modeling energy concepts as high level constructs that can be checked by a type system is challenging due to the dependency on runtime factors related to energy consumption. Pushing energy concepts such as energy mode types into a language helps less skilled programmers write energy-aware software without relying on lower level techniques such as Dynamic Voltage Frequency Scaling (DVFS). We develop a language that allows energy specific type checking to be done gradually with both static and dynamic checks. As a result we allow energy-aware programming that is both natural and flexible at the language level.