2015 · 26 citations · 41 references
ComputingComputer ScienceHigh-performance ComputingAlgorithmsFormal MethodsProgramming LanguagesControl-flow AnalysisData-flow AnalysisTermination AnalysisContinuation-passing StyleHigh-performance Computing PerformanceHigh-performance Computing SystemsOnline EvaluationPartial EvaluationTermination Mechanisms
This paper investigates shallow embedding of DSLs by means of online partial evaluation. To this end, we present a novel online partial evaluator for continuation-passing style languages. We argue that it has, in contrast to prior work, a predictable termination policy that works well in practice. We present our approach formally using a continuation-passing variant of PCF and prove its termination properties. We evaluate our technique experimentally in the field of visual and high-performance computing and show that our evaluator produces highly specialized and efficient code for CPUs as well as GPUs that matches the performance of hand-tuned expert code.
41
LCF considered as a programming language
Gordon Plotkin · Theoretical Computer Science · 1977 · 1.1K citations
Program Analysis and Specialization for the C Programming Language
Lars Ole Andersen, Peter Lee · 2005 · 920 citations
Jonathan Ragan‐Kelley, Connelly Barnes, Andrew Adams et al. · 2013 · 895 citations
Intensional interpretations of functionals of finite type I
W. W. Tait · Journal of Symbolic Logic · 1967 · 557 citations
Humanities, Mathematics, Logic +13