< Terug naar vorige pagina

Publicatie

Offline Partial Deduction for the Analysis and Compilation of Coroutines

Boek - Dissertatie

Coroutines are a core programming languages concept that dates back at least as far as the early 1960's. In essence, a coroutine is a special kind of routine that can, in addition to terminating normally, also suspend its execution temporarily and later resume again. The interaction between coroutines differs significantly from that of conventional procedures. There is no hierarchical organization like that of caller and callee; both reside at the same level. Hence, we speak of side-ways information passing (SIP). The great flexibility of coroutines is also the key problem when reasoning about them. Traditional reasoning approaches simply ignore the SIP that is the main purpose of coroutines. As a consequence, programmers get weak analysis feedback and no compiler optimizations. This creates an undeserved aversion for coroutines in favor of the conventional and less flexible top-down programming style. The main purpose of this project is to remedy this shortcoming by transforming coroutining programs into equivalent, hierarchical ones.
Jaar van publicatie:2019
Toegankelijkheid:Open