Warning
Please note that the publication lists from Infoscience integrated into the EPFL website, lab or people pages are frozen following the launch of the new version of platform. The owners of these pages are invited to recreate their publication list from Infoscience. For any assistance, please consult the Infoscience help or contact support.
2024
Degrees of Separation: A Flexible Type System for Safe Concurrency
2024-04-03. OOPSLA 2024, Pasadena, California, United States, 20 – 25 October 2024.When Subtyping Constraints Liberate A Novel Type Inference Approach for First-Class Polymorphism
Proceedings Of The Acm On Programming Languages-Pacmpl. 2024-01-01. Vol. 8, num. POPL, p. 48. DOI : 10.1145/3632890.Scala 3 syntax rewriting
2024-01-05.2023
Capturing Types
Acm Transactions On Programming Languages And Systems. 2023-12-01. Vol. 45, num. 4, p. 21. DOI : 10.1145/3618003.Unsupervised Graph Representation Learning with Cluster-aware Self-training and Refining
Acm Transactions On Intelligent Systems And Technology. 2023-10-01. Vol. 14, num. 5, p. 82. DOI : 10.1145/3608480.Inline Traits for Specialization in Scala 3
2023-06-23.A Mechanized Theory of the Box Calculus
2023-06-10
2022
A case for DOT: Theoretical Foundations for Objects with Pattern Matching and GADT-Style Reasoning
Proceedings Of The Acm On Programming Languages-Pacmpl. 2022-10-01. Vol. 6, num. OOPSLA, p. 179. DOI : 10.1145/3563342.Implement string interpolator inline unapply
2022-06-17.Macro Annotations for Scala 3
2022-06-17.Effects, Capabilities, and Boxes From Scope-Based Reasoning to Type-Based Reasoning and Back
Proceedings Of The Acm On Programming Languages-Pacmpl. 2022-04-01. Vol. 6, num. OOPSLA, p. 76. DOI : 10.1145/3527320.Type-Level Programming with Match Types
Proceedings Of The Acm On Programming Languages-Pacmpl. 2022-01-01. Vol. 6, p. 37. DOI : 10.1145/3498698.Type-preserving compilation of (most of) FGJ into DOT
2022
2021
Proof of Multi-Stage Programming with Generative and Analytical Macros
2021-09-22
Representing Monads with Capabilities
HOPE 2021 Workshop, August 22, 2021.Formalizing GADT constraint reasoning in Scala
2021-06-25.Virtual ADTs for Portable Metaprogramming
2021-01-01. 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.Safer exceptions for Scala
2021-10-17. 12th ACM SIGPLAN International Symposium on Scala, Chicago, Illinois, USA, Sep 17, 2021. p. 1-11. DOI : 10.1145/3486610.3486893.Type-Level Programming with Match Types
2021
2020
Semantics-preserving inlining for metaprogramming
2020-11-13. SPLASH ’20: Conference on Systems, Programming, Languages, and Applications, Software for Humanity, Virtual, November 13, 2020. p. 14-24. DOI : 10.1145/3426426.3428486.A Type-and-Effect System for Object Initialization
2020-11-03
A Type-and-Effect System for Object Initialization
Proceedings Of The Acm On Programming Languages-Pacmpl. 2020-11-01. Vol. 4, p. 175. DOI : 10.1145/3428243.Safe Initialization of Objects
2020-09-10
Digital Design with Implicit State Machines
2020-01-17
Celsius: A Model for Safe Initialization of Objects
2020-01-09
Stoic: Towards Disciplined Capabilities
2020-01-09
Effects as Capabilities: Effect Handlers and Lightweight Effect Polymorphism
Proceedings Of The Acm On Programming Languages-Pacmpl. 2020-11-01. Vol. 4, p. 126. DOI : 10.1145/3428194.A Mechanized Theory of Quoted Code Patterns
2020-06-18.Report on Theory of Quoted Code Patterns
2020-06-10
Formal foundations for GADTs in Scala
2020-04-17.2019
Dotty Decompiler
2019-01-11.Towards Improved GADT Reasoning in Scala
2019-01-01. 10th ACM SIGPLAN International Symposium on Scala (Scala), London, ENGLAND, Jul 17, 2019. p. 12-16. DOI : 10.1145/3337932.3338813.Implementing the f string interpolator using Dotty macros
2019-06-04.XML String Interpolator for Dotty
2019-06-19.Staged Tagless Interpreters in Dotty
2019-01-17
2018
Truly abstract interfaces for algebraic data types: the extractor typing problem
2018-09-28. Scala 2018, St. Louis, Missouri, USA, September 28-28, 2018. DOI : 10.1145/3241653.3241658.Cross-Platform Language Design in Scala.js (Keynote)
2018-01-01. 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.Interflow: interprocedural flow-sensitive type inference and method duplication
2018-09-28. Scala 2018, St. Louis, MO, USA, September 28 – 28, 2018. p. 61-71. DOI : 10.1145/3241653.3241660.Initialization patterns in Dotty
2018-09-28. p. 51-55. DOI : 10.1145/3241653.3241662.Theory and Practice of Coroutines with Snapshots
2018. 32nd European Conference on Object-Oriented Programming (ECOOP 2018). p. 3:1-3:32. DOI : 10.4230/LIPICS.ECOOP.2018.3.A Practical Unification of Multi-stage Programming and Macros
2018. 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, Boston, MA, USA, November 5–6, 2018. DOI : 10.1145/3278122.3278139.Open Source Is A-Changin’: How Qualitative Research Can Help Us Adapt
2018-05-01.Towards a Solution to the Red Wedding Problem
2018.A Programming Model and Foundation for Lineage-Based Distributed Computation
Journal of Functional Programming. 2018. Vol. 28, p. e7. DOI : 10.1017/S0956796818000035.2017
Dotty Phantom Types
2017-07-21
Linker call graph with full Dotty support
2017-01-30
Design and implementation of an optimizing type-centric compiler for a high-level language
Lausanne, EPFL, 2017.Higher-Order Subtyping with Type Intervals
Lausanne, EPFL, 2017.Monotonicity Types
2017.Two approaches to portable macros
2017
Monotonicity Types for Distributed Dataflow
2017. 2nd Workshop on Programming Models and Languages for Distributed Computing, Barcelona, Spain, June 20, 2017. p. 2. DOI : 10.1145/3166089.3166090.Simplicitly: Foundations and Applications of Implicit Function Types
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.Foundations of Implicit Function Types
2017
Miniphases: Compilation using Modular and Efficient Tree Transformations
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’
2017. POPL 2017, Paris, France, January 15 – 21, 2017. DOI : 10.1145/3009837.3009867.Type Soundness Proofs with Definitional Interpreters
2017. POPL 2017, Paris, France, January 15 – 21, 2017. DOI : 10.1145/3009837.3009866.Unification of Compile-Time and Runtime Metaprogramming in Scala
Lausanne, EPFL, 2017.Call-graph-based Optimizations in Scala
2017
2016
Type Soundness for Dependent Object Types
2016. OOPSLA 2016, Amsterdam, Netherlands, November 02 – 04, 2016. DOI : 10.1145/2983990.2984008.Java and Scala’s Type Systems are Unsound The Existential Crisis of Null Pointers
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.Type Soundness for Dependent Object Types (DOT)
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 TASTY Alternative
2016
TASTY Reference Manual
2016
A generic algorithm for checking exhaustivity of pattern matching
2016. SCALA 2016, Amsterdam, Netherlands, October 30 – 31, 2016. p. 61-64. DOI : 10.1145/2998392.2998401.Semantics-Driven Interoperability between Scala.js and JavaScript
2016. 7th ACM SIGPLAN Symposium on Scala, Amsterdam, Netherlands, October 30-31, 2016. p. 85-94. DOI : 10.1145/2998392.2998404.Dependent Object Types
Lausanne, EPFL, 2016.Specialising Parsers for Queries
Lausanne, EPFL, 2016.Implementing Higher-Kinded Types in Dotty
2016. Scala Symposium 2016, Amsterdam, Oct 30-31, 2016. DOI : 10.1145/2998392.2998400.Auto-Collections for Scala
2016
Delaying arrays
2016
The Function Passing Model: Types, Proofs, and Semantics
2016
A Study of Capability-Based Effect Systems
2016.Uniting Language Embeddings for Fast and Friendly DSLs
Lausanne, EPFL, 2016.Call Graphs for Languages with Parametric Polymorphism
2016
The Essence of Dependent Object Types
2016. WadlerFest 2016, Edinburgh, UK, April 11-12, 2016. p. 249-272. DOI : 10.1007/978-3-319-30936-1_14.Decrypting Local Type Inference
Lausanne, EPFL, 2016.Function Passing: A Model for Typed, Distributed Functional Programming
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.2015
Effects as Implicit Capabilities
2015
Isolates, channels, and event streams for composable distributed programming
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.Java and Scala’s Type Systems are Unsound: The Existential Crisis of Null Pointers
2015. OOPSLA 2016, Amsterdam, Netherlands, November 02 – 04, 2016. DOI : 10.1145/2983990.2984004.Functional Pearl: A SQL to C Compiler in 500 Lines of Code
2015. ICFP 2015, Vancouver, BC, Canada, August 31 – September 02, 2015. DOI : 10.1145/2784731.2784760.Common Subexpression Elimination in Dotty
2015
Implementing Method Type Specialisation In Dotty
2015
Parser Macros for Scala
2015
Style Checking With Scala.Meta
2015
Functional Pearl: A SQL to C Compiler in 500 Lines of Code
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.Region-based off-heap memory for Scala
2015
RRB Vector: A Practical General Purpose Immutable Sequence
2015. International Conference on Functional Programming (ICFP), Vancouver, BC, Canada, August 31 – September 2, 2015. p. 342–354. DOI : 10.1145/2784731.2784739.Language Support for Distributed Functional Programming
Lausanne, EPFL, 2015.Interoperation between Miniboxing and Other Generics Translations
2015.Moment Semantics for Reversible Rule-Based Systems
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.Fold-based fusion as a library: a generative programming pearl
2015. 6th ACM SIGPLAN Symposium on Scala, Portland, OR, USA, June 13, 2015. p. 41-50. DOI : 10.1145/2774975.2774981.Miniboxing and the MbArray API
2015.Improving the Interoperation between Generics Translations
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.Automating Ad hoc Data Representation Transformations
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.Turning Relaxed Radix Balanced Vector from Theory into Practice for Scala Collections (Master Thesis)
2015.Distributed Programming via Safe Closure Passing
2015. Programming Language Approaches to Communication and Concurrency Centric Systems, London, UK, April 18, 2015.Macros in sbt: Problem Solved!
2015
Obey: Code Health for Scala.Meta
2015
Traversal Query Language For Scala.Meta
2015