Publications

2025

Journal Articles

What’s in the Box: Ergonomic and Expressive Capture Tracking over Generic Data Structures

Y. Xu; O. Bračevac; C. N. Pham; M. Odersky 

Proceedings of the ACM on Programming Languages. 2025. Vol. 9, num. OOPSLA2, p. 1726 – 1753. DOI : 10.1145/3763112.

Modeling Reachability Types with Logical Relations: Semantic Type Soundness, Termination, Effect Safety, and Equational Theory

Y. Bao; S. Jia; G. Wei; O. Bračevac; T. Rompf 

Proceedings of the ACM on Programming Languages. 2025. Vol. 9, num. OOPSLA2, p. 1837 – 1864. DOI : 10.1145/3763116.

On the State of Coherence in the Land of Type Classes

D. Racordon; E. Flesselle; C. N. Pham 

The Art, Science, and Engineering of Programming. 2025. Vol. 10, num. 1. DOI : 10.22152/programming-journal.org/2025/10/15.

Conference Papers

Existentialize Your Generics

D. Racordon; M. Bovel; H. Remmal 

2025. 22nd ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR 2025), Singapore Singapore, 2025-10-12 – 2025-10-18. p. 1 – 11. DOI : 10.1145/3759426.3760975.

Static Typing Meets Adaptive Optimization: A Unified Approach to Recursive Queries

A. Herlihy; A. Ailamaki; M. Odersky 

2025. SIGMOD/PODS ’25: International Conference on Management of Data, Berlin, Germany, 2025-06-22 – 2025-06-27. p. 1 – 6. DOI : 10.1145/3735106.3736533.

Student Projects

Lexical Delimited Continuations for Scala 3

G. Bartrina I Moreno 

2025.

Path-dependent capture tracking

J. Fourment 

2025.

2024

Journal Articles

Qualifying System F<: Some Terms and Conditions May Apply

E. Lee; Y. Zhao; O. Lhoták; J. You; K. Satheeskumar et al. 

Proceedings of the ACM on Programming Languages. 2024. Vol. 8, num. OOPSLA1, p. 115. DOI : 10.1145/3649832.

When Subtyping Constraints Liberate A Novel Type Inference Approach for First-Class Polymorphism

L. Parreaux; A. S. Boruch-Gruszecki; A. Fan; C. Y. Chau 

Proceedings Of The Acm On Programming Languages-Pacmpl. 2024. Vol. 8, num. POPL, p. 48. DOI : 10.1145/3632890.

Conference Papers

Type Checking with Rewriting Rules

D. Racordon 

2024. 17 ACM SIGPLAN International Conference on Software Language Engineering, Pasadena, United States, 2024-10-20 – 2024-10-21. p. 171 – 183. DOI : 10.1145/3687997.3695640.

Method Bundles

D. Racordon; D. Abrahams 

2024. 17 ACM SIGPLAN International Conference on Software Language Engineering, Pasadena, United States, 2024-10-20 – 2024-10-21. p. 190 – 195. DOI : 10.1145/3687997.3695633.

Use Site Checking Considered Harmful

D. Racordon; B. Chung 

2024. ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Pasadena, United States, 2024-10-23 – 2024-10-25. p. 275 – 287. DOI : 10.1145/3689492.3689814.

Stack-Copying Delimited Continuations for Scala Native

C. N. Pham; M. Odersky 

2024. 19 ACM International Workshop on Implementation, Compilation, Optimization of OO Languages, Programs and Systems, Vienna, Austria, 2024-09-20 – 2024-09-20. p. 2 – 13. DOI : 10.1145/3679005.3685979.

Existential Containers in Scala

D. Racordon; E. Flesselle; M. Bovel 

2024. 21 ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, Vienna, Austria, 2024-09-19 – 2024-09-19. p. 55 – 64. DOI : 10.1145/3679007.3685056.

Adaptive Recursive Query Optimization

A. Herlihy; G. Martres; A. Ailamaki; M. Odersky 

2024. IEEE 40th International Conference on Data Engineering (ICDE), Utrecht, Netherlands, 2024-05-13 – 2024-05-17. p. 368 – 381. DOI : 10.1109/ICDE60146.2024.00035.

Degrees of Separation: A Flexible Type System for Safe Concurrency

Y. Xu; A. S. Boruch-Gruszecki; M. Odersky 

2024. OOPSLA 2024, Pasadena, California, United States, 20 – 25 October 2024.

A Formal Foundation of Reach Capabilities

Y. Xu; M. Odersky 

2024. 8 International Conference on on the Art, Science, and Engineering of Programming, Lund, Sweden, 2024-03-11 – 2024-03-15. p. 134 – 138. DOI : 10.1145/3660829.3660851.

An Automatic Grading System for Large Classes

M. Bovel; H. Remmal 

2024. 52 Conference of the European Society for Engineering, Lausanne, Switzerland, 2024-09-02 – 2024-09-05. p. 1220 – 1229. DOI : 10.5281/zenodo.14256923.

Theses

Formal Foundations of Capture Tracking

A. S. Boruch-Gruszecki / M. Odersky (Dir.)  

Lausanne, EPFL, 2024. 

Student Projects

Scala 3 syntax rewriting

M. Tropin 

2024.

2023

Journal Articles

Capturing Types

A. S. Boruch-Gruszecki; M. Odersky; E. Lee; O. Lhotak; J. Brachthaeuser 

Acm Transactions On Programming Languages And Systems. 2023. Vol. 45, num. 4, p. 21. DOI : 10.1145/3618003.

Unsupervised Graph Representation Learning with Cluster-aware Self-training and Refining

Y. Zhu; Y. Xu; F. Yu; Q. Liu; S. Wu 

Acm Transactions On Intelligent Systems And Technology. 2023. Vol. 14, num. 5, p. 82. DOI : 10.1145/3608480.

Theses

Scalable Metaprogramming in Scala 3

N. A. Stucki / M. Odersky (Dir.)  

Lausanne, EPFL, 2023. 

Type-Preserving Compilation of Class-Based Languages

G. A. F. Martres / M. Odersky (Dir.)  

Lausanne, EPFL, 2023. 

Reports

A Mechanized Theory of the Box Calculus

J. Fourment; Y. Xu 

2023

Student Projects

Inline Traits for Specialization in Scala 3

T. Andres 

2023.

2022

Journal Articles

A case for DOT: Theoretical Foundations for Objects with Pattern Matching and GADT-Style Reasoning

A. S. Boruch-Gruszecki; R. Wasko; Y. Xu; L. Parreaux 

Proceedings Of The Acm On Programming Languages-Pacmpl. 2022. Vol. 6, num. OOPSLA, p. 179. DOI : 10.1145/3563342.

Effects, Capabilities, and Boxes From Scope-Based Reasoning to Type-Based Reasoning and Back

J. I. Brachthaeuser; P. Schuster; E. Lee; A. Boruch-Gruszecki 

Proceedings Of The Acm On Programming Languages-Pacmpl. 2022. Vol. 6, num. OOPSLA, p. 76. DOI : 10.1145/3527320.

Type-Level Programming with Match Types

O. Blanvillain; J. I. Brachthaeuser; M. Kjaer; M. Odersky 

Proceedings Of The Acm On Programming Languages-Pacmpl. 2022. Vol. 6, p. 37. DOI : 10.1145/3498698.

Theses

Abstractions for Type-Level Programming

O. E. P. Blanvillain / M. Odersky (Dir.)  

Lausanne, EPFL, 2022. 

Reports

Type-preserving compilation of (most of) FGJ into DOT

G. Martres 

2022

Student Projects

Implement string interpolator inline unapply

P. V. Gorilskij; M. Odersky 

2022.

Macro Annotations for Scala 3

Z. Ang 

2022.

2021

Conference Papers

Safer exceptions for Scala

M. Odersky; A. Boruch-Gruszecki; J. I. Brachthäuser; E. Lee; O. Lhoták 

2021. 12th ACM SIGPLAN International Symposium on Scala, Chicago, Illinois, USA, Sep 17, 2021. p. 1 – 11. DOI : 10.1145/3486610.3486893.

Virtual ADTs for Portable Metaprogramming

N. Stucki; J. I. Brachthaeuser; M. Odersky 

2021. 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR), Munster, GERMANY, Sep 29-30, 2021. p. 36 – 44. DOI : 10.1145/3475738.3480717.

Reports

Proof of Multi-Stage Programming with Generative and Analytical Macros

N. A. Stucki; J. I. Brachthäuser; M. Odersky 

2021

Type-Level Programming with Match Types

O. Blanvillain; J. Brachthäuser; M. Kjaer; M. Odersky 

2021

Talks

Representing Monads with Capabilities

J. I. Brachthäuser; A. S. Boruch-Gruszecki; M. Odersky 

HOPE 2021 Workshop, August 22, 2021.

Student Projects

Formalizing GADT constraint reasoning in Scala

M. Bucev 

2021.

2020

Journal Articles

A Type-and-Effect System for Object Initialization

F. Liu; O. Lhotak; A. Biboudis; P. G. Giarrusso; M. Odersky 

Proceedings Of The Acm On Programming Languages-Pacmpl. 2020. Vol. 4, p. 175. DOI : 10.1145/3428243.

Effects as Capabilities: Effect Handlers and Lightweight Effect Polymorphism

J. I. Brachthaeuser; P. Schuster; K. Ostermann 

Proceedings Of The Acm On Programming Languages-Pacmpl. 2020. Vol. 4, p. 126. DOI : 10.1145/3428194.

Conference Papers

Semantics-preserving inlining for metaprogramming

N. Stucki; A. Biboudis; S. Doeraene; M. Odersky 

2020. SPLASH ’20: Conference on Systems, Programming, Languages, and Applications, Software for Humanity, Virtual, November 13, 2020. p. 14 – 24. DOI : 10.1145/3426426.3428486.

Theses

Just-in-time performance without warm-up

D. Shabalin / M. Odersky (Dir.)  

Lausanne, EPFL, 2020. 

Safe initialization of objects

F. Liu / M. Odersky (Dir.)  

Lausanne, EPFL, 2020. 

Working Papers

Safe Initialization of Objects

F. Liu; O. Lhoták; A. Biboudis; P. G. Giarrusso; M. Odersky 

2020

Report on Theory of Quoted Code Patterns

N. A. Stucki; F. Liu; A. Biboudis 

2020

Reports

A Type-and-Effect System for Object Initialization

F. Liu; O. Lhoták; A. Biboudis; P. G. Giarrusso; M. Odersky 

2020

Digital Design with Implicit State Machines

F. Liu; A. Prokopec; M. Odersky 

2020

Stoic: Towards Disciplined Capabilities

F. Liu; S. Stucki; N. Amin; P. G. Giarrusso; M. Odersky 

2020

Celsius: A Model for Safe Initialization of Objects

F. Liu; A. Biboudis; P. G. Giarrusso; M. Odersky 

2020

Student Projects

A Mechanized Theory of Quoted Code Patterns

W. Radosław 

2020.

Formal foundations for GADTs in Scala

R. Waśko 

2020.

2019

Conference Papers

Towards Improved GADT Reasoning in Scala

L. Parreaux; A. Boruch-Gruszecki; P. G. Giarrusso 

2019. 10th ACM SIGPLAN International Symposium on Scala (Scala), London, ENGLAND, Jul 17, 2019. p. 12 – 16. DOI : 10.1145/3337932.3338813.

Reports

Staged Tagless Interpreters in Dotty

B. Knuchel 

2019

Student Projects

XML String Interpolator for Dotty

Y. Kammoun 

2019.

Implementing the f string interpolator using Dotty macros

S. Alemanno 

2019.

Dotty Decompiler

Tobias Bordenca 

2019.

2018

Journal Articles

A Programming Model and Foundation for Lineage-Based Distributed Computation

P. Haller; H. Miller; N. Müller 

Journal of Functional Programming. 2018. Vol. 28, p. e7. DOI : 10.1017/S0956796818000035.

Conference Papers

Interflow: interprocedural flow-sensitive type inference and method duplication

D. Shabalin; M. Odersky 

2018. Scala 2018, St. Louis, MO, USA, September 28 – 28, 2018. p. 61 – 71. DOI : 10.1145/3241653.3241660.

Truly abstract interfaces for algebraic data types: the extractor typing problem

N. A. Stucki; P. G. Giarrusso; M. Odersky 

2018. Scala 2018, St. Louis, Missouri, USA, September 28-28, 2018. DOI : 10.1145/3241653.3241658.

Initialization patterns in Dotty

F. Liu; A. Biboudis; M. Odersky 

2018.  p. 51 – 55. DOI : 10.1145/3241653.3241662.

Open Source Is A-Changin’: How Qualitative Research Can Help Us Adapt

D. Klug; H. Miller 

2018. 

Theory and Practice of Coroutines with Snapshots

A. Prokopec; F. Liu 

2018. 32nd European Conference on Object-Oriented Programming (ECOOP 2018). p. 3:1 – 3:32. DOI : 10.4230/LIPICS.ECOOP.2018.3.

Towards a Solution to the Red Wedding Problem

C. Meiklejohn; Z. Lakhani; H. Miller 

2018. 

Cross-Platform Language Design in Scala.js (Keynote)

S. Doeraene 

2018. 9th ACM SIGPLAN International Symposium on Scala (Scala) as part of the ACM SIGPLAN International Conference on Functional Programming (ICFP), St Louis, MO, Sep 28, 2018. p. 1 – 1. DOI : 10.1145/3241653.3266230.

A Practical Unification of Multi-stage Programming and Macros

N. Stucki; A. Biboudis; M. Odersky 

2018. 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, Boston, MA, USA, November 5–6, 2018. DOI : 10.1145/3278122.3278139.

Theses

Cross-Platform Language Design

S. J. R. Doeraene / M. Odersky (Dir.)  

Lausanne, EPFL, 2018. 

2017

Conference Papers

Monotonicity Types

K. Clancy; H. Miller; C. Meiklejohn 

2017. 

Simplicitly: Foundations and Applications of Implicit Function Types

M. Odersky; O. Blanvillain; F. Liu; A. Biboudis; H. Miller et al. 

2017. 45th ACM SIGPLAN Symposium on Principles of Programming Languages, Los Angeles, California, United States, Sun 7 – Sat 13 January 2018. DOI : 10.1145/3158130.

Miniphases: Compilation using Modular and Efficient Tree Transformations

D. Petrashko; O. Lhoták; M. Odersky 

2017. PLDI, Barcelona, Spain, Sun 18 – Fri 23 June 2017. p. 201 – 216. DOI : 10.1145/3062341.3062346.

LMS-Verify: Abstraction without Regret for Verified Systems Programming’

N. Amin; T. Rompf 

2017. POPL 2017, Paris, France, January 15 – 21, 2017. DOI : 10.1145/3009837.3009867.

Type Soundness Proofs with Definitional Interpreters

N. Amin; T. Rompf 

2017. POPL 2017, Paris, France, January 15 – 21, 2017. DOI : 10.1145/3009837.3009866.

Monotonicity Types for Distributed Dataflow

K. Clancy; H. Miller 

2017. 2nd Workshop on Programming Models and Languages for Distributed Computing, Barcelona, Spain, June 20, 2017. DOI : 10.1145/3166089.3166090.

Theses

Higher-Order Subtyping with Type Intervals

S. Stucki / M. Odersky (Dir.)  

Lausanne, EPFL, 2017. 

Design and implementation of an optimizing type-centric compiler for a high-level language

D. Petrashko / M. Odersky (Dir.)  

Lausanne, EPFL, 2017. 

Unification of Compile-Time and Runtime Metaprogramming in Scala

E. Burmako / M. Odersky (Dir.)  

Lausanne, EPFL, 2017. 

Reports

Dotty Phantom Types

N. A. Stucki; A. Biboudis; M. Odersky 

2017

Linker call graph with full Dotty support

N. A. Stucki 

2017

Call-graph-based Optimizations in Scala

R. M. Beguet; N. A. Stucki; D. Petrashko; M. Odersky 

2017

Foundations of Implicit Function Types

M. Odersky; A. Biboudis; F. Liu; O. Blanvillain 

2017

Two approaches to portable macros

F. Liu; E. Burmako 

2017

2016

Conference Papers

Type Soundness for Dependent Object Types (DOT)

T. Rompf; N. Amin 

2016. ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Amsterdam, NETHERLANDS, NOV 02-04, 2016. p. 624 – 641. DOI : 10.1145/3022671.2984008.

A generic algorithm for checking exhaustivity of pattern matching

F. Liu 

2016. SCALA 2016, Amsterdam, Netherlands, October 30 – 31, 2016. p. 61 – 64. DOI : 10.1145/2998392.2998401.

The Essence of Dependent Object Types

N. Amin; K. S. Grütter; M. Odersky; T. Rompf; S. Stucki 

2016. WadlerFest 2016, Edinburgh, UK, April 11-12, 2016. p. 249 – 272. DOI : 10.1007/978-3-319-30936-1_14.

Implementing Higher-Kinded Types in Dotty

M. Odersky; G. Martres; D. Petrashko 

2016. Scala Symposium 2016, Amsterdam, Oct 30-31, 2016. DOI : 10.1145/2998392.2998400.

Function Passing: A Model for Typed, Distributed Functional Programming

H. Miller; P. Haller; N. Müller; J. Boullier 

2016. ACM SIGPLAN Conference on Systems, Programming, Languages and Applications: Software for Humanity, Onward! Research Papers, Amsterdam, Netherlands, November 2-4, 2016. p. 82 – 97. DOI : 10.1145/2986012.2986014.

Type Soundness for Dependent Object Types

T. Rompf; N. Amin 

2016. OOPSLA 2016, Amsterdam, Netherlands, November 02 – 04, 2016. DOI : 10.1145/2983990.2984008.

Semantics-Driven Interoperability between Scala.js and JavaScript

S. Doeraene; T. Schlatter; N. Stucki 

2016. 7th ACM SIGPLAN Symposium on Scala, Amsterdam, Netherlands, October 30-31, 2016. p. 85 – 94. DOI : 10.1145/2998392.2998404.

Java and Scala’s Type Systems are Unsound The Existential Crisis of Null Pointers

N. Amin; R. Tate 

2016. ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Amsterdam, NETHERLANDS, NOV 02-04, 2016. p. 838 – 848. DOI : 10.1145/3022671.2984004.

Theses

Decrypting Local Type Inference

H. Plociniczak / M. Odersky (Dir.)  

Lausanne, EPFL, 2016. 

Dependent Object Types

N. Amin / M. Odersky (Dir.)  

Lausanne, EPFL, 2016. 

Uniting Language Embeddings for Fast and Friendly DSLs

V. Jovanovic / M. Odersky (Dir.)  

Lausanne, EPFL, 2016. 

Specialising Parsers for Queries

M. Jonnalagedda / M. Odersky (Dir.)  

Lausanne, EPFL, 2016. 

Reports

A TASTY Alternative

M. Odersky; E. Burmako; D. Petrashko 

2016

Auto-Collections for Scala

A. V. R. Renucci; D. Petrashko 

2016

The Function Passing Model: Types, Proofs, and Semantics

P. Haller; N. Müller; H. Miller 

2016

TASTY Reference Manual

M. Odersky; E. Burmako; D. Petrashko 

2016

Call Graphs for Languages with Parametric Polymorphism

D. Petrashko; V. Ureche; O. Lhot\'{a}k; M. Odersky 

2016

Student Projects

A Study of Capability-Based Effect Systems

F. Liu 

2016.

2015

Conference Papers

Automating Ad hoc Data Representation Transformations

V. Ureche; A. Biboudis; Y. Smaragdakis; M. Odersky 

2015. Object Oriented Programming Systems Languages and Applications (OOPSLA)’, u”[u’ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Pittsburgh, PA, USA, October 25-30, 2015. p. 801 – 820. DOI : 10.1145/2814270.2814271.

Java and Scala’s Type Systems are Unsound: The Existential Crisis of Null Pointers

N. Amin; R. Tate 

2015. OOPSLA 2016, Amsterdam, Netherlands, November 02 – 04, 2016. DOI : 10.1145/2983990.2984004.

RRB Vector: A Practical General Purpose Immutable Sequence

N. A. Stucki; T. Rompf; P. Bagwell; V. Ureche; M. Odersky 

2015. International Conference on Functional Programming (ICFP), Vancouver, BC, Canada, August 31 – September 2, 2015. p. 342 – . DOI : 10.1145/2784731.2784739.

Improving the Interoperation between Generics Translations

V. Ureche; M. Stojanovic; R. M. Beguet; N. A. Stucki; M. Odersky 

2015. Principles and Practices of Programming on the Java platform (PPPJ), Melbourne, Florida, USA, September 9-11, 2015. p. 113 – 124. DOI : 10.1145/2807426.2807436.

Moment Semantics for Reversible Rule-Based Systems

V. Danos; T. Heindel; R. Honorato-Zimmer; S. Stucki 

2015. 7th International Conference on Reversible Computation, Grenoble, France, July 16-17, 2015. p. 3 – 26. DOI : 10.1007/978-3-319-20860-2_1.

Functional Pearl: A SQL to C Compiler in 500 Lines of Code

T. Rompf; N. Amin 

2015. 20th ACM SIGPLAN International Conference on Functional Programming (ICFP), Vancouver, CANADA, AUG 31-SEP 02, 2015. p. 2 – 9. DOI : 10.1145/2858949.2784760.

Distributed Programming via Safe Closure Passing

P. Haller; H. Miller 

2015. Programming Language Approaches to Communication and Concurrency Centric Systems, London, UK, April 18, 2015.

Isolates, channels, and event streams for composable distributed programming

A. Prokopec; M. Odersky 

2015. 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Pittsburgh, PA, USA, October 25 – 30, 2015. p. 171 – 182. DOI : 10.1145/2814228.2814245.

Functional Pearl: A SQL to C Compiler in 500 Lines of Code

T. Rompf; N. Amin 

2015. ICFP 2015, Vancouver, BC, Canada, August 31 – September 02, 2015. DOI : 10.1145/2784731.2784760.

Fold-based fusion as a library: a generative programming pearl

M. Jonnalagedda; S. Stucki 

2015. 6th ACM SIGPLAN Symposium on Scala, Portland, OR, USA, June 13, 2015. p. 41 – 50. DOI : 10.1145/2774975.2774981.

Theses

Language Support for Distributed Functional Programming

H. Miller / M. Odersky (Dir.)  

Lausanne, EPFL, 2015. 

Working Papers

Effects as Implicit Capabilities

M. Odersky 

2015

Reports

Traversal Query Language For Scala.Meta

E. Beguet; E. Burmako 

2015

Macros in sbt: Problem Solved!

M. N. Duhem; E. Burmako 

2015

Parser Macros for Scala

M. Duhem; E. Burmako 

2015

Common Subexpression Elimination in Dotty

A. V. R. Renucci; D. Petrashko; M. Odersky 

2015

Region-based off-heap memory for Scala

M. O. Denys Shabalin 

2015

Obey: Code Health for Scala.Meta

A. Ghosn; E. Burmako 

2015

Style Checking With Scala.Meta

M. Demarne; E. Burmako 

2015

Implementing Method Type Specialisation In Dotty

A. J. D. Sikiaridis; D. Petrashko; M. Odersky 

2015

Student Projects

Miniboxing and the MbArray API

R. M. Beguet 

2015.

Interoperation between Miniboxing and Other Generics Translations

M. Stojanovic 

2015.

Turning Relaxed Radix Balanced Vector from Theory into Practice for Scala Collections (Master Thesis)

N. Stucki 

2015.

2014

Journal Articles

Unifying Functional and Object-Oriented Programming with Scala

M. Odersky; T. Rompf 

Communications Of The Acm. 2014. Vol. 57, num. 4, p. 76 – 86. DOI : 10.1145/2591013.

Foundations of Path-Dependent Types

N. Amin; T. Rompf; M. Odersky 

Acm Sigplan Notices. 2014. Vol. 49, num. 10, p. 233 – 249. DOI : 10.1145/2660193.2660216.

Forge: Generating a High Performance DSL Implementation from a Declarative Specification

A. K. Sujeeth; A. Gibbons; K. J. Brown; H. Lee; T. Rompf et al. 

Acm Sigplan Notices. 2014. Vol. 49, num. 3, p. 145 – 154. DOI : 10.1145/2517208.2517220.

Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages

A. K. Sujeeth; K. J. Brown; H. Lee; T. Rompf; H. Chafi et al. 

Acm Transactions On Embedded Computing Systems. 2014. Vol. 13, num. 4S, p. 134. DOI : 10.1145/2584665.

Staged Parser Combinators for Efficient Data Processing

M. Jonnalagedda; T. Coppey; S. Stucki; T. Rompf; M. Odersky 

Acm Sigplan Notices. 2014. Vol. 49, num. 10, p. 637 – 653. DOI : 10.1145/2714064.2660241.

Spiral in Scala: Towards the Systematic Construction of Generators for Performance Libraries

G. Ofenbeck; T. Rompf; A. Stojanov; M. Odersky; M. Pueschel 

Acm Sigplan Notices. 2014. Vol. 49, num. 3, p. 125 – 134. DOI : 10.1145/2517208.2517228.

Conference Papers

Reversible Sesqui-Pushout Rewriting, Graph Transformation

V. Danos; T. Heindel; R. Honorato-Zimmer; S. Stucki 

2014. 7th International Conference on Graph Transformation, ICGT 2014, Held as Part of STAF 2014, York, UK, July 22-24, 2014. p. 161 – 176. DOI : 10.1007/978-3-319-09108-2_11.

Staged parser combinators for efficient data processing

M. Jonnalagedda; T. Coppey; S. Stucki; T. Rompf; M. Odersky 

2014. Object Oriented Programming Systems Languages & Applications (OOPSLA), Portland, Oregon, USA, 20-24 October 2014. p. 637 – 653. DOI : 10.1145/2660193.2660241.

Approximations for Stochastic Graph Rewriting

V. Danos; T. Heindel; R. Honorato-Zimmer; S. Stucki 

2014. 16th International Conference on Formal Engineering Methods, ICFEM ’14, Luxembourg, Luxembourg, November 3-5, 2014. p. 1 – 10. DOI : 10.1007/978-3-319-11737-9_1.

Accelerating parser combinators with macros

E. Béguet; M. Jonnalagedda 

2014. the Fifth Annual Scala Workshop (SCALA ’14), Uppsala, Sweden, 28-29 07 2014. p. 7 – 17. DOI : 10.1145/2637647.2637653.

Functional Programming For All! Scaling a MOOC for Students and Professionals Alike

H. Miller; P. Haller; L. Rytz; M. Odersky 

2014. 36th International Conference on Software Engineering (ICSE’14) SEET Track, Hyderabad, India, May 31 – June 7, 2014.

Computing with an SMT Solver

N. Amin; R. Leino; T. Rompf 

2014. DOI : 10.1007/978-3-319-09099-3_2.

Yin-yang: concealing the deep embedding of DSLs

V. Jovanovic; A. Shaikhha; S. Stucki; V. Nikolaev; C. Koch et al. 

2014. International Conference on Generative Programming: Concepts and Experiences – GPCE 2014, Västerås, Sweden, 15-16 09 2014. p. 73 – 82. DOI : 10.1145/2658761.2658771.

Surgical Precision JIT Compilers

T. Rompf; A. K. Sujeeth; K. J. Brown; H. Lee; H. Chafi et al. 

2014. 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Edinburgh, SCOTLAND, JUN 09-11, 2014. p. 41 – 52. DOI : 10.1145/2594291.2594316.

Improving Human-Compiler Interaction Through Customizable Type Feedback

H. Plociniczak; H. Miller; M. Odersky 

2014. 

Near Optimal Work-Stealing Tree Scheduler for Highly Irregular Data-Parallel Workloads

A. Prokopec; M. Odersky 

2014. 26th International Workshop on Languages and Compilers for Parallel Computing (LCPC), San Jose, CA, SEP 25-27, 2013. p. 55 – 86. DOI : 10.1007/978-3-319-09967-5_4.

Spores: A Type-Based Foundation for Closures in the Age of Concurrency and Distribution

H. Miller; P. Haller; M. Odersky 

2014. European Conference on Object-Oriented Programming (ECOOP’14), Uppsala, Sweden, July 28 – August 1, 2014.

Self-Assembly: Lightweight Language Extension and Datatype Generic Programming, All-in-One!

H. Miller; P. Haller; d. S. Oliveira; C. Bruno 

2014. 

Building Efficient Query Engines in a High-Level Language

I. Klonatos; C. Koch; T. Rompf; H. Chafi 

2014. 40th International Conference on Very Large Data Bases (VLDB), Hangzhou, China, September 1st – 5th 2014. p. 853 – 864. DOI : 10.14778/2732951.2732959.

Containers and Aggregates, Mutators and Isolates for Reactive Programming

A. Prokopec; P. Haller; M. Odersky 

2014. Scala 2014, Uppsala, Sweden, July 28-29, 2014. p. 51 – 61. DOI : 10.1145/2637647.2637656.

Late Data Layout: Unifying Data Representation Transformations

V. Ureche; E. Burmako; M. Odersky 

2014. Object Oriented Programming Systems Languages and Applications (OOPSLA), Portland, OR, USA, October 19-21 2014. p. 397 – 416. DOI : 10.1145/2660193.2660197.

ScalaDyno: Making Name Resolution and Type Checking Fault-tolerant

C. Bastin; V. Ureche; M. Odersky 

2014. Fifth Annual Scala Workshop, Uppsala, Sweden, July 28-29, 2014. DOI : 10.1145/2637647.2637649.

Theses

Data Structures and Algorithms for Data-Parallel Computing in a Managed Runtime

A. Prokopec / M. Odersky (Dir.)  

Lausanne, EPFL, 2014. 

A Practical Effect System for Scala

L. Rytz / M. Odersky (Dir.)  

Lausanne, EPFL, 2014. 

Reports

On Lock-Free Work-stealing Iterators for Parallel Data Structures

A. Prokopec; D. Petrashko; M. Odersky 

2014

Additional Material for “Unifying Data Representation Transformations”

V. Ureche 

2014

Improving the Performance of Scala Collections with Miniboxing

A. Genêt; V. Ureche; M. Odersky 

2014

Making sbt Macro-Aware

M. N. Duhem; E. Burmako 

2014

Yin-Yang: Concealing the Deep Embedding of DSLs

V. Jovanovic; A. Shaikhha; S. Stucki; V. NIkolaev; C. Koch et al. 

2014

BlitzViews – lazy parallel operations for Scala collections

A. Angel; D. Petrashko; M. Odersky 

2014

Scala AST Persistence

M. B. Demarne; A. Ghosn; E. Burmako 

2014

Student Projects

Report on Scala Multisets API (Bag trait)

N. A. Stucki 

2014.

Better Loop Fusion for LMS

V. Salvisberg 

2014.

Hygiene for Scala

D. Shabalin 

2014.

2013

Journal Articles

Scala-Virtualized: Linguistic Reuse for Deep Embeddings

T. Rompf; N. Amin; A. Moors; P. Haller; M. Odersky 

Higher Order and Symbolic Computation. 2013. Vol. August-September, p. 1 – 43. DOI : 10.1007/s10990-013-9096-9.

Optimizing Data Structures in High-Level Programs New Directions for Extensible Compilers based on Staging

T. Rompf; A. K. Sujeeth; N. Amin; K. J. Brown; V. Jovanovic et al. 

Acm Sigplan Notices. 2013. Vol. 48, num. 1, p. 497 – 510. DOI : 10.1145/2480359.2429128.

Conference Papers

RAY: Integrating Rx and Async for Direct-Style Reactive Streams

P. Haller; H. Miller 

2013. Workshop on Reactivity, Events and Modularity, Indianapolis, Indiana, USA, October 28, 2013.

What are the Odds? Probabilistic programming in Scala

S. Stucki; N. Amin; M. Jonnalagedda; T. Rompf 

2013. SCALA ’13, 4th Workshop on Scala, Montpellier, France, July 2, 2013. p. 11:1 – . DOI : 10.1145/2489837.2489848.

Scala Macros: Let Our Powers Combine!

E. Burmako 

2013. 4th Annual Workshop Scala 2013, Montpellier, France, July 2, 2013. DOI : 10.1145/2489837.2489840.

A Flow-Insensitive, Modular Effect System for Purity

L. Rytz; N. Amin; M. Odersky 

2013. Formal Techniques for Java-like Programs, Montpellier, France, July 1, 2013. DOI : 10.1145/2489804.2489808.

Miniboxing: Improving the Speed to Code Size Tradeoff in Parametric Polymorphism Translations

V. Ureche; C. Talau; M. Odersky 

2013. ACM SIGPLAN 2013 Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA’13), Indianapolis, Indiana, USA, October 26-31, 2013. DOI : 10.1145/2509136.2509537.

Bridging Islands of Specialized Code using Macros and Reified Types

N. Stucki; V. Ureche 

2013. The 4th Workshop on Scala, Montpellier, France, 02 07 2013. DOI : 10.1145/2489837.2489847.

Instant Pickles: Generating Object-Oriented Pickler Combinators for Fast and Extensible Serialization

H. Miller; P. Haller; E. Burmako; M. Odersky 

2013. ACM SIGPLAN 2013 Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA’13), Indianapolis, Indiana, USA, October 26-31, 2013. p. 183 – 202. DOI : 10.1145/2509136.2509547.

Theses

Reactive Programming Abstractions for Complex Event Logic and Dynamic Data Dependencies

I. Maier / M. Odersky (Dir.)  

Lausanne, EPFL, 2013. 

Reports

On a Near Optimal Work-Stealing Tree Data-Parallel Scheduler for Highly Irregular Workloads

A. Prokopec; M. Odersky 

2013

Achieving Efficient Work-Stealing for Data-Parallel Collections

A. Prokopec; M. Odersky 

2013

Quasiquotes for Scala

D. Shabalin; E. Burmako; M. Odersky 

2013

Spores, Formally

H. Miller; P. Haller 

2013

Scala.js: Type-Directed Interoperability with Dynamically Typed Languages

S. Doeraene 

2013

Student Projects

An Embedded Query Language in Scala

A. Shaikhha 

2013.

Using Reified Types for Specialization

N. Stucki 

2013.

DynaProg for Scala

T. Coppey 

2013.

2012

Journal Articles

Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs

T. Rompf; M. Odersky 

Communications Of The Acm. 2012. Vol. 55, p. 121 – 130. DOI : 10.1145/2184319.2184345.

Concurrent Tries with Efficient Non-Blocking Snapshots

A. Prokopec; N. G. Bronson; P. Bagwell; M. Odersky 

Acm Sigplan Notices. 2012. Vol. 47, num. 8, p. 151 – 160. DOI : 10.1145/2370036.2145836.

Conference Papers

FlowPools: A Lock-Free Deterministic Concurrent Dataflow Abstraction

A. Prokopec; H. Miller; T. Schlatter; P. Haller; M. Odersky 

2012. 25th International Workshop on Languages and Compilers for Parallel Computing, Tokyo, Japan, September 11-13, 2012. p. 158 – 173. DOI : 10.1007/978-3-642-37658-0_11.

Scala Macros, a Technical Report

E. Burmako; M. Odersky 

2012. Third International Valentin Turchin Workshop on Metacomputation, Pereslavl-Zalessky, Russia, July 5-9, 2012.

Implementing a Type Debugger for Scala

H. Plociniczak; M. Odersky 

2012. Asia-Pacific Programming Languages and Compilers Workshop, Beijing, China, June 14, 2012.

JavaScript as an Embedded DSL

G. Kossakowski; N. Amin; T. Rompf; M. Odersky 

2012. 26th European Conference on Object-Oriented Programming, Beijing, China, June 11-16, 2012. p. 409 – 434. DOI : 10.1007/978-3-642-31057-7_19.

Dependent Object Types

N. Amin; A. Moors; M. Odersky 

2012. 19th International Workshop on Foundations of Object-Oriented Languages, Tucson, Arizona, USA, October 22, 2012.

Lightweight Polymorphic Effects

L. Rytz; M. Odersky; P. Haller 

2012. 26th European Conference on Object-Oriented Programming, Beijing, China, June 14 – 16, 2012. p. 258 – 282. DOI : 10.1007/978-3-642-31057-7_13.

Jet: An Embedded DSL for High Performance Big Data Processing

S. Ackermann; V. Jovanovic; T. Rompf; M. Odersky 

2012. International Workshop on End-to-end Management of Big Data (BigData 2012).

Theses

Lightweight Modular Staging and Embedded Compilers : Abstraction without Regret for High-Level High-Performance Programming

T. Rompf / M. Odersky (Dir.)  

Lausanne, EPFL, 2012. 

Reports

Multi-Lane FlowPools: A Detailed Look

T. Schlatter; A. Prokopec; H. Miller; P. Haller; M. Odersky 

2012

Relative Effect Declarations for Lightweight Effect-Polymorphism

L. Rytz; M. Odersky 

2012

Optimizing Data Structures in High-Level Programs: New Directions for Extensible Compilers based on Staging

T. Rompf; A. Sujeeth; N. Amin; K. Brown; V. Jovanovic et al. 

2012

FlowPools: A Lock-Free Deterministic Concurrent Dataflow Abstraction – Proofs

A. Prokopec; H. Miller; P. Haller; T. Schlatter; M. Odersky 

2012

Deprecating the Observer Pattern with Scala.React

I. Maier; M. Odersky 

2012

Lightweight Polymorphic Effects – Proofs

L. Rytz; M. Odersky; P. Haller 

2012

Student Projects

Miniboxing: An Encoding for Specialization

C. Talau 

2012.

Scaladoc Diagrams for Class Hierarchies

D. Obrist 

2012.

2011

Journal Articles

A cryptographically t-private auction system

M. Hinkelmann; A. Jakoby; N. Moebius; T. Rompf; P. Stechert 

Concurrency And Computation-Practice & Experience. 2011. Vol. 23, p. 1399 – 1413. DOI : 10.1002/cpe.1684.

Implementing Domain-Specific Languages For Heterogeneous Parallel Computing

H. Lee; K. J. Brown; A. K. Sujeeth; H. Chafi; K. Olukotun et al. 

Ieee Micro. 2011. Vol. 31, p. 42 – 52. DOI : 10.1109/MM.2011.68.

Conference Papers

Future-Proofing Collections: From Mutable to Persistent to Parallel

M. Odersky 

2011. 20th International Conference on Compiler Construction, Saarbrucken, GERMANY, Mar 26-Apr 03, 2011. p. 1 – 1. DOI : 10.1007/978-3-642-19861-8_1.

Tools and Frameworks for Big Learning in Scala: Leveraging the Language for High Productivity and Performance

H. Miller; P. Haller; M. Odersky 

2011. NIPS 2011 Workshop on Parallel and Large-Scale Machine Learning (BigLearn), Sierra Nevada, Spain, December 16-17, 2011.

Theses

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming

G. Dubochet / M. Odersky (Dir.)  

Lausanne, EPFL, 2011. 

Reports

RRB-Trees: Efficient Immutable Vectors

P. Bagwell; T. Rompf 

2011

PhoneLab: Cloud-Backed Development Environment for Smartphones

V. Kuncak; M. Odersky 

2011