Electronic Notes in Theoretical Computer Science · 2002 · 16 citations · 5 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureProgramming LanguagesControl-flow AnalysisData ParallelismData-flow AnalysisArray CodesArray DeclarationImperative TransformationIndependent VariablesLoop OptimizationLoop UnrollingStatic CompilationSynchronous Data Parallelism
In this paper, we present a compilation scheme along with optimizations for array iterators in the synchronous data flow language Lustre. We present the iterators (inspired from functional languages mechanisms such as map and foldl…) and show how to compile them into efficient imperative code that manipulates arrays and loops instead of inefficient code were arrays are expanded into independent variables.
5
Can programming be liberated from the von Neumann style?
John Backus · Communications of the ACM · 1978 · 2.6K citations · Full text
The synchronous data flow programming language LUSTRE
Nicolas Halbwachs, P. Caspi, Pascal Raymond et al. · Proceedings of the IEEE · 1991 · 1.5K citations · Full text
Deforestation: transforming programs to eliminate trees
Philip Wadler · Theoretical Computer Science · 1990 · 707 citations
Listlessness is better than laziness
Philip Wadler · 1984 · 85 citations · Full text