2025
Journal Articles
What’s in the Box: Ergonomic and Expressive Capture Tracking over Generic Data Structures
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
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
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
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
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
2025.Path-dependent capture tracking
2025.2024
Journal Articles
Qualifying System F<: Some Terms and Conditions May Apply
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
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
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
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
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
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
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
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
2024. OOPSLA 2024, Pasadena, California, United States, 20 – 25 October 2024.A Formal Foundation of Reach Capabilities
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
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
Lausanne, EPFL, 2024.Student Projects
Scala 3 syntax rewriting
2024.2023
Journal Articles
Capturing Types
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
Acm Transactions On Intelligent Systems And Technology. 2023. Vol. 14, num. 5, p. 82. DOI : 10.1145/3608480.Theses
Scalable Metaprogramming in Scala 3
Lausanne, EPFL, 2023.Type-Preserving Compilation of Class-Based Languages
Lausanne, EPFL, 2023.Reports
A Mechanized Theory of the Box Calculus
2023
Student Projects
Inline Traits for Specialization in Scala 3
2023.2022
Journal Articles
A case for DOT: Theoretical Foundations for Objects with Pattern Matching and GADT-Style Reasoning
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
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
Proceedings Of The Acm On Programming Languages-Pacmpl. 2022. Vol. 6, p. 37. DOI : 10.1145/3498698.Theses
Abstractions for Type-Level Programming
Lausanne, EPFL, 2022.Reports
Type-preserving compilation of (most of) FGJ into DOT
2022
Student Projects
Implement string interpolator inline unapply
2022.Macro Annotations for Scala 3
2022.2021
Conference Papers
Safer exceptions for Scala
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
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
2021
Type-Level Programming with Match Types
2021
Talks
Representing Monads with Capabilities
HOPE 2021 Workshop, August 22, 2021.Student Projects
Formalizing GADT constraint reasoning in Scala
2021.2020
Journal Articles
A Type-and-Effect System for Object Initialization
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
Proceedings Of The Acm On Programming Languages-Pacmpl. 2020. Vol. 4, p. 126. DOI : 10.1145/3428194.Conference Papers
Semantics-preserving inlining for metaprogramming
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
Lausanne, EPFL, 2020.Safe initialization of objects
Lausanne, EPFL, 2020.Working Papers
Safe Initialization of Objects
2020
Report on Theory of Quoted Code Patterns
2020
Reports
A Type-and-Effect System for Object Initialization
2020
Digital Design with Implicit State Machines
2020
Stoic: Towards Disciplined Capabilities
2020
Celsius: A Model for Safe Initialization of Objects
2020
Student Projects
A Mechanized Theory of Quoted Code Patterns
2020.Formal foundations for GADTs in Scala
2020.2019
Conference Papers
Towards Improved GADT Reasoning in Scala
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
2019
Student Projects
XML String Interpolator for Dotty
2019.Implementing the f string interpolator using Dotty macros
2019.Dotty Decompiler
2019.2018
Journal Articles
A Programming Model and Foundation for Lineage-Based Distributed Computation
Journal of Functional Programming. 2018. Vol. 28, p. e7. DOI : 10.1017/S0956796818000035.Conference Papers
Interflow: interprocedural flow-sensitive type inference and method duplication
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
2018. Scala 2018, St. Louis, Missouri, USA, September 28-28, 2018. DOI : 10.1145/3241653.3241658.Initialization patterns in Dotty
2018. p. 51 – 55. DOI : 10.1145/3241653.3241662.Open Source Is A-Changin’: How Qualitative Research Can Help Us Adapt
2018.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.Towards a Solution to the Red Wedding Problem
2018.Cross-Platform Language Design in Scala.js (Keynote)
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
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
Lausanne, EPFL, 2018.2017
Conference Papers
Monotonicity Types
2017.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.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.Monotonicity Types for Distributed Dataflow
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
Lausanne, EPFL, 2017.Design and implementation of an optimizing type-centric compiler for a high-level language
Lausanne, EPFL, 2017.Unification of Compile-Time and Runtime Metaprogramming in Scala
Lausanne, EPFL, 2017.Reports
Dotty Phantom Types
2017
Linker call graph with full Dotty support
2017
Call-graph-based Optimizations in Scala
2017
Foundations of Implicit Function Types
2017
Two approaches to portable macros
2017
2016
Conference Papers
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 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.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.Implementing Higher-Kinded Types in Dotty
2016. Scala Symposium 2016, Amsterdam, Oct 30-31, 2016. DOI : 10.1145/2998392.2998400.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.Type Soundness for Dependent Object Types
2016. OOPSLA 2016, Amsterdam, Netherlands, November 02 – 04, 2016. DOI : 10.1145/2983990.2984008.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.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.Theses
Decrypting Local Type Inference
Lausanne, EPFL, 2016.Dependent Object Types
Lausanne, EPFL, 2016.Uniting Language Embeddings for Fast and Friendly DSLs
Lausanne, EPFL, 2016.Specialising Parsers for Queries
Lausanne, EPFL, 2016.Reports
A TASTY Alternative
2016
Auto-Collections for Scala
2016
The Function Passing Model: Types, Proofs, and Semantics
2016
Delaying arrays
2016
TASTY Reference Manual
2016
Call Graphs for Languages with Parametric Polymorphism
2016
Student Projects
A Study of Capability-Based Effect Systems
2016.2015
Conference Papers
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.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.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 – . DOI : 10.1145/2784731.2784739.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.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.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.Distributed Programming via Safe Closure Passing
2015. Programming Language Approaches to Communication and Concurrency Centric Systems, London, UK, April 18, 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.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.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.Theses
Language Support for Distributed Functional Programming
Lausanne, EPFL, 2015.Working Papers
Effects as Implicit Capabilities
2015
Reports
Traversal Query Language For Scala.Meta
2015
Macros in sbt: Problem Solved!
2015
Parser Macros for Scala
2015
Common Subexpression Elimination in Dotty
2015
Region-based off-heap memory for Scala
2015
Obey: Code Health for Scala.Meta
2015
Style Checking With Scala.Meta
2015
Implementing Method Type Specialisation In Dotty
2015
Student Projects
Miniboxing and the MbArray API
2015.Interoperation between Miniboxing and Other Generics Translations
2015.Turning Relaxed Radix Balanced Vector from Theory into Practice for Scala Collections (Master Thesis)
2015.2014
Journal Articles
Unifying Functional and Object-Oriented Programming with Scala
Communications Of The Acm. 2014. Vol. 57, num. 4, p. 76 – 86. DOI : 10.1145/2591013.Foundations of Path-Dependent Types
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
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
Acm Transactions On Embedded Computing Systems. 2014. Vol. 13, num. 4S, p. 134. DOI : 10.1145/2584665.Staged Parser Combinators for Efficient Data Processing
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
Acm Sigplan Notices. 2014. Vol. 49, num. 3, p. 125 – 134. DOI : 10.1145/2517208.2517228.Conference Papers
Reversible Sesqui-Pushout Rewriting, Graph Transformation
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
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
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
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
2014. 36th International Conference on Software Engineering (ICSE’14) SEET Track, Hyderabad, India, May 31 – June 7, 2014.Computing with an SMT Solver
2014. DOI : 10.1007/978-3-319-09099-3_2.Yin-yang: concealing the deep embedding of DSLs
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
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
2014.Near Optimal Work-Stealing Tree Scheduler for Highly Irregular Data-Parallel Workloads
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
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!
2014.Building Efficient Query Engines in a High-Level Language
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
2014. Scala 2014, Uppsala, Sweden, July 28-29, 2014. p. 51 – 61. DOI : 10.1145/2637647.2637656.Late Data Layout: Unifying Data Representation Transformations
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
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
Lausanne, EPFL, 2014.A Practical Effect System for Scala
Lausanne, EPFL, 2014.Reports
On Lock-Free Work-stealing Iterators for Parallel Data Structures
2014
Additional Material for “Unifying Data Representation Transformations”
2014
Improving the Performance of Scala Collections with Miniboxing
2014
Making sbt Macro-Aware
2014
Yin-Yang: Concealing the Deep Embedding of DSLs
2014
BlitzViews – lazy parallel operations for Scala collections
2014
Scala AST Persistence
2014
Student Projects
Report on Scala Multisets API (Bag trait)
2014.Better Loop Fusion for LMS
2014.Hygiene for Scala
2014.2013
Journal Articles
Scala-Virtualized: Linguistic Reuse for Deep Embeddings
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
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
2013. Workshop on Reactivity, Events and Modularity, Indianapolis, Indiana, USA, October 28, 2013.What are the Odds? Probabilistic programming in Scala
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!
2013. 4th Annual Workshop Scala 2013, Montpellier, France, July 2, 2013. DOI : 10.1145/2489837.2489840.A Flow-Insensitive, Modular Effect System for Purity
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
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
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
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
Lausanne, EPFL, 2013.Reports
On a Near Optimal Work-Stealing Tree Data-Parallel Scheduler for Highly Irregular Workloads
2013
Achieving Efficient Work-Stealing for Data-Parallel Collections
2013
Quasiquotes for Scala
2013
Spores, Formally
2013
Scala.js: Type-Directed Interoperability with Dynamically Typed Languages
2013
Student Projects
An Embedded Query Language in Scala
2013.Using Reified Types for Specialization
2013.DynaProg for Scala
2013.2012
Journal Articles
Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs
Communications Of The Acm. 2012. Vol. 55, p. 121 – 130. DOI : 10.1145/2184319.2184345.Concurrent Tries with Efficient Non-Blocking Snapshots
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
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
2012. Third International Valentin Turchin Workshop on Metacomputation, Pereslavl-Zalessky, Russia, July 5-9, 2012.Implementing a Type Debugger for Scala
2012. Asia-Pacific Programming Languages and Compilers Workshop, Beijing, China, June 14, 2012.JavaScript as an Embedded DSL
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
2012. 19th International Workshop on Foundations of Object-Oriented Languages, Tucson, Arizona, USA, October 22, 2012.Lightweight Polymorphic Effects
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
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
Lausanne, EPFL, 2012.Reports
Multi-Lane FlowPools: A Detailed Look
2012
Relative Effect Declarations for Lightweight Effect-Polymorphism
2012
Optimizing Data Structures in High-Level Programs: New Directions for Extensible Compilers based on Staging
2012
FlowPools: A Lock-Free Deterministic Concurrent Dataflow Abstraction – Proofs
2012
Deprecating the Observer Pattern with Scala.React
2012
Lightweight Polymorphic Effects – Proofs
2012
Student Projects
Miniboxing: An Encoding for Specialization
2012.Scaladoc Diagrams for Class Hierarchies
2012.2011
Journal Articles
A cryptographically t-private auction system
Concurrency And Computation-Practice & Experience. 2011. Vol. 23, p. 1399 – 1413. DOI : 10.1002/cpe.1684.Implementing Domain-Specific Languages For Heterogeneous Parallel Computing
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
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
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
Lausanne, EPFL, 2011.Reports
RRB-Trees: Efficient Immutable Vectors
2011
PhoneLab: Cloud-Backed Development Environment for Smartphones
2011