publications: - title: "Functional Nets" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2000" doi: "http://link.springer.de/link/service/series/0558/bibs/1782/17820001.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1782/17820001.htm" researchr: "https://researchr.org/publication/Odersky00%3A2" cites: 0 citedby: 0 pages: "1-25" booktitle: "ESOP" kind: "inproceedings" key: "Odersky00:2" - title: "Spiral in scala: towards the systematic construction of generators for performance libraries" author: - name: "Georg Ofenbeck" link: "https://researchr.org/alias/georg-ofenbeck" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Alen Stojanov" link: "https://researchr.org/alias/alen-stojanov" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Markus Püschel" link: "https://researchr.org/alias/markus-p%C3%BCschel" year: "2013" doi: "http://doi.acm.org/10.1145/2517208.2517228" links: doi: "http://doi.acm.org/10.1145/2517208.2517228" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/OfenbeckRSOP13" researchr: "https://researchr.org/publication/OfenbeckRSOP13" cites: 0 citedby: 0 pages: "125-134" booktitle: "GPCE" kind: "inproceedings" key: "OfenbeckRSOP13" - title: "Hardware system synthesis from Domain-Specific Languages" author: - name: "Nithin George" link: "https://researchr.org/alias/nithin-george" - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "David Novo" link: "https://researchr.org/alias/david-novo" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" - name: "Paolo Ienne" link: "https://researchr.org/alias/paolo-ienne" year: "2014" doi: "http://dx.doi.org/10.1109/FPL.2014.6927454" links: doi: "http://dx.doi.org/10.1109/FPL.2014.6927454" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/fpl/GeorgeLNRBSOOI14" researchr: "https://researchr.org/publication/GeorgeLNRBSOOI14" cites: 0 citedby: 0 pages: "1-8" booktitle: "fpl" kind: "inproceedings" key: "GeorgeLNRBSOOI14" - title: "A Generic Parallel Collection Framework" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Phil Bagwell" link: "https://researchr.org/alias/phil-bagwell" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-23397-5_14" links: doi: "http://dx.doi.org/10.1007/978-3-642-23397-5_14" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/europar/ProkopecBRO11" researchr: "https://researchr.org/publication/ProkopecBRO11" cites: 0 citedby: 0 pages: "136-147" booktitle: "europar" kind: "inproceedings" key: "ProkopecBRO11" - title: "Extensible Algebraic Datatypes with Defaults" author: - name: "Matthias Zenger" link: "https://researchr.org/alias/matthias-zenger" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2001" doi: "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.6778" links: doi: "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.6778" tags: - " algebra" researchr: "https://researchr.org/publication/ZengerO01" cites: 0 citedby: 0 pages: "241-252" booktitle: "ICFP" kind: "inproceedings" key: "ZengerO01" - title: "Spores: A Type-Based Foundation for Closures in the Age of Concurrency and Distribution" author: - name: "Heather Miller" link: "https://researchr.org/alias/heather-miller" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://dx.doi.org/10.1007/978-3-662-44202-9_13" links: doi: "http://dx.doi.org/10.1007/978-3-662-44202-9_13" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/MillerHO14" researchr: "https://researchr.org/publication/MillerHO14" cites: 0 citedby: 0 pages: "308-333" booktitle: "ECOOP" kind: "inproceedings" key: "MillerHO14" - title: "Programming with Variable Functions" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1998" doi: "http://doi.acm.org/10.1145/289423.289433" links: doi: "http://doi.acm.org/10.1145/289423.289433" tags: - "programming" researchr: "https://researchr.org/publication/Odersky98" cites: 0 citedby: 0 pages: "105-116" booktitle: "ICFP" kind: "inproceedings" key: "Odersky98" - title: "Forge: generating a high performance DSL implementation from a declarative specification" author: - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "Austin Gibbons" link: "https://researchr.org/alias/austin-gibbons" - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" year: "2013" doi: "http://doi.acm.org/10.1145/2517208.2517220" links: doi: "http://doi.acm.org/10.1145/2517208.2517220" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/SujeethGBLROO13" researchr: "https://researchr.org/publication/SujeethGBLROO13" cites: 0 citedby: 0 pages: "145-154" booktitle: "GPCE" kind: "inproceedings" key: "SujeethGBLROO13" - title: "Type classes as objects and implicits" author: - name: "Bruno C. d. S. Oliveira" link: "http://ropas.snu.ac.kr/~bruno/" - name: "Adriaan Moors" link: "http://www.google.com" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2010" doi: "http://doi.acm.org/10.1145/1869459.1869489" links: doi: "http://doi.acm.org/10.1145/1869459.1869489" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/OliveiraMO10" tags: - "meta-model" - "C++" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/OliveiraMO10" cites: 0 citedby: 0 pages: "341-360" booktitle: "OOPSLA" kind: "inproceedings" key: "OliveiraMO10" - title: "A Confluent Calculus for Concurrent Constraint Programming with Guarded Choice" author: - name: "Kim Marriott" link: "https://researchr.org/alias/kim-marriott" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1995" tags: - "constraints" - "programming" researchr: "https://researchr.org/publication/MarriottO95" cites: 0 citedby: 0 pages: "310-327" booktitle: "cp" kind: "inproceedings" key: "MarriottO95" - title: "Call-by-name, call-by-value, call-by-need and the linear lambda calculus" author: - name: "John Maraist" link: "https://researchr.org/alias/john-maraist" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "David N. Turner" link: "https://researchr.org/alias/david-n.-turner" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" year: "1995" doi: "http://www.elsevier.com/gej-ng/31/29/23/26/23/show/Products/notes/index.htt#023" links: doi: "http://www.elsevier.com/gej-ng/31/29/23/26/23/show/Products/notes/index.htt#023" researchr: "https://researchr.org/publication/MaraistOTW95" cites: 0 citedby: 0 journal: "ENTCS" volume: "1" pages: "370-392" kind: "article" key: "MaraistOTW95" - title: "Type Inference with Constrained Types" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Martin Sulzmann" link: "https://researchr.org/alias/martin-sulzmann" - name: "Martin Wehr" link: "https://researchr.org/alias/martin-wehr" year: "1999" abstract: "We present a general framework HM(X) for type systems with constraints. The framework stays in the tradition of the Hindley/Milner type system. Its type system instances are sound under a standard untyped compositional semantics. We can give a generic type inference algorithm for HM(X) so that, under sufficient conditions on X, type inference will always compute the principal type of a term. We discuss instances of the framework that deal with polymorphic records, equational theories, and subtypes." tags: - "type inference" researchr: "https://researchr.org/publication/OderskySW99" cites: 0 citedby: 0 journal: "tapos" volume: "5" number: "1" pages: "35-55" kind: "article" key: "OderskySW99" - title: "Isolates, channels, and event streams for composable distributed programming" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2015" doi: "http://doi.acm.org/10.1145/2814228.2814245" links: doi: "http://doi.acm.org/10.1145/2814228.2814245" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ProkopecO15" researchr: "https://researchr.org/publication/ProkopecO15" cites: 0 citedby: 0 pages: "171-182" booktitle: "OOPSLA" kind: "inproceedings" key: "ProkopecO15" - title: "Call-by-name, Call-by-value, Call-by-need and the Linear lambda Calculus" author: - name: "John Maraist" link: "https://researchr.org/alias/john-maraist" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "David N. Turner" link: "https://researchr.org/alias/david-n.-turner" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" year: "1999" doi: "http://dx.doi.org/10.1016/S0304-3975(98)00358-2" links: doi: "http://dx.doi.org/10.1016/S0304-3975(98)00358-2" researchr: "https://researchr.org/publication/MaraistOTW99" cites: 0 citedby: 0 journal: "TCS" volume: "228" number: "1-2" pages: "175-210" kind: "article" key: "MaraistOTW99" - title: "Programming with Functional Nets" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2000" tags: - "functional programming" - "programming" researchr: "https://researchr.org/publication/Odersky00" cites: 0 citedby: 0 pages: "173-202" booktitle: "BIRTHDAY" kind: "inproceedings" key: "Odersky00" - title: "Contracts for Scala" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-16612-9_5" links: doi: "http://dx.doi.org/10.1007/978-3-642-16612-9_5" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/rv/Odersky10" tags: - "Scala" - "contracts" researchr: "https://researchr.org/publication/Odersky10" cites: 0 citedby: 0 pages: "51-57" booktitle: "RV" kind: "inproceedings" key: "Odersky10" - title: "Two Ways to Bake Your Pizza - Translating Parameterised Types into Java" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Enno Runne" link: "https://researchr.org/alias/enno-runne" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" year: "1998" doi: "http://link.springer.de/link/service/series/0558/bibs/1766/17660114.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1766/17660114.htm" tags: - "Java" - "translation" researchr: "https://researchr.org/publication/OderskyRW98" cites: 0 citedby: 0 pages: "114-132" booktitle: "Dagstuhl" kind: "inproceedings" key: "OderskyRW98" - title: "Conc-Trees for Functional and Parallel Programming" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2015" doi: "http://dx.doi.org/10.1007/978-3-319-29778-1_16" links: doi: "http://dx.doi.org/10.1007/978-3-319-29778-1_16" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/lcpc/ProkopecO15" researchr: "https://researchr.org/publication/ProkopecO15-0" cites: 0 citedby: 0 pages: "254-268" booktitle: "lcpc" kind: "inproceedings" key: "ProkopecO15-0" - title: "Implementing Extensible Compilers" author: - name: "Matthias Zenger" link: "https://researchr.org/alias/matthias-zenger" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2001" doi: "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.6913" links: doi: "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.6913" tags: - "compiler" researchr: "https://researchr.org/publication/Zenger01implementingextensible" cites: 0 citedby: 0 kind: "article" key: "Zenger01implementingextensible" - title: "Pizza into Java: Translating Theory into Practice" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" year: "1997" doi: "http://doi.acm.org/10.1145/263699.263715" links: doi: "http://doi.acm.org/10.1145/263699.263715" tags: - "Java" - "translation" researchr: "https://researchr.org/publication/OderskyW97" cites: 0 citedby: 0 pages: "146-159" booktitle: "POPL" kind: "inproceedings" key: "OderskyW97" - title: "The Essence of Dependent Object Types" author: - name: " Nada Amin" link: "https://researchr.org/alias/nada-amin" - name: "Samuel Grütter" link: "https://researchr.org/alias/samuel-gr%C3%BCtter" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Sandro Stucki" link: "https://researchr.org/alias/sandro-stucki" year: "2016" doi: "http://dx.doi.org/10.1007/978-3-319-30936-1_14" links: doi: "http://dx.doi.org/10.1007/978-3-319-30936-1_14" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/birthday/AminGORS16" researchr: "https://researchr.org/publication/AminGORS16" cites: 0 citedby: 0 pages: "249-272" booktitle: "BIRTHDAY" kind: "inproceedings" key: "AminGORS16" - title: "Observers for Linear Types" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1992" researchr: "https://researchr.org/publication/Odersky92" cites: 0 citedby: 0 pages: "390-407" booktitle: "ESOP" kind: "inproceedings" key: "Odersky92" - title: "Making the Future Safe for the Past: Adding Genericity to the Java Programming Language" author: - name: "Gilad Bracha" link: "https://researchr.org/alias/gilad-bracha" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "David Stoutamire" link: "https://researchr.org/alias/david-stoutamire" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" year: "1998" doi: "http://doi.acm.org/10.1145/286936.286957" links: doi: "http://doi.acm.org/10.1145/286936.286957" tags: - "programming languages" - "Java" - "generic programming" - "programming" researchr: "https://researchr.org/publication/BrachaOSW98" cites: 0 citedby: 0 pages: "183-200" booktitle: "OOPSLA" kind: "inproceedings" key: "BrachaOSW98" - title: "The evolution of Scala: PLE'14 keynote" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://doi.acm.org/10.1145/2717124.2717126" links: doi: "http://doi.acm.org/10.1145/2717124.2717126" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/Odersky14" researchr: "https://researchr.org/publication/Odersky14" cites: 0 citedby: 0 pages: "4" booktitle: "ECOOP" kind: "inproceedings" key: "Odersky14" - title: "Language virtualization for heterogeneous parallel computing" author: - name: "Hassan Chafi" link: "https://researchr.org/alias/hassan-chafi" - name: "Zach DeVito" link: "https://researchr.org/alias/zach-devito" - name: "Adriaan Moors" link: "http://www.google.com" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "Pat Hanrahan" link: "https://researchr.org/alias/pat-hanrahan" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" year: "2010" doi: "http://doi.acm.org/10.1145/1869459.1869527" links: doi: "http://doi.acm.org/10.1145/1869459.1869527" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ChafiDMRSHOO10" researchr: "https://researchr.org/publication/ChafiDMRSHOO10" cites: 0 citedby: 0 pages: "835-847" booktitle: "OOPSLA" kind: "inproceedings" key: "ChafiDMRSHOO10" - title: "Near Optimal Work-Stealing Tree Scheduler for Highly Irregular Data-Parallel Workloads" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2013" doi: "http://dx.doi.org/10.1007/978-3-319-09967-5_4" links: doi: "http://dx.doi.org/10.1007/978-3-319-09967-5_4" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/lcpc/ProkopecO13" researchr: "https://researchr.org/publication/ProkopecO13" cites: 0 citedby: 0 pages: "55-86" booktitle: "lcpc" kind: "inproceedings" key: "ProkopecO13" - title: "Type Classes are Signatures of Abstract Types" author: - name: "Konstantin Läufer" link: "https://researchr.org/alias/konstantin-l%C3%A4ufer" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1991" researchr: "https://researchr.org/publication/LauferO91" cites: 0 citedby: 0 pages: "148-162" booktitle: "phoenix" kind: "inproceedings" key: "LauferO91" - title: "Negative Boolean Constraints" author: - name: "Kim Marriott" link: "https://researchr.org/alias/kim-marriott" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1996" doi: "http://dx.doi.org/10.1016/0304-3975(95)00209-X" links: doi: "http://dx.doi.org/10.1016/0304-3975(95)00209-X" tags: - "constraints" researchr: "https://researchr.org/publication/MarriottO96" cites: 0 citedby: 0 journal: "TCS" volume: "160" number: "1&2" pages: "365-380" kind: "article" key: "MarriottO96" - title: "OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning" author: - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Hassan Chafi" link: "https://researchr.org/alias/hassan-chafi" - name: "Michael Wu" link: "https://researchr.org/alias/michael-wu" - name: "Anand R. Atreya" link: "https://researchr.org/alias/anand-r.-atreya" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" year: "2011" links: dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icml/SujeethLBRCWAOO11" researchr: "https://researchr.org/publication/SujeethLBRCWAOO11" cites: 0 citedby: 0 pages: "609-616" booktitle: "icml" kind: "inproceedings" key: "SujeethLBRCWAOO11" - title: "Tail call elimination on the Java Virtual Machine" author: - name: "Michel Schinz" link: "https://researchr.org/alias/michel-schinz" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2001" doi: "http://www.elsevier.nl/locate/entcs/volume59.html" links: doi: "http://www.elsevier.nl/locate/entcs/volume59.html" tags: - "Java" researchr: "https://researchr.org/publication/SchinzO01" cites: 0 citedby: 0 journal: "TCS" volume: "59" number: "1" pages: "158-171" kind: "article" key: "SchinzO01" - title: "Late data layout: unifying data representation transformations" author: - name: "Vlad Ureche" link: "https://researchr.org/alias/vlad-ureche" - name: "Eugene Burmako" link: "https://researchr.org/alias/eugene-burmako" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://doi.acm.org/10.1145/2660193.2660197" links: doi: "http://doi.acm.org/10.1145/2660193.2660197" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/UrecheBO14" researchr: "https://researchr.org/publication/UrecheBO14" cites: 0 citedby: 0 pages: "397-416" booktitle: "OOPSLA" kind: "inproceedings" key: "UrecheBO14" - title: "Concurrent tries with efficient non-blocking snapshots" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Nathan Grasso Bronson" link: "https://researchr.org/alias/nathan-grasso-bronson" - name: "Phil Bagwell" link: "https://researchr.org/alias/phil-bagwell" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2012" doi: "http://doi.acm.org/10.1145/2145816.2145836" links: doi: "http://doi.acm.org/10.1145/2145816.2145836" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ppopp/ProkopecBBO12" researchr: "https://researchr.org/publication/ProkopecBBO12" cites: 0 citedby: 0 pages: "151-160" booktitle: "ppopp" kind: "inproceedings" key: "ProkopecBBO12" - title: "Putting Type Annotations to Work" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Konstantin Läufer" link: "https://researchr.org/alias/konstantin-l%C3%A4ufer" year: "1996" doi: "http://doi.acm.org/10.1145/237721.237729" abstract: "We study an extension of the Hindley/Milner system with explicit type scheme annotations and type declarations. The system can express polymorphic function arguments, user-defined data types with abstract components, and structure types with polymorphic fields. More generally, all programs of the polymorphic lambda calculus can be encoded by a translation between typing derivations. We show that type reconstruction in this system can be reduced to the decidable problem of first-order unification under a mixed prefix." links: doi: "http://doi.acm.org/10.1145/237721.237729" tags: - "translation" - "type system" - "data-flow programming" - "data-flow" researchr: "https://researchr.org/publication/OderskyL96" cites: 0 citedby: 0 pages: "54-67" booktitle: "POPL" kind: "inproceedings" key: "OderskyL96" - title: "Capabilities for Uniqueness and Borrowing" author: - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-14107-2_17" links: doi: "http://dx.doi.org/10.1007/978-3-642-14107-2_17" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/HallerO10" researchr: "https://researchr.org/publication/HallerO10" cites: 0 citedby: 0 pages: "354-378" booktitle: "ECOOP" kind: "inproceedings" key: "HallerO10" - title: "Functional programming for all! scaling a MOOC for students and professionals alike" author: - name: "Heather Miller" link: "https://researchr.org/alias/heather-miller" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Lukas Rytz" link: "https://researchr.org/alias/lukas-rytz" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://doi.acm.org/10.1145/2591062.2591161" links: doi: "http://doi.acm.org/10.1145/2591062.2591161" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/MillerHRO14" researchr: "https://researchr.org/publication/MillerHRO14" cites: 0 citedby: 0 pages: "256-263" booktitle: "ICSE" kind: "inproceedings" key: "MillerHRO14" - title: "Instant pickles: generating object-oriented pickler combinators for fast and extensible serialization" author: - name: "Heather Miller" link: "https://researchr.org/alias/heather-miller" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Eugene Burmako" link: "https://researchr.org/alias/eugene-burmako" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2013" doi: "http://doi.acm.org/10.1145/2509136.2509547" links: doi: "http://doi.acm.org/10.1145/2509136.2509547" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/MillerHBO13" researchr: "https://researchr.org/publication/MillerHBO13" cites: 0 citedby: 0 pages: "183-202" booktitle: "OOPSLA" kind: "inproceedings" key: "MillerHBO13" - title: "Scalable Programming Abstractions for XML Services" author: - name: "Burak Emir" link: "https://researchr.org/alias/burak-emir" - name: "Sebastian Maneth" link: "https://researchr.org/alias/sebastian-maneth" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2006" doi: "http://dx.doi.org/10.1007/11808107_5" links: doi: "http://dx.doi.org/10.1007/11808107_5" tags: - "Scala" - "XML" - "XML Schema" - "programming" - "abstraction" researchr: "https://researchr.org/publication/EmirMO06" cites: 0 citedby: 0 pages: "103-126" booktitle: "dics" kind: "inproceedings" key: "EmirMO06" - title: "The Call-by-Need Lambda Calculus" author: - name: "Zena M. Ariola" link: "https://researchr.org/alias/zena-m.-ariola" - name: "Matthias Felleisen" link: "http://www.ccs.neu.edu/home/matthias/" - name: "John Maraist" link: "https://researchr.org/alias/john-maraist" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" year: "1995" researchr: "https://researchr.org/publication/AriolaFMOW95" cites: 0 citedby: 0 pages: "233-246" booktitle: "POPL" kind: "inproceedings" key: "AriolaFMOW95" - title: "A Type System for a Lambda Calculus with Assignments" author: - name: "Kung Chen" link: "https://researchr.org/alias/kung-chen" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1994" tags: - "type system" researchr: "https://researchr.org/publication/ChenO94" cites: 0 citedby: 0 pages: "347-364" booktitle: "tacs" kind: "inproceedings" key: "ChenO94" - title: "Making domain-specific hardware synthesis tools cost-efficient" author: - name: "Nithin George" link: "https://researchr.org/alias/nithin-george" - name: "David Novo" link: "https://researchr.org/alias/david-novo" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Paolo Ienne" link: "https://researchr.org/alias/paolo-ienne" year: "2013" doi: "http://dx.doi.org/10.1109/FPT.2013.6718341" links: doi: "http://dx.doi.org/10.1109/FPT.2013.6718341" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/fpt/GeorgeNROI13" researchr: "https://researchr.org/publication/GeorgeNROI13" cites: 0 citedby: 0 pages: "120-127" booktitle: "fpt" kind: "inproceedings" key: "GeorgeNROI13" - title: "An Introduction to Functional Nets" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2000" doi: "http://link.springer.de/link/service/series/0558/bibs/2395/23950333.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2395/23950333.htm" researchr: "https://researchr.org/publication/Odersky00%3A0" cites: 0 citedby: 0 pages: "333-377" booktitle: "ac" kind: "inproceedings" key: "Odersky00:0" - title: "PiLib: A Hosted Language for Pi-Calculus Style Concurrency" author: - name: "Vincent Cremet" link: "https://researchr.org/alias/vincent-cremet" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2003" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3016&spage=180" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3016&spage=180" researchr: "https://researchr.org/publication/CremetO03" cites: 0 citedby: 0 pages: "180-195" booktitle: "Dagstuhl" kind: "inproceedings" key: "CremetO03" - title: "Lock-Free Resizeable Concurrent Tries" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Phil Bagwell" link: "https://researchr.org/alias/phil-bagwell" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-36036-7_11" links: doi: "http://dx.doi.org/10.1007/978-3-642-36036-7_11" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/lcpc/ProkopecBO11" researchr: "https://researchr.org/publication/ProkopecBO11" cites: 0 citedby: 0 pages: "156-170" booktitle: "lcpc" kind: "inproceedings" key: "ProkopecBO11" - title: "Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages" author: - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Hassan Chafi" link: "https://researchr.org/alias/hassan-chafi" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" year: "2014" doi: "http://doi.acm.org/10.1145/2584665" links: doi: "http://doi.acm.org/10.1145/2584665" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/tecs/SujeethBLRCOO14" researchr: "https://researchr.org/publication/SujeethBLRCOO14" cites: 0 citedby: 0 journal: "tecs" volume: "13" number: "4s" kind: "article" key: "SujeethBLRCOO14" - title: "Composition and Reuse with Compiled Domain-Specific Languages" author: - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "Hassan Chafi" link: "https://researchr.org/alias/hassan-chafi" - name: "Victoria Popic" link: "https://researchr.org/alias/victoria-popic" - name: "Michael Wu" link: "https://researchr.org/alias/michael-wu" - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Vojin Jovanovic" link: "https://researchr.org/alias/vojin-jovanovic" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" year: "2013" doi: "http://dx.doi.org/10.1007/978-3-642-39038-8_3" links: doi: "http://dx.doi.org/10.1007/978-3-642-39038-8_3" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/SujeethRBLCPWPJOO13" researchr: "https://researchr.org/publication/SujeethRBLCPWPJOO13" cites: 0 citedby: 0 pages: "52-78" booktitle: "ECOOP" kind: "inproceedings" key: "SujeethRBLCPWPJOO13" - title: "Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs" author: - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2012" doi: "http://doi.acm.org/10.1145/2184319.2184345" links: doi: "http://doi.acm.org/10.1145/2184319.2184345" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/cacm/RompfO12" researchr: "https://researchr.org/publication/RompfO12" cites: 0 citedby: 0 journal: "CACM" volume: "55" number: "6" pages: "121-130" kind: "article" key: "RompfO12" - title: "Future-Proofing Collections: From Mutable to Persistent to Parallel" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-19861-8_1" links: doi: "http://dx.doi.org/10.1007/978-3-642-19861-8_1" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/cc/Odersky11" tags: - "persistent" researchr: "https://researchr.org/publication/Odersky11" cites: 0 citedby: 0 pages: "1" booktitle: "CC" kind: "inproceedings" key: "Odersky11" - title: "Parametric Type Classes" author: - name: "Kung Chen" link: "https://researchr.org/alias/kung-chen" - name: "Paul Hudak" link: "https://researchr.org/alias/paul-hudak" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1992" doi: "http://doi.acm.org/10.1145/141471.141536" links: doi: "http://doi.acm.org/10.1145/141471.141536" researchr: "https://researchr.org/publication/ChenHO92" cites: 0 citedby: 0 pages: "170-181" booktitle: "lfp" kind: "inproceedings" key: "ChenHO92" - title: "How to Make Destructive Updates Less Destructive" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1991" researchr: "https://researchr.org/publication/Odersky91" cites: 0 citedby: 0 pages: "25-36" booktitle: "POPL" kind: "inproceedings" key: "Odersky91" - title: "Scala Roles - A Lightweight Approach Towards Reusable Collaborations" author: - name: "Michael Pradel" link: "https://researchr.org/alias/michael-pradel" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2008" tags: - "Scala" - "reuse" - "systematic-approach" researchr: "https://researchr.org/publication/PradelO08" cites: 0 citedby: 0 pages: "13-20" booktitle: "ICSOFT" kind: "inproceedings" key: "PradelO08" - title: "Scala-virtualized" author: - name: "Adriaan Moors" link: "http://www.google.com" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2012" doi: "http://doi.acm.org/10.1145/2103746.2103769" links: doi: "http://doi.acm.org/10.1145/2103746.2103769" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/pepm/MoorsRHO12" researchr: "https://researchr.org/publication/MoorsRHO12" cites: 0 citedby: 0 pages: "117-120" booktitle: "PEPM" kind: "inproceedings" key: "MoorsRHO12" - title: "Scala Actors: Unifying thread-based and event-based programming" author: - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2009" doi: "http://dx.doi.org/10.1016/j.tcs.2008.09.019" links: doi: "http://dx.doi.org/10.1016/j.tcs.2008.09.019" tags: - "rule-based" - "Scala" - "programming" researchr: "https://researchr.org/publication/HallerO09" cites: 0 citedby: 0 journal: "TCS" volume: "410" number: "2-3" pages: "202-220" kind: "article" key: "HallerO09" - title: "Constraint-Based Query Optimization for Spatial Databases" author: - name: "Richard Helm" link: "https://researchr.org/alias/richard-helm" - name: "Kim Marriott" link: "https://researchr.org/alias/kim-marriott" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1991" doi: "http://doi.acm.org/10.1145/113413.113429" links: doi: "http://doi.acm.org/10.1145/113413.113429" tags: - "optimization" - "rule-based" - "constraints" researchr: "https://researchr.org/publication/HelmMO91" cites: 0 citedby: 0 pages: "181-191" booktitle: "PODS" kind: "inproceedings" key: "HelmMO91" - title: "Implementing first-class polymorphic delimited continuations by a type-directed selective CPS-transform" author: - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Ingo Maier" link: "https://researchr.org/alias/ingo-maier" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2009" doi: "http://doi.acm.org/10.1145/1596550.1596596" links: doi: "http://doi.acm.org/10.1145/1596550.1596596" researchr: "https://researchr.org/publication/RompfMO09" cites: 0 citedby: 0 pages: "317-328" booktitle: "ICFP" kind: "inproceedings" key: "RompfMO09" - title: "A Second Look at Overloading" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" - name: "Martin Wehr" link: "https://researchr.org/alias/martin-wehr" year: "1995" researchr: "https://researchr.org/publication/OderskyWW95" cites: 0 citedby: 0 pages: "135-146" booktitle: "fpca" kind: "inproceedings" key: "OderskyWW95" - title: "Foundations of path-dependent types" author: - name: " Nada Amin" link: "https://researchr.org/alias/nada-amin" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://doi.acm.org/10.1145/2660193.2660216" links: doi: "http://doi.acm.org/10.1145/2660193.2660216" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/AminRO14" researchr: "https://researchr.org/publication/AminRO14" cites: 0 citedby: 0 pages: "233-249" booktitle: "OOPSLA" kind: "inproceedings" key: "AminRO14" - title: "Unifying functional and object-oriented programming with Scala" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" year: "2014" doi: "http://doi.acm.org/10.1145/2591013" links: doi: "http://doi.acm.org/10.1145/2591013" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/cacm/OderskyR14" researchr: "https://researchr.org/publication/OderskyR14" cites: 0 citedby: 0 journal: "CACM" volume: "57" number: "4" pages: "76-86" kind: "article" key: "OderskyR14" - title: "The Scala Experiment - Can We Provide Better Language Support for Component Systems?" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3302&spage=364" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3302&spage=364" tags: - "Scala" researchr: "https://researchr.org/publication/Odersky04" cites: 0 citedby: 0 pages: "364" booktitle: "aplas" kind: "inproceedings" key: "Odersky04" - title: "Challenges in Type Systems Research" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1997" tags: - "type system" researchr: "https://researchr.org/publication/Odersky97" cites: 0 citedby: 0 journal: "SIGPLAN" volume: "32" number: "1" pages: "92-93" kind: "article" key: "Odersky97" - title: "A Functional Theory of Local Names" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1994" researchr: "https://researchr.org/publication/Odersky94" cites: 0 citedby: 0 pages: "48-59" booktitle: "POPL" kind: "inproceedings" key: "Odersky94" - title: "Call by Name, Assignment, and the Lambda Calculus" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Dan Rabin" link: "https://researchr.org/alias/dan-rabin" - name: "Paul Hudak" link: "https://researchr.org/alias/paul-hudak" year: "1993" researchr: "https://researchr.org/publication/OderskyRH93" cites: 0 citedby: 0 pages: "43-56" booktitle: "POPL" kind: "inproceedings" key: "OderskyRH93" - title: "An Equational Theory for Transactions" author: - name: "Andrew P. Black" link: "https://researchr.org/alias/andrew-p.-black" - name: "Vincent Cremet" link: "https://researchr.org/alias/vincent-cremet" - name: "Rachid Guerraoui" link: "https://researchr.org/alias/rachid-guerraoui" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2003" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2914&spage=38" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2914&spage=38" researchr: "https://researchr.org/publication/BlackCGO03" cites: 0 citedby: 0 pages: "38-49" booktitle: "fsttcs" kind: "inproceedings" key: "BlackCGO03" - title: "A flow-insensitive, modular effect system for purity" author: - name: "Lukas Rytz" link: "https://researchr.org/alias/lukas-rytz" - name: " Nada Amin" link: "https://researchr.org/alias/nada-amin" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2013" doi: "http://doi.acm.org/10.1145/2489804.2489808" links: doi: "http://doi.acm.org/10.1145/2489804.2489808" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/RytzAO13" researchr: "https://researchr.org/publication/RytzAO13" cites: 0 citedby: 0 booktitle: "ECOOP" kind: "inproceedings" key: "RytzAO13" - title: "StagedSAC: a case study in performance-oriented DSL development" author: - name: "Vlad Ureche" link: "https://researchr.org/alias/vlad-ureche" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "Hassan Chafi" link: "https://researchr.org/alias/hassan-chafi" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2012" doi: "http://doi.acm.org/10.1145/2103746.2103762" links: doi: "http://doi.acm.org/10.1145/2103746.2103762" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/pepm/UrecheRSCO12" researchr: "https://researchr.org/publication/UrecheRSCO12" cites: 0 citedby: 0 pages: "73-82" booktitle: "PEPM" kind: "inproceedings" key: "UrecheRSCO12" - title: "Translation Correctness for First-Order Object-Oriented Pattern Matching" author: - name: "Burak Emir" link: "https://researchr.org/alias/burak-emir" - name: "Qin Ma" link: "https://researchr.org/alias/qin-ma" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-76637-7_5" links: doi: "http://dx.doi.org/10.1007/978-3-540-76637-7_5" tags: - "Scala" - "translation" - "pattern matching" researchr: "https://researchr.org/publication/EmirMO07" cites: 0 citedby: 0 pages: "54-70" booktitle: "aplas" kind: "inproceedings" key: "EmirMO07" - title: "ScalaDyno: making name resolution and type checking fault-tolerant" author: - name: "Cédric Bastin" link: "https://researchr.org/alias/c%C3%A9dric-bastin" - name: "Vlad Ureche" link: "https://researchr.org/alias/vlad-ureche" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://doi.acm.org/10.1145/2637647.2637649" links: doi: "http://doi.acm.org/10.1145/2637647.2637649" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/BastinUO14" researchr: "https://researchr.org/publication/BastinUO14" cites: 0 citedby: 0 pages: "1-5" booktitle: "ECOOP" kind: "inproceedings" key: "BastinUO14" - title: "Guest editorial" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Benjamin C. Pierce" link: "http://www.cis.upenn.edu/~bcpierce/" year: "2004" doi: "http://doi.acm.org/10.1145/1018203.1018204" links: doi: "http://doi.acm.org/10.1145/1018203.1018204" tags: - "C++" researchr: "https://researchr.org/publication/OderskyP04" cites: 0 citedby: 0 journal: "TOPLAS" volume: "26" number: "5" pages: "767-768" kind: "article" key: "OderskyP04" - title: "Challenges in Type Systems Research" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1996" tags: - "type system" researchr: "https://researchr.org/publication/Odersky96" cites: 0 citedby: 0 journal: "ACM Comput. Surv." volume: "28" number: "4es" pages: "169" kind: "article" key: "Odersky96" - title: "Optimizing Data Structures in High-Level Programs" author: - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: " Nada Amin" link: "https://researchr.org/alias/nada-amin" - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "Vojin Jovanovic" link: "https://researchr.org/alias/vojin-jovanovic" - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "Manohar Jonnalagedda" link: "https://researchr.org/alias/manohar-jonnalagedda" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2013" month: "January" abstract: "High level data structures are a cornerstone of modern programming and at the same time stand in the way of compiler optimizations. In order to reason about user or library-defined data structures, compilers need to be extensible. Common mechanisms to extend compilers fall into two categories. Frontend macros, staging or partial evaluation systems can be used to programmatically remove abstraction and specialize programs before they enter the compiler. Alternatively, some compilers allow extending the internal workings by adding new transformation passes at different points in the compile chain or adding new intermediate representation (IR) types. None of these mechanisms alone is sufficient to handle the challenges posed by high level data structures. This paper shows a novel way to combine them to yield benefits that are greater than the sum of the parts. Instead of using staging merely as a front end, we implement internal compiler passes using staging as well. These internal passes delegate back to program execution to construct the transformed IR. Staging is known to simplify program generation, and in the same way it can simplify program transformation. Defining a transformation as a staged IR interpreter is simpler than implementing a low-level IR to IR transformer. With custom IR nodes, many optimizations that are expressed as rewritings from IR nodes to staged program fragments can be combined into a single pass, mitigating phase ordering problems. Speculative rewriting can preserve optimistic assumptions around loops. We demonstrate several powerful program optimizations using this architecture that are particularly geared towards data structures: a novel loop fusion and deforestation algorithm, array of struct to struct of array conversion, object flattening and code generation for heterogeneous parallel devices. We validate our approach using several non trivial case studies that exhibit order of magnitude speedups in experiments." tags: - "data validation" - "optimization" - "object-oriented programming" - "intermediate representation" - "case study" - "graph transformation" - "interpreter" - "parallel programming" - "type system" - "macros" - "data-flow programming" - "graph-rewriting" - "code generation" - "transformation system" - "compiler" - "partial evaluation" - "subject-oriented programming" - "abstraction" - "program optimization" - "higher-order transformations" - "rewriting" - "systematic-approach" - "feature-oriented programming" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/Rompf2013" cites: 0 citedby: 0 booktitle: "POPL 2013" kind: "inproceedings" key: "Rompf2013" - title: "A Nominal Theory of Objects with Dependent Types" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Vincent Cremet" link: "https://researchr.org/alias/vincent-cremet" - name: "Christine Röckl" link: "https://researchr.org/alias/christine-r%C3%B6ckl" - name: "Matthias Zenger" link: "https://researchr.org/alias/matthias-zenger" year: "2003" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2743&spage=201" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2743&spage=201" tags: - "meta-model" - "type theory" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/OderskyCRZ03" cites: 0 citedby: 0 pages: "201-224" booktitle: "ECOOP" kind: "inproceedings" key: "OderskyCRZ03" - title: "Named and default arguments for polymorphic object-oriented languages: a discussion on the design implemented in the Scala language" author: - name: "Lukas Rytz" link: "https://researchr.org/alias/lukas-rytz" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2010" doi: "http://doi.acm.org/10.1145/1774088.1774529" links: doi: "http://doi.acm.org/10.1145/1774088.1774529" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sac/RytzO10" tags: - "Scala" - "language design" - "design" researchr: "https://researchr.org/publication/RytzO10" cites: 0 citedby: 0 pages: "2090-2095" booktitle: "SAC" kind: "inproceedings" key: "RytzO10" - title: "Implementing Domain-Specific Languages for Heterogeneous Parallel Computing" author: - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "Hassan Chafi" link: "https://researchr.org/alias/hassan-chafi" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" year: "2011" doi: "http://doi.ieeecomputersociety.org/10.1109/MM.2011.68" links: doi: "http://doi.ieeecomputersociety.org/10.1109/MM.2011.68" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/micro/LeeBSCROO11" researchr: "https://researchr.org/publication/LeeBSCROO11" cites: 0 citedby: 0 journal: "micro" volume: "31" number: "5" pages: "42-53" kind: "article" key: "LeeBSCROO11" - title: "Building visual language parsers" author: - name: "Richard Helm" link: "https://researchr.org/alias/richard-helm" - name: "Kim Marruitt" link: "https://researchr.org/alias/kim-marruitt" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1991" doi: "http://doi.acm.org/10.1145/108844.108860" links: doi: "http://doi.acm.org/10.1145/108844.108860" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/chi/HelmMO91" tags: - "parsing" researchr: "https://researchr.org/publication/HelmMO91-0" cites: 0 citedby: 0 pages: "105-112" booktitle: "CHI" kind: "inproceedings" key: "HelmMO91-0" - title: "Optimizing data structures in high-level programs: new directions for extensible compilers based on staging" author: - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: " Nada Amin" link: "https://researchr.org/alias/nada-amin" - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "Vojin Jovanovic" link: "https://researchr.org/alias/vojin-jovanovic" - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "Manohar Jonnalagedda" link: "https://researchr.org/alias/manohar-jonnalagedda" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2013" doi: "http://doi.acm.org/10.1145/2429069.2429128" links: doi: "http://doi.acm.org/10.1145/2429069.2429128" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/popl/RompfSABJLJOO13" researchr: "https://researchr.org/publication/RompfSABJLJOO13" cites: 0 citedby: 0 pages: "497-510" booktitle: "POPL" kind: "inproceedings" key: "RompfSABJLJOO13" - title: "Improving the Interoperation between Generics Translations" author: - name: "Vlad Ureche" link: "https://researchr.org/alias/vlad-ureche" - name: "Milos Stojanovic" link: "https://researchr.org/alias/milos-stojanovic" - name: "Romain Beguet" link: "https://researchr.org/alias/romain-beguet" - name: "Nicolas Stucki" link: "https://researchr.org/alias/nicolas-stucki" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2015" doi: "http://doi.acm.org/10.1145/2807426.2807436" links: doi: "http://doi.acm.org/10.1145/2807426.2807436" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/pppj/UrecheSBSO15" researchr: "https://researchr.org/publication/UrecheSBSO15" cites: 0 citedby: 0 pages: "113-124" booktitle: "PPPJ" kind: "inproceedings" key: "UrecheSBSO15" - title: "The Scala experiment: can we provide better language support for component systems?" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2006" doi: "http://doi.acm.org/10.1145/1111037.1111052" links: doi: "http://doi.acm.org/10.1145/1111037.1111052" tags: - "Scala" researchr: "https://researchr.org/publication/Odersky06" cites: 0 citedby: 0 pages: "166-167" booktitle: "POPL" kind: "inproceedings" key: "Odersky06" - title: "Lightweight Polymorphic Effects" author: - name: "Lukas Rytz" link: "https://researchr.org/alias/lukas-rytz" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-31057-7_13" links: doi: "http://dx.doi.org/10.1007/978-3-642-31057-7_13" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/RytzOH12" researchr: "https://researchr.org/publication/RytzOH12" cites: 0 citedby: 0 pages: "258-282" booktitle: "ECOOP" kind: "inproceedings" key: "RytzOH12" - title: "Yin-yang: concealing the deep embedding of DSLs" author: - name: "Vojin Jovanovic" link: "https://researchr.org/alias/vojin-jovanovic" - name: "Amir Shaikhha" link: "https://researchr.org/alias/amir-shaikhha" - name: "Sandro Stucki" link: "https://researchr.org/alias/sandro-stucki" - name: "Vladimir Nikolaev" link: "https://researchr.org/alias/vladimir-nikolaev" - name: "Christoph Koch" link: "https://researchr.org/alias/christoph-koch" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://doi.acm.org/10.1145/2658761.2658771" links: doi: "http://doi.acm.org/10.1145/2658761.2658771" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/JovanovicSSNKO14" researchr: "https://researchr.org/publication/JovanovicSSNKO14" cites: 0 citedby: 0 pages: "73-82" booktitle: "GPCE" kind: "inproceedings" key: "JovanovicSSNKO14" - title: "When Compilers Are Mirrors" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-31057-7_1" links: doi: "http://dx.doi.org/10.1007/978-3-642-31057-7_1" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/Odersky12" researchr: "https://researchr.org/publication/Odersky12" cites: 0 citedby: 0 pages: "1" booktitle: "ECOOP" kind: "inproceedings" key: "Odersky12" - title: "Scalable component abstractions" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Matthias Zenger" link: "https://researchr.org/alias/matthias-zenger" year: "2005" doi: "http://doi.acm.org/10.1145/1094811.1094815" links: doi: "http://doi.acm.org/10.1145/1094811.1094815" tags: - "Scala" - "abstraction" researchr: "https://researchr.org/publication/OderskyZ05" cites: 0 citedby: 0 pages: "41-57" booktitle: "OOPSLA" kind: "inproceedings" key: "OderskyZ05" - title: "Generics of a higher kind" author: - name: "Adriaan Moors" link: "http://www.google.com" - name: "Frank Piessens" link: "https://researchr.org/alias/frank-piessens" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2008" doi: "http://doi.acm.org/10.1145/1449764.1449798" links: doi: "http://doi.acm.org/10.1145/1449764.1449798" tags: - "Scala" researchr: "https://researchr.org/publication/MoorsPO08" cites: 0 citedby: 0 pages: "423-438" booktitle: "OOPSLA" kind: "inproceedings" key: "MoorsPO08" - title: "Polarized Name Passing" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1995" researchr: "https://researchr.org/publication/Odersky95" cites: 0 citedby: 0 pages: "324-337" booktitle: "fsttcs" kind: "inproceedings" key: "Odersky95" - title: "Containers and aggregates, mutators and isolates for reactive programming" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://doi.acm.org/10.1145/2637647.2637656" links: doi: "http://doi.acm.org/10.1145/2637647.2637656" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/ProkopecHO14" researchr: "https://researchr.org/publication/ProkopecHO14" cites: 0 citedby: 0 pages: "51-61" booktitle: "ECOOP" kind: "inproceedings" key: "ProkopecHO14" - title: "FlowPools: A Lock-Free Deterministic Concurrent Dataflow Abstraction" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Heather Miller" link: "https://researchr.org/alias/heather-miller" - name: "Tobias Schlatter" link: "https://researchr.org/alias/tobias-schlatter" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-37658-0_11" links: doi: "http://dx.doi.org/10.1007/978-3-642-37658-0_11" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/lcpc/ProkopecMSHO12" researchr: "https://researchr.org/publication/ProkopecMSHO12" cites: 0 citedby: 0 pages: "158-173" booktitle: "lcpc" kind: "inproceedings" key: "ProkopecMSHO12" - title: "Event-Based Programming Without Inversion of Control" author: - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2006" doi: "http://dx.doi.org/10.1007/11860990_2" links: doi: "http://dx.doi.org/10.1007/11860990_2" tags: - "rule-based" - "programming" researchr: "https://researchr.org/publication/HallerO06" cites: 0 citedby: 0 pages: "4-22" booktitle: "jmlc" kind: "inproceedings" key: "HallerO06" - title: "Objects + Views = Components?" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2000" doi: "http://link.springer.de/link/service/series/0558/bibs/1912/19120050.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1912/19120050.htm" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/Odersky00%3A1" cites: 0 citedby: 0 pages: "50-68" booktitle: "asmta" kind: "inproceedings" key: "Odersky00:1" - title: "Polymorphic Type Inference and Abstract Data Types" author: - name: "Konstantin Läufer" link: "https://researchr.org/alias/konstantin-l%C3%A4ufer" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1994" doi: "http://doi.acm.org/10.1145/186025.186031" links: doi: "http://doi.acm.org/10.1145/186025.186031" tags: - "type inference" - "data-flow" researchr: "https://researchr.org/publication/LauferO94" cites: 0 citedby: 0 journal: "TOPLAS" volume: "16" number: "5" pages: "1411-1430" kind: "article" key: "LauferO94" - title: "Actors That Unify Threads and Events" author: - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-72794-1_10" links: doi: "http://dx.doi.org/10.1007/978-3-540-72794-1_10" tags: - "Scala" researchr: "https://researchr.org/publication/HallerO07" cites: 0 citedby: 0 pages: "171-190" booktitle: "coordination" kind: "inproceedings" key: "HallerO07" - title: "A Core Calculus for Scala Type Checking" author: - name: "Vincent Cremet" link: "https://researchr.org/alias/vincent-cremet" - name: "François Garillot" link: "https://researchr.org/alias/fran%C3%A7ois-garillot" - name: "Sergueï Lenglet" link: "https://researchr.org/alias/sergue%C3%AF-lenglet" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2006" doi: "http://dx.doi.org/10.1007/11821069_1" links: doi: "http://dx.doi.org/10.1007/11821069_1" tags: - "Scala" - "type checking" researchr: "https://researchr.org/publication/CremetGLO06" cites: 0 citedby: 0 pages: "1-23" booktitle: "mfcs" kind: "inproceedings" key: "CremetGLO06" - title: "The Call-by-Need Lambda Calculus" author: - name: "John Maraist" link: "https://researchr.org/alias/john-maraist" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" year: "1998" researchr: "https://researchr.org/publication/MaraistOW98" cites: 0 citedby: 0 journal: "JFP" volume: "8" number: "3" pages: "275-317" kind: "article" key: "MaraistOW98" - title: "Programming in Scala. A comprehensive step-by-step guide" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: " Lex Spoon" link: "https://researchr.org/alias/lex-spoon" - name: "Bill Venners" link: "https://researchr.org/alias/bill-venners" year: "2008" month: "November" abstract: "Scala is an object-oriented programming language for the Java Virtual Machine. In addition to being object-oriented, Scala is also a functional language, and combines the best approaches to OO and functional programming. In Italian, Scala means a stairway, or steps—indeed, Scala lets you step up to a programming environment that incorporates some of the best recent thinking in programming language design while also letting you use all your existing Java code. Artima is very pleased to publish the first book on Scala, written by the designer of the language, Martin Odersky. Co-authored by Lex Spoon and Bill Venners, this book takes a step-by-step tutorial approach to teaching you Scala. Starting with the fundamental elements of the language, Programming in Scala introduces functional programming from the practitioner's perspective, and describes advanced language features that can make you a better, more productive developer. " tags: - "programming languages" - "object-oriented programming" - "Scala" - "Java" - "meta programming" - "functional programming" - "language design" - "teaching" - "programming" - "subject-oriented programming" - "Meta-Environment" - "design" - "systematic-approach" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/OderskySpoonVenners2008" cites: 0 citedby: 0 publisher: "Artima" kind: "book" key: "OderskySpoonVenners2008" - title: "A Heterogeneous Parallel Framework for Domain-Specific Languages" author: - name: "Kevin J. Brown" link: "https://researchr.org/alias/kevin-j.-brown" - name: "Arvind K. Sujeeth" link: "https://researchr.org/alias/arvind-k.-sujeeth" - name: "HyoukJoong Lee" link: "https://researchr.org/alias/hyoukjoong-lee" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Hassan Chafi" link: "https://researchr.org/alias/hassan-chafi" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Kunle Olukotun" link: "https://researchr.org/alias/kunle-olukotun" year: "2011" doi: "http://doi.ieeecomputersociety.org/10.1109/PACT.2011.15" links: doi: "http://doi.ieeecomputersociety.org/10.1109/PACT.2011.15" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/IEEEpact/BrownSLRCOO11" researchr: "https://researchr.org/publication/BrownSLRCOO11" cites: 0 citedby: 0 pages: "89-100" booktitle: "IEEEpact" kind: "inproceedings" key: "BrownSLRCOO11" - title: "Scala-Virtualized: linguistic reuse for deep embeddings" author: - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: " Nada Amin" link: "https://researchr.org/alias/nada-amin" - name: "Adriaan Moors" link: "http://www.google.com" - name: "Philipp Haller" link: "https://researchr.org/alias/philipp-haller" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2012" doi: "http://dx.doi.org/10.1007/s10990-013-9096-9" links: doi: "http://dx.doi.org/10.1007/s10990-013-9096-9" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/lisp/RompfAMHO12" researchr: "https://researchr.org/publication/RompfAMHO12" cites: 0 citedby: 0 journal: "lisp" volume: "25" number: "1" pages: "165-207" kind: "article" key: "RompfAMHO12" - title: "A Confluent Calculus for Concurrent Constraint Programming" author: - name: "Kim Marriott" link: "https://researchr.org/alias/kim-marriott" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1997" doi: "http://dx.doi.org/10.1016/S0304-3975(96)00196-X" links: doi: "http://dx.doi.org/10.1016/S0304-3975(96)00196-X" tags: - "constraints" - "programming" researchr: "https://researchr.org/publication/MarriottO97" cites: 0 citedby: 0 journal: "TCS" volume: "173" number: "1" pages: "209-233" kind: "article" key: "MarriottO97" - title: "Colored local type inference" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Christoph Zenger" link: "https://researchr.org/alias/christoph-zenger" - name: "Matthias Zenger" link: "https://researchr.org/alias/matthias-zenger" year: "2001" doi: "http://doi.acm.org/10.1145/360204.360207" links: doi: "http://doi.acm.org/10.1145/360204.360207" tags: - "type inference" - "local type inference" researchr: "https://researchr.org/publication/OderskyZZ01" cites: 0 citedby: 0 pages: "41-53" booktitle: "POPL" kind: "inproceedings" key: "OderskyZZ01" - title: "Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs" author: - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2010" tags: - "code generation" - "compiler" - "DSL" - "systematic-approach" researchr: "https://researchr.org/publication/Rompf-GPCE-2010" cites: 0 citedby: 0 booktitle: "GPCE" kind: "inproceedings" key: "Rompf-GPCE-2010" - title: "JavaScript as an Embedded DSL" author: - name: "Grzegorz Kossakowski" link: "https://researchr.org/alias/grzegorz-kossakowski" - name: " Nada Amin" link: "https://researchr.org/alias/nada-amin" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-31057-7_19" links: doi: "http://dx.doi.org/10.1007/978-3-642-31057-7_19" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/KossakowskiARO12" researchr: "https://researchr.org/publication/KossakowskiARO12" cites: 0 citedby: 0 pages: "409-434" booktitle: "ECOOP" kind: "inproceedings" key: "KossakowskiARO12" - title: "Parser combinators in Scala" author: - name: "Adriaan Moors" link: "http://www.google.com" - name: " F. Piessens" link: "https://researchr.org/alias/f.-piessens" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2008" month: "February" tags: - "Scala" - "parsing" researchr: "https://researchr.org/publication/MoorsPO2008" cites: 0 citedby: 1 institution: "Department of Computer Science, K.U. Leuven" kind: "techreport" key: "MoorsPO2008" - title: "Defining Context-Dependent Syntax Without Using Contexts" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1993" doi: "http://doi.acm.org/10.1145/169683.174159" links: doi: "http://doi.acm.org/10.1145/169683.174159" tags: - "context-aware" researchr: "https://researchr.org/publication/Odersky93" cites: 0 citedby: 0 journal: "TOPLAS" volume: "15" number: "3" pages: "535-562" kind: "article" key: "Odersky93" - title: "Scala Language Specification: Version 2.13" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Altherr, Philippe" link: "https://researchr.org/alias/altherr%2C-philippe" - name: "Cremet, Vincent" link: "https://researchr.org/alias/cremet%2C-vincent" - name: "Dubochet, Gilles" link: "https://researchr.org/alias/dubochet%2C-gilles" - name: "Emir, Burak" link: "https://researchr.org/alias/emir%2C-burak" - name: "Haller, Philipp" link: "https://researchr.org/alias/haller%2C-philipp" - name: "Micheloud, Stéphane" link: "https://researchr.org/alias/micheloud%2C-st%C3%A3%C2%A9phane" - name: "Mihaylov, Nikolay" link: "https://researchr.org/alias/mihaylov%2C-nikolay" - name: "Moors, Adriaan" link: "https://researchr.org/alias/moors%2C-adriaan" - name: "Rytz, Lukas" link: "https://researchr.org/alias/rytz%2C-lukas" - name: "Schinz, Michel" link: "https://researchr.org/alias/schinz%2C-michel" - name: "Stenman, Erik" link: "https://researchr.org/alias/stenman%2C-erik" - name: "Zenger, Matthias" link: "https://researchr.org/alias/zenger%2C-matthias" year: "2019" links: "url": "https://www.scala-lang.org/files/archive/spec/2.13/" researchr: "https://researchr.org/publication/ScalaLanguageSpecification%3A2.13" cites: 0 citedby: 0 kind: "book" key: "ScalaLanguageSpecification:2.13" - title: "Spatial Query Optimization: From Boolean Constraints to Range Queries" author: - name: "Richard Helm" link: "https://researchr.org/alias/richard-helm" - name: "Kim Marriott" link: "https://researchr.org/alias/kim-marriott" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1995" tags: - "optimization" - "constraints" researchr: "https://researchr.org/publication/HelmMO95" cites: 0 citedby: 0 journal: "jcss" volume: "51" number: "2" pages: "197-210" kind: "article" key: "HelmMO95" - title: "Einfache und effiziente inkrementelle Syntaxanalyse" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1987" researchr: "https://researchr.org/publication/Odersky87" cites: 0 citedby: 0 journal: "ife" volume: "2" number: "2" pages: "73-82" kind: "article" key: "Odersky87" - title: "Compiling structural types on the JVM: a comparison of reflective and generative techniques from Scala's perspective" author: - name: "Gilles Dubochet" link: "https://researchr.org/alias/gilles-dubochet" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2009" doi: "http://doi.acm.org/10.1145/1565824.1565829" links: doi: "http://doi.acm.org/10.1145/1565824.1565829" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/DubochetO09" researchr: "https://researchr.org/publication/DubochetO09" cites: 0 citedby: 0 pages: "34-41" booktitle: "ECOOP" kind: "inproceedings" key: "DubochetO09" - title: "Efficient Lock-Free Work-Stealing Iterators for Data-Parallel Collections" author: - name: "Aleksandar Prokopec" link: "https://researchr.org/alias/aleksandar-prokopec" - name: "Dmitry Petrashko" link: "https://researchr.org/alias/dmitry-petrashko" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2015" doi: "http://dx.doi.org/10.1109/PDP.2015.65" links: doi: "http://dx.doi.org/10.1109/PDP.2015.65" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/pdp/ProkopecPO15" researchr: "https://researchr.org/publication/ProkopecPO15" cites: 0 citedby: 0 pages: "248-252" booktitle: "pdp" kind: "inproceedings" key: "ProkopecPO15" - title: "Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs" author: - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2010" doi: "http://doi.acm.org/10.1145/1868294.1868314" links: doi: "http://doi.acm.org/10.1145/1868294.1868314" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/RompfO10" tags: - "code generation" - "compiler" - "DSL" - "systematic-approach" researchr: "https://researchr.org/publication/RompfO10" cites: 0 citedby: 0 pages: "127-136" booktitle: "GPCE" kind: "inproceedings" key: "RompfO10" - title: "Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations" author: - name: "Vlad Ureche" link: "https://researchr.org/alias/vlad-ureche" - name: "Cristian Talau" link: "https://researchr.org/alias/cristian-talau" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2013" doi: "http://doi.acm.org/10.1145/2509136.2509537" links: doi: "http://doi.acm.org/10.1145/2509136.2509537" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/UrecheTO13" researchr: "https://researchr.org/publication/UrecheTO13" cites: 0 citedby: 0 pages: "73-92" booktitle: "OOPSLA" kind: "inproceedings" key: "UrecheTO13" - title: "Automating ad hoc data representation transformations" author: - name: "Vlad Ureche" link: "https://researchr.org/alias/vlad-ureche" - name: "Aggelos Biboudis" link: "https://researchr.org/alias/aggelos-biboudis" - name: "Yannis Smaragdakis" link: "https://researchr.org/alias/yannis-smaragdakis" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2015" doi: "http://doi.acm.org/10.1145/2814270.2814271" links: doi: "http://doi.acm.org/10.1145/2814270.2814271" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/UrecheBSO15" researchr: "https://researchr.org/publication/UrecheBSO15" cites: 0 citedby: 0 pages: "801-820" booktitle: "OOPSLA" kind: "inproceedings" key: "UrecheBSO15" - title: "Compiling generics through user-directed type specialization" author: - name: "Iulian Dragos" link: "https://researchr.org/alias/iulian-dragos" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2009" doi: "http://doi.acm.org/10.1145/1565824.1565830" links: doi: "http://doi.acm.org/10.1145/1565824.1565830" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/DragosO09" researchr: "https://researchr.org/publication/DragosO09" cites: 0 citedby: 0 pages: "42-47" booktitle: "ECOOP" kind: "inproceedings" key: "DragosO09" - title: "Matching Objects with Patterns" author: - name: "Burak Emir" link: "https://researchr.org/alias/burak-emir" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "John Williams" link: "https://researchr.org/alias/john-williams" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-73589-2_14" links: doi: "http://dx.doi.org/10.1007/978-3-540-73589-2_14" tags: - "meta-model" - "pattern matching" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/EmirOW07" cites: 0 citedby: 0 pages: "273-298" booktitle: "ECOOP" kind: "inproceedings" key: "EmirOW07" - title: "Fighting bit Rot with Types (Experience Report: Scala Collections)" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Adriaan Moors" link: "http://www.google.com" year: "2009" doi: "http://dx.doi.org/10.4230/LIPIcs.FSTTCS.2009.2338" links: doi: "http://dx.doi.org/10.4230/LIPIcs.FSTTCS.2009.2338" tags: - "Scala" researchr: "https://researchr.org/publication/OderskyM09" cites: 0 citedby: 0 pages: "427-451" booktitle: "fsttcs" kind: "inproceedings" key: "OderskyM09" - title: "Special Issue on State in Programming Languages - Introduction" author: - name: "Ian A. Mason" link: "https://researchr.org/alias/ian-a.-mason" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1995" tags: - "programming languages" - "programming" researchr: "https://researchr.org/publication/MasonO95" cites: 0 citedby: 0 journal: "lisp" volume: "8" number: "4" pages: "291-292" kind: "article" key: "MasonO95" - title: "Independently extensible solutions to the expression problem" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: " M. Zenger" link: "https://researchr.org/alias/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)" kind: "inproceedings" key: "OderskyZ2005" - title: "MINOS: A New Approach to the Design of an Input/Output Library for Modula-2" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "1989" tags: - "design" - "systematic-approach" researchr: "https://researchr.org/publication/Odersky89" cites: 0 citedby: 0 journal: "stp" volume: "10" number: "2" pages: "89-105" kind: "article" key: "Odersky89" - title: "A Statically Safe Alternative to Virtual Types" author: - name: "Kim B. Bruce" link: "https://researchr.org/alias/kim-b.-bruce" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" year: "1998" doi: "http://link.springer.de/link/service/series/0558/bibs/1445/14450523.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1445/14450523.htm" researchr: "https://researchr.org/publication/BruceOW98" cites: 0 citedby: 0 pages: "523-549" booktitle: "ECOOP" kind: "inproceedings" key: "BruceOW98" - title: "Higher-Order Reactive Programming with Incremental Lists" author: - name: "Ingo Maier" link: "https://researchr.org/alias/ingo-maier" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2013" doi: "http://dx.doi.org/10.1007/978-3-642-39038-8_29" links: doi: "http://dx.doi.org/10.1007/978-3-642-39038-8_29" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/MaierO13" researchr: "https://researchr.org/publication/MaierO13" cites: 0 citedby: 0 pages: "707-731" booktitle: "ECOOP" kind: "inproceedings" key: "MaierO13" - title: "Staged parser combinators for efficient data processing" author: - name: "Manohar Jonnalagedda" link: "https://researchr.org/alias/manohar-jonnalagedda" - name: "Thierry Coppey" link: "https://researchr.org/alias/thierry-coppey" - name: "Sandro Stucki" link: "https://researchr.org/alias/sandro-stucki" - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2014" doi: "http://doi.acm.org/10.1145/2660193.2660241" links: doi: "http://doi.acm.org/10.1145/2660193.2660241" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/JonnalageddaCSRO14" researchr: "https://researchr.org/publication/JonnalageddaCSRO14" cites: 0 citedby: 0 pages: "637-653" booktitle: "OOPSLA" kind: "inproceedings" key: "JonnalageddaCSRO14" - title: "Essentials of Scala" author: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2009" doi: "http://editions-rnti.fr/?inprocid=1000751" links: doi: "http://editions-rnti.fr/?inprocid=1000751" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/lmo/Odersky09" researchr: "https://researchr.org/publication/Odersky09" cites: 0 citedby: 0 pages: "2" booktitle: "lmo" kind: "inproceedings" key: "Odersky09" - title: "Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming (ICFP '00), Montreal, Canada, September 18-21, 2000" year: "2000" links: dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icfp/2000" researchr: "https://researchr.org/publication/icfp-2000" cites: 0 citedby: 0 booktitle: "Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming (ICFP '00), Montreal, Canada, September 18-21, 2000" conference: "ICFP" editor: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Philip Wadler" link: "http://homepages.inf.ed.ac.uk/wadler/" publisher: "ACM" isbn: "1-58113-202-6" kind: "proceedings" key: "icfp-2000" - title: "Compiler Construction, 16th International Conference, CC 2007, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2007, Braga, Portugal, March 26-30, 2007, Proceedings" year: "2007" tags: - "compiler" researchr: "https://researchr.org/publication/cc%3A2007" cites: 0 citedby: 0 booktitle: "Compiler Construction, 16th International Conference, CC 2007, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2007, Braga, Portugal, March 26-30, 2007, Proceedings" conference: "CC" editor: - name: "Shriram Krishnamurthi" link: "http://www.cs.brown.edu/~sk/" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" volume: "4420" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-71228-2" kind: "proceedings" key: "cc:2007" - title: "Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers" year: "2004" researchr: "https://researchr.org/publication/dagstuhl%3A2003dspg" cites: 0 citedby: 0 booktitle: "Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers" conference: "Dagstuhl" editor: - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Charles Consel" link: "https://researchr.org/alias/charles-consel" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" volume: "3016" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-22119-0" kind: "proceedings" key: "dagstuhl:2003dspg" - title: "ECOOP 2004 - Object-Oriented Programming, 18th European Conference, Oslo, Norway, June 14-18, 2004, Proceedings" year: "2004" tags: - "object-oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/ecoop%3A2004" cites: 0 citedby: 0 booktitle: "ECOOP 2004 - Object-Oriented Programming, 18th European Conference, Oslo, Norway, June 14-18, 2004, Proceedings" conference: "ECOOP" editor: - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" volume: "3086" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-22159-X" kind: "proceedings" key: "ecoop:2004" - title: "Abstract State Machines, Theory and Applications, International Workshop, ASM 2000, Monte Verità, Switzerland, March 19-24, 2000, Proceedings" year: "2000" tags: - "state machines" - "abstract machine" researchr: "https://researchr.org/publication/asm%3A2000" cites: 0 citedby: 0 booktitle: "Abstract State Machines, Theory and Applications, International Workshop, ASM 2000, Monte Verità, Switzerland, March 19-24, 2000, Proceedings" conference: "asmta" editor: - name: "Yuri Gurevich" link: "https://researchr.org/alias/yuri-gurevich" - name: "Philipp W. Kutter" link: "https://researchr.org/alias/philipp-w.-kutter" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" - name: "Lothar Thiele" link: "https://researchr.org/alias/lothar-thiele" volume: "1912" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-67959-6" kind: "proceedings" key: "asm:2000"