Prototyping a query compiler using Coq
Joshua S. Auerbach, Martin Hirzel, et al.
JFLA 2017
Summary This paper presents both a calculus for stream processing, named Brooklet, and its realization as an intermediate language, named River. Because River is based on Brooklet, it has a formal semantics that enables reasoning about the correctness of source translations and optimizations. River builds on Brooklet by addressing the real-world details that the calculus elides. We evaluated our system by implementing front-ends for three streaming languages, and three important optimizations, and a back-end for the System S distributed streaming runtime. Overall, we significantly lower the barrier to entry for new stream-processing languages and thus grow the ecosystem of this crucial style of programming.
Joshua S. Auerbach, Martin Hirzel, et al.
JFLA 2017
Guillaume Baudart, Martin Hirzel, et al.
SPLASH/REBLS 2018
Scott Schneider, Martin Hirzel, et al.
PACT 2012
Buǧra Gedik, Scott Schneider, et al.
IEEE TPDS