Martin Odersky

Registered user since Sun 20 Jun 2021

Name:Martin Odersky
Bio:

Martin Odersky is a professor at EPFL in Lausanne, Switzerland. He has been working on programming languages for most of his career. He first studied structured and object-oriented programming as a PhD student of Niklaus Wirth, then fell in love with functional programming while working as a post doc at IBM and Yale. When Java came out, he started to add functional programming constructs to the new platform. This led to Pizza and GJ and eventually to Java 5 with generics. During that time he also developed javac, the current reference compiler for Java.

Over the last 10 years, Martin worked on unifying object-oriented and functional programming in the Scala language. Scala quickly escaped from the research lab and became a popular open source tool and industrial language. He now oversees development of Scala as head of the programming group at EPFL and as academic director of the Scala center.

Country:Switzerland
Affiliation:EPFL
Research interests:Programming Languages, Scala, Objects, Functions

Contributions

ECOOP 2022 Committee Member in Program Committee within the Research Papers-track
Scala 2022 Keynote Speaker in Keynote within the Scala 2022-track
Author of Tracking Captures in Types within the Scala 2022-track
POPL 2022 Author of Type-Level Programming with Match Types within the POPL-track
GPCE 2021 Author of Multi-Stage Programming with Generative and Analytical Macros within the GPCE-track
Scala 2021 Author of Safer Exceptions for Scala within the Scala-track
HOPE 2021 Author of Representing Monads with Capabilities within the HOPE 2021-track
SPLASH 2020 Author of A Type-and-Effect System for Object Initialization within the OOPSLA-track
Author of A Type-and-Effect System for Object Initialization within the OOPSLA Artifacts-track
Scala 2020 Author of Semantics-Preserving Inlining for Metaprogramming within the Scala-track
Scala 2019 Author in Steering Committee within the Scala 2019-track
SPLASH 2018 Author of A Practical Unification of Multi-Stage Programming and Macros within the Posters-track
GPCE 2018 Author of A Practical Unification of Multi-Stage Programming and Macros within the GPCE 2018-track
Scala 2018 Author of Interflow: Interprocedural Flow-Sensitive Type Inference and Method Duplication within the Scala 2018-track
Author of Initialization Patterns in Dotty within the Scala 2018-track
Committee Member in Steering Committee within the Scala 2018-track
Author of Truly Abstract Interfaces for Algebraic Data Types: The Extractor Typing Problem within the Scala 2018-track
POPL 2018 Author of Simplicitly: Foundations and Applications of Implicit Function Types within the Research Papers-track
Author of Simplicitly: Foundations and Applications of Implicit Function Types within the Artifact Evaluation-track
Scala 2017 Committee Member in Steering Committee within the Scala 2017-track
Committee Member in Program Committee within the Scala 2017-track
CurryOn 2017 Author of What to Leave Implicit within the Curry On Keynotes-track
PLDI 2017 Keynote Speaker of What to Leave Implicit within the PLDI Invited Speakers-track
Author of Miniphases: Compilation using Modular and Efficient Tree Transformations within the PLDI Research Papers-track
SPLASH 2016 Session Chair of Program Synthesis (part of OOPSLA)
Author of Call Graphs for Languages with Parametric Polymorphism within the OOPSLA-track
Keynote Speaker of SPLASH 2016 Keynote: From DOT to Dotty -- Foundations and Types for Objects As Modules within the Keynotes and Awards-track
Scala 2016 Author of Implementing Higher-Kinded Types in Dotty within the Scala-track
HOPE 2016 Author of Effects as Capabilities within the HOPE-track
SPLASH 2015 Author of Automating Ad-hoc Data Representation Transformations within the OOPSLA Artifacts-track
Author of Automating Ad-hoc Data Representation Transformations within the OOPSLA-track
Onward! 2015 Author of Isolates, Channels and Event Streams for Composable Distributed Programming within the Onward! Papers-track
DSLDI 2015 Author of Dynamic Compilation of DSLs within the DSLDI-track
PLOOC 2015 Author of Functional Programming For All! Scaling a MOOC for Students and Professionals Alike within the PLOOC 2015-track
SPLASH 2014 Presenter of Late Data Layout: Unifying Data Representation Transformations within the OOPSLA Artifacts-track
Author of Late Data Layout: Unifying Data Representation Transformations within the OOPSLA-track
Author of Foundations of Path-Dependent Types within the OOPSLA-track
Author of Staged Parser Combinators for Efficient Data Processing within the OOPSLA-track
GPCE 2013 Author of Spiral in Scala: Towards the Systematic Construction of Generators for Performance Libraries within the Research Papers-track
Author of Forge: Generating a High Performance DSL Implementation from a Declarative Specification. within the Research Papers-track
SPLASH 2013 Author of Miniboxing: Improving the Speed to Code Size Tradeoff in Parametric Polymorphism Translations within the OOPSLA-track
Author of Instant Pickles: Generating Object-Oriented Pickler Combinators for Fast and Extensible Serialization within the OOPSLA-track
FOOL 2012 Author of Dependent Object Types within the FOOL 2012-track