Realistic compilation by program transformation (detailed summary)
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Federated database systems for managing distributed, heterogeneous, and autonomous databases
ACM Computing Surveys (CSUR) - Special issue on heterogeneous databases
Notions of computation and monads
Information and Computation
ACM SIGMOD Record
Questions and answers: a category arising in linear logic complexity theory, and set theory
Proceedings of the workshop on Advances in linear logic
The state of the art in distributed query processing
ACM Computing Surveys (CSUR)
Composing dataflow analyses and transformations
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types and programming languages
Types and programming languages
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Premonoidal categories and notions of computation
Mathematical Structures in Computer Science
Inductive graphs and functional graph algorithms
Journal of Functional Programming
A tutorial on the universality and expressiveness of fold
Journal of Functional Programming
EDUCATIONAL PEARL: A Nanopass framework for compiler education
Journal of Functional Programming
LINQ: reconciling object, relations and XML in the .NET framework
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
Accelerator: using data parallelism to program GPUs for general-purpose uses
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Concurrent Programming on Windows
Concurrent Programming on Windows
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Dremel: interactive analysis of web-scale datasets
Proceedings of the VLDB Endowment
Analysis of low-level code using cooperating decompilers
SAS'06 Proceedings of the 13th international conference on Static Analysis
A practical theory of language-integrated query
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
We address the problem of writing compilers targeting complex execution environments, such as computer clusters composed of machines with multi-core CPUs. To that end we introduce partial compilers. These compilers can pass sub-programs to several child (partial) compilers, combining the code generated by their children to generate the final target code. We define a set of high-level polymorphic operations manipulating both compilers and partial compilers as first-class values. These mechanisms provide a software architecture for modular compiler construction. This allows the building of a forest of compilers, providing a structured treatment of multistage compilers.