% Bibliography downloaded from https://researchr.org/downloadbibtex/bibliography/analysis-and-compilation-separate-compilation/compact @article{wadler1998expression, title = {The expression problem}, author = {Philip Wadler}, year = {1998}, month = {11}, url = {https://homepages.inf.ed.ac.uk/wadler/papers/expression/expression.txt}, researchr = {https://researchr.org/publication/wadler1998expression}, cites = {0}, citedby = {0}, journal = {Java-genericity mailing list}, } @inproceedings{Mosses02, title = {Pragmatics of Modular SOS}, author = {Peter D. Mosses}, year = {2002}, doi = {10.1007/3-540-45719-4_3}, url = {https://doi.org/10.1007/3-540-45719-4_3}, tags = {SOS}, researchr = {https://researchr.org/publication/Mosses02}, cites = {0}, citedby = {0}, pages = {21-40}, booktitle = {amast}, } @inproceedings{ErdwegGR12, title = {Language composition untangled}, author = {Sebastian Erdweg and Paolo G. Giarrusso and Tillmann Rendel}, year = {2012}, doi = {10.1145/2427048.2427055}, url = {http://doi.acm.org/10.1145/2427048.2427055}, researchr = {https://researchr.org/publication/ErdwegGR12}, cites = {0}, citedby = {0}, pages = {7}, booktitle = {LDTA}, } @inproceedings{Wirth07, title = {Modula-2 and Oberon}, author = {Niklaus Wirth}, year = {2007}, doi = {10.1145/1238844.1238847}, url = {http://doi.acm.org/10.1145/1238844.1238847}, researchr = {https://researchr.org/publication/Wirth07}, cites = {0}, citedby = {0}, pages = {1-10}, booktitle = {HOPL}, } @inproceedings{DrossopoulouEW99, title = {A Fragment Calculus -- Towards a Model of Separate Compilation, Linking and Binary Compatibility}, author = {Sophia Drossopoulou and Susan Eisenbach and David Wragg}, year = {1999}, doi = {10.1109/LICS.1999.782606}, url = {https://doi.org/10.1109/LICS.1999.782606}, researchr = {https://researchr.org/publication/DrossopoulouEW99}, cites = {0}, citedby = {0}, pages = {147-156}, booktitle = {lics}, } @inproceedings{Jim96, title = {What Are Principal Typings and What Are They Good For?}, author = {Trevor Jim}, year = {1996}, doi = {10.1145/237721.237728}, url = {http://doi.acm.org/10.1145/237721.237728}, researchr = {https://researchr.org/publication/Jim96}, cites = {0}, citedby = {0}, pages = {42-53}, booktitle = {POPL}, } @inproceedings{Wirth79, title = {The Module: A System Structuring Facility in High-Level Programming Languages}, author = {Niklaus Wirth}, year = {1979}, tags = {programming languages, programming}, researchr = {https://researchr.org/publication/Wirth79}, cites = {0}, citedby = {0}, pages = {1-24}, booktitle = {ldpm}, } @article{WykBGK10, title = {Silver: An extensible attribute grammar system}, author = {Eric {Van Wyk} and Derek Bodin and Jimin Gao and Lijesh Krishnan}, year = {2010}, doi = {10.1016/j.scico.2009.07.004}, url = {http://dx.doi.org/10.1016/j.scico.2009.07.004}, tags = {attribute grammars, grammar}, researchr = {https://researchr.org/publication/WykBGK10}, cites = {0}, citedby = {0}, journal = {SCP}, volume = {75}, number = {1-2}, pages = {39-54}, } @article{EarleyC72, title = {A Method for Incrementally Compiling Languages with Nested Statement Structure}, author = {Jay Earley and Paul Caizergues}, year = {1972}, tags = {compiler, incremental}, researchr = {https://researchr.org/publication/EarleyC72}, cites = {0}, citedby = {0}, journal = {CACM}, volume = {15}, number = {12}, pages = {1040-1044}, } @inproceedings{Reiss84:2, title = {An approach to incremental compilation}, author = {Steven P. Reiss}, year = {1984}, doi = {10.1145/502874.502889}, url = {http://doi.acm.org/10.1145/502874.502889}, tags = {incremental, systematic-approach}, researchr = {https://researchr.org/publication/Reiss84%3A2}, cites = {0}, citedby = {0}, pages = {144-156}, booktitle = {sigplan}, } @article{GeschkeMS77, title = {Early Experience with Mesa}, author = {Charles M. Geschke and James H. Morris Jr. and Edwin H. Satterthwaite}, year = {1977}, month = {8}, doi = {10.1145/359763.359771}, url = {https://doi.org/10.1145/359763.359771}, researchr = {https://researchr.org/publication/GeschkeMS77}, cites = {0}, citedby = {0}, journal = {CACM}, volume = {20}, number = {8}, pages = {540-553}, } @inproceedings{AdityaN91, title = {Incremental Polymorphism}, author = {Shail Aditya and Rishiyur S. Nikhil}, year = {1991}, tags = {incremental}, researchr = {https://researchr.org/publication/AdityaN91}, cites = {0}, citedby = {0}, pages = {379-405}, booktitle = {fpca}, } @article{Swierstra08, title = {Data types à la carte}, author = {Wouter Swierstra}, year = {2008}, doi = {10.1017/S0956796808006758}, url = {http://dx.doi.org/10.1017/S0956796808006758}, tags = {data-flow}, researchr = {https://researchr.org/publication/Swierstra08}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {18}, number = {4}, pages = {423-436}, } @article{Mosses-JLAP-2004, title = {Modular structural operational semantics}, author = {Peter D. Mosses}, year = {2004}, doi = {10.1016/j.jlap.2004.03.008}, url = {http://dx.doi.org/10.1016/j.jlap.2004.03.008}, tags = {programming languages, semantics, rule-based, structural operational semantics, SOS, rules, reviewing, programming, operational semantics, incremental}, researchr = {https://researchr.org/publication/Mosses-JLAP-2004}, cites = {0}, citedby = {0}, journal = {jlp}, volume = {60-61}, pages = {195-228}, } @inproceedings{ErdwegLW15, title = {A sound and optimal incremental build system with dynamic dependencies}, author = {Sebastian Erdweg and Moritz Lichter and Manuel Weiel}, year = {2015}, doi = {10.1145/2814270.2814316}, url = {http://doi.acm.org/10.1145/2814270.2814316}, researchr = {https://researchr.org/publication/ErdwegLW15}, cites = {0}, citedby = {1}, pages = {89-106}, booktitle = {OOPSLA}, } @inproceedings{EkmanH07, title = {The {JastAdd} extensible {Java} compiler}, author = {Torbjörn Ekman and Görel Hedin}, year = {2007}, doi = {10.1145/1297027.1297029}, url = {http://doi.acm.org/10.1145/1297027.1297029}, tags = {AspectJ, Java, application framework, architecture, analysis, language design, static analysis, type system, extensible compiler, type checking, compiler, JastAdd, design, extensible language}, researchr = {https://researchr.org/publication/EkmanH07}, cites = {0}, citedby = {3}, pages = {1-18}, booktitle = {OOPSLA}, } @misc{fowler2004inversion, title = {Inversion of control containers and the dependency injection pattern}, author = {Martin Fowler}, year = {2004}, month = {January}, researchr = {https://researchr.org/publication/fowler2004inversion}, cites = {0}, citedby = {0}, howpublished = {\url{http://martinfowler.com/articles/injection.html}}, } @inproceedings{GrossZZ89, title = {Parallel Compilation for a Parallel Machine}, author = {Thomas R. Gross and Angelika Zobel and Markus Zolg}, year = {1989}, researchr = {https://researchr.org/publication/GrossZZ89}, cites = {0}, citedby = {0}, pages = {91-100}, booktitle = {PLDI}, } @inproceedings{SchwartzDB84, title = {Incremental compilation in Magpie}, author = {Mayer D. Schwartz and Norman M. Delisle and Vimal S. Begwani}, year = {1984}, doi = {10.1145/502874.502887}, url = {http://doi.acm.org/10.1145/502874.502887}, tags = {incremental}, researchr = {https://researchr.org/publication/SchwartzDB84}, cites = {0}, citedby = {0}, pages = {122-131}, booktitle = {sigplan}, } @article{BackusH64, title = {Fortran}, author = {John Warner Backus and William P. Heising}, year = {1964}, doi = {10.1109/PGEC.1964.263818}, url = {http://dx.doi.org/10.1109/PGEC.1964.263818}, researchr = {https://researchr.org/publication/BackusH64}, cites = {0}, citedby = {0}, journal = {TC}, volume = {13}, number = {4}, pages = {382-385}, } @inproceedings{KieburtzBH78, title = {A Type-Checking Program Linkage System for Pascal}, author = {Richard B. Kieburtz and W. Barabash and C. R. Hill}, year = {1978}, tags = {type system, C++, type checking, Pascal}, researchr = {https://researchr.org/publication/KieburtzBH78}, cites = {0}, citedby = {0}, pages = {23-28}, booktitle = {ICSE}, } @inproceedings{ZengE05, title = {Separate Compilation for Synchronous Modules}, author = {Jia Zeng and Stephen A. Edwards}, year = {2005}, doi = {10.1007/11599555_15}, url = {http://dx.doi.org/10.1007/11599555_15}, researchr = {https://researchr.org/publication/ZengE05}, cites = {0}, citedby = {0}, pages = {129-140}, booktitle = {icess}, } @inproceedings{AnconaDDZ05, title = {Polymorphic bytecode: compositional compilation for Java-like languages}, author = {Davide Ancona and Ferruccio Damiani and Sophia Drossopoulou and Elena Zucca}, year = {2005}, doi = {10.1145/1040305.1040308}, url = {http://doi.acm.org/10.1145/1040305.1040308}, tags = {Java, composition}, researchr = {https://researchr.org/publication/AnconaDDZ05}, cites = {0}, citedby = {0}, pages = {26-37}, booktitle = {POPL}, } @inproceedings{OderskyZ2005, title = {Independently extensible solutions to the expression problem}, author = {Martin Odersky and M. Zenger}, year = {2005}, researchr = {https://researchr.org/publication/OderskyZ2005}, cites = {0}, citedby = {1}, booktitle = {Proceedings of the Twelth International Workshop on Foundations of Object-Oriented Languages (FOOL 12)}, } @inproceedings{Kiselyov10-0, title = {Typed Tagless Final Interpreters}, author = {Oleg Kiselyov}, year = {2010}, doi = {10.1007/978-3-642-32202-0_3}, url = {http://dx.doi.org/10.1007/978-3-642-32202-0_3}, researchr = {https://researchr.org/publication/Kiselyov10-0}, cites = {0}, citedby = {0}, pages = {130-174}, booktitle = {ssgip}, } @inproceedings{Chambers02, title = {Staged compilation}, author = {Craig Chambers}, year = {2002}, doi = {10.1145/503032.503045}, url = {http://doi.acm.org/10.1145/503032.503045}, tags = {compilation, staged compilation}, researchr = {https://researchr.org/publication/Chambers02}, cites = {0}, citedby = {0}, pages = {1-8}, booktitle = {PEPM}, } @inproceedings{PrivatD05:0, title = {Link-time static analysis for efficient separate compilation of object-oriented languages}, author = {Jean Privat and Roland Ducournau}, year = {2005}, doi = {10.1145/1108792.1108799}, url = {http://doi.acm.org/10.1145/1108792.1108799}, tags = {analysis, static analysis}, researchr = {https://researchr.org/publication/PrivatD05%3A0}, cites = {0}, citedby = {0}, pages = {20-27}, booktitle = {PASTE}, } @techreport{SoderbergH12, title = {Incremental Evaluation of Reference Attribute Grammars using Dynamic Dependency Tracking}, author = {Emma Söderberg and Görel Hedin}, year = {2012}, researchr = {https://researchr.org/publication/SoderbergH12}, cites = {0}, citedby = {0}, institution = {Department of Computer Science, Lund University}, number = {98}, } @inproceedings{RudmikM82, title = {An Efficient Separate Compilation Strategy for Very Large Programs}, author = {Andres Rudmik and Barbara G. Moore}, year = {1982}, doi = {10.1145/800230.807004}, url = {http://doi.acm.org/10.1145/800230.807004}, researchr = {https://researchr.org/publication/RudmikM82}, cites = {0}, citedby = {0}, pages = {301-307}, booktitle = {sigplan}, } @article{KaminskiKCW17, title = {Reliable and automatic composition of language extensions to C: the ableC extensible language framework}, author = {Ted Kaminski and Lucas Kramer and Travis Carlson and Eric {Van Wyk}}, year = {2017}, doi = {10.1145/3138224}, url = {http://doi.acm.org/10.1145/3138224}, researchr = {https://researchr.org/publication/KaminskiKCW17}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {1}, number = {OOPSLA}, } @inproceedings{ErdwegR13, title = {A framework for extensible languages}, author = {Sebastian Erdweg and Felix Rieger}, year = {2013}, doi = {10.1145/2517208.2517210}, url = {http://doi.acm.org/10.1145/2517208.2517210}, researchr = {https://researchr.org/publication/ErdwegR13}, cites = {0}, citedby = {0}, pages = {3-12}, booktitle = {GPCE}, } @inproceedings{SathyanathanHT17, title = {Incremental whole program optimization and compilation}, author = {Patrick W. Sathyanathan and Wenlei He and Ten H. Tzen}, year = {2017}, url = {http://dl.acm.org/citation.cfm?id=3049857}, researchr = {https://researchr.org/publication/SathyanathanHT17}, cites = {0}, citedby = {0}, pages = {221-232}, booktitle = {CGO}, } @inproceedings{WangO16-0, title = {The expression problem, trivially!}, author = {Yanlin Wang and Bruno C. D. S. Oliveira}, year = {2016}, doi = {10.1145/2889443.2889448}, url = {http://doi.acm.org/10.1145/2889443.2889448}, researchr = {https://researchr.org/publication/WangO16-0}, cites = {0}, citedby = {0}, pages = {37-41}, booktitle = {AOSD}, } @inproceedings{RyanCM66, title = {A conversational system for incremental compilation and execution in a time-sharing environment}, author = {James L. Ryan and Richard L. Crandall and Marion C. Medwedeff}, year = {1966}, doi = {10.1145/1464291.1464293}, url = {http://doi.acm.org/10.1145/1464291.1464293}, researchr = {https://researchr.org/publication/RyanCM66}, cites = {0}, citedby = {0}, pages = {1-21}, booktitle = {afips}, } @article{MokhovMJ18, title = {Build systems à la carte}, author = {Andrey Mokhov and Neil Mitchell and Simon L. Peyton Jones}, year = {2018}, month = {7}, doi = {10.1145/3236774}, url = {https://doi.org/10.1145/3236774}, researchr = {https://researchr.org/publication/MokhovMJ18}, cites = {0}, citedby = {0}, journal = {PACMPL}, volume = {2}, number = {ICFP}, } @article{BrandK07, title = {ATerms for manipulation and exchange of structured data: It's all about sharing}, author = {Mark G. J. van den Brand and Paul Klint}, year = {2007}, doi = {10.1016/j.infsof.2006.08.009}, url = {http://dx.doi.org/10.1016/j.infsof.2006.08.009}, tags = {data-flow}, researchr = {https://researchr.org/publication/BrandK07}, cites = {1}, citedby = {0}, journal = {INFSOF}, volume = {49}, number = {1}, pages = {55-64}, } @inproceedings{Leroy94, title = {Manifest Types, Modules, and Separate Compilation}, author = {Xavier Leroy}, year = {1994}, doi = {10.1145/174675.176926}, researchr = {https://researchr.org/publication/Leroy94}, cites = {0}, citedby = {0}, pages = {109-122}, booktitle = {POPL}, } @inproceedings{Torgersen04, title = {The Expression Problem Revisited}, author = {Mads Torgersen}, year = {2004}, doi = {10.1007/978-3-540-24851-4_6}, url = {https://doi.org/10.1007/978-3-540-24851-4_6}, tags = {expression problem}, researchr = {https://researchr.org/publication/Torgersen04}, cites = {0}, citedby = {0}, pages = {123-143}, booktitle = {ECOOP}, }