Philipp Haller

Associate professor of computer science at KTH Royal Institute of Technology in the Theoretical Computer Science Group. PhD EPFL, 2010.

My main research interests are in the design and implementation of programming languages, type systems, concurrency, and distributed programming.

In June 2019 I received, together with 8 other individuals, the 2019 ACM SIGPLAN Programming Languages Software Award for the development of the Scala language. (Press: EPFL, CMU, KTH CASTOR Center)

Previously, I was a researcher, software engineer, and consultant at Typesafe Inc. Prior to Typesafe, I was a post-doctoral fellow at Stanford in the Pervasive Parallelism Lab (PPL) and at EPFL in the Programming Methods Lab (LAMP). Prior to that I was a PhD student of Martin Odersky at EPFL.

I am a top-10 contributor of the Scala project. I am co-author (with Jason Zaugg, Lightbend) of Scala's async/await extension (SIP-22) for asynchronous programming, and one of the lead designers of Scala's futures library (SIP-14). I created Scala's first widely-used actor library, and am the main author of the book "Actors in Scala" (Artima, 2012).

Curriculum Vitae (Sep 2018)

Students

Alumni

News

(Note: updated sporadically at best)

Publications

Book

Actors in Scala, by Philipp Haller and Frank Sommers. Walnut Creek, California. Artima Inc, 2012.

Actors in Scala is the authoritative guide to programming with the actors framework of Scala's standard library, co-written by the creator and lead maintainer, Philipp Haller. The book provides a comprehensive introduction to the actor model of concurrency and shows how Scala's actors enable you to build efficient, scalable, and robust concurrent software for the JVM.

Journals and Conference Proceedings

.
Mattias Wiggberg, Elina Gobena, Matti Kaulio, Richard Glassey, Olle Bälter, Dena Hussain, Roberto Guanciale, and Philipp Haller
.
IEEE Access
,
16 February 2022.
[DOI]
.
Viktor Palmkvist, Elias Castegren, Philipp Haller, and David Broman
.
Proceedings of the 30th ACM SIGPLAN International Conference on Compiler Construction
(CC 2021),
March 2021.
[DOI]
.
Long Zhang, Brice Morin, Philipp Haller, Benoit Baudry, and Martin Monperrus
.
Transactions on Software Engineering
(TSE),
to appear.
[DOI]
.
Xin Zhao and Philipp Haller
.
The Art, Science, and Engineering of Programming
5(2): 6 (2021).
[DOI]
.
Xin Zhao and Philipp Haller
.
Journal of Logical and Algebraic Methods in Programming
114: 100561 (2020).
[DOI]
.
Dominik Helm, Florian Kübler, Jan Thomas Kölzer, Philipp Haller, Michael Eichberg, Guido Salvaneschi and Mira Mezini
.
Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
(ISSTA 2020),
July 2020.
[DOI]
.
Richard Glassey, Olle Bälter, Philipp Haller, and Mattias Wiggberg
.
Proceedings of the 42nd International Conference on Software Engineering: Software Engineering Education and Training
(ICSE-SEET),
July 2020.
.
Guido Salvaneschi, Mirko Köhler, Daniel Sokolowski, Philipp Haller, Sebastian Erdweg, and Mira Mezini
.
Proceedings of the ACM on Programming Languages
3(OOPSLA): 167:1-167:30 (2019).
[DOI]
.
Philipp Haller and Heather Miller
.
Journal of Logical and Algebraic Methods in Programming
105: 75-111 (2019).
[DOI]
.
Olof Karlsson and Philipp Haller
.
ACM SIGPLAN Symposium on Scala
(Scala 2018),
St. Louis, MO, USA,
September 2018.

[DOI]
.
Philipp Haller, Heather Miller, and Normen Müller
.
Journal of Functional Programming
28: e7 (2018).
[DOI]
.
Philipp Haller and Alex Loiko
.
ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
(OOPSLA 2016),
Amsterdam, Netherlands,
November 2016.

Companion technical report: [arXiv:1607.05609]
.
Heather Miller, Philipp Haller, Normen Mueller, and Jocelyn Boullier
.
ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
(Onward! 2016),
Amsterdam, Netherlands,
November 2016.

Companion technical report: [EPFL-REPORT-221395]
.
Philipp Haller, Simon Geries, Michael Eichberg, and Guido Salvaneschi
.
ACM SIGPLAN Symposium on Scala
(Scala 2016),
Amsterdam, Netherlands,
October 2016.

.
Heather Miller, Philipp Haller, and Martin Odersky
.
European Conference on Object-Oriented Programming
(ECOOP 2014),
Uppsala, Sweden,
July 2014.
[DOI]
.
Heather Miller, Philipp Haller, Lukas Rytz, and Martin Odersky
.
36th Int'l Conference on Software Engineering, Software Engineering Education and Training Track
(ICSE 2014),
Hyderabad, India,
June 2014.

[DOI]
.
Heather Miller, Philipp Haller, Eugene Burmako, and Martin Odersky
.
ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
(OOPSLA 2013),
Indianapolis, IN, USA,
October 2013.
.
Tiark Rompf, Adriaan Moors, Nada Amin, Philipp Haller, and Martin Odersky
.
Higher-Order and Symbolic Computation
25(1): 165-207 (2012).
[DOI]
.
Lukas Rytz, Martin Odersky, and Philipp Haller
.
European Conference on Object-Oriented Programming
(ECOOP 2012),
Beijing, China,
June 2012.
[DOI]
.
Philipp Haller and Martin Odersky
.
European Conference on Object-Oriented Programming
(ECOOP 2010),
Maribor, Slovenia,
June 2010.
[DOI]
.
Philipp Haller and Martin Odersky
.
Theoretical Computer Science,
410(2-3): 202-220 (2009).
[DOI]
.
Philipp Haller and Tom Van Cutsem
.
10th International Conference on Coordination Models and Languages
(Coordination 2008),
Oslo, Norway,
June 2008.
[DOI]
.
Philipp Haller and Martin Odersky
.
9th International Conference on Coordination Models and Languages
(Coordination 2007),
Paphos, Cyprus,
June 2007.
[DOI]
.
Philipp Haller and Martin Odersky
.
7th Joint Modular Languages Conference
(JMLC 2006),
Oxford, UK,
September 2006.
[DOI]

Refereed Workshops

.
Jonas Spenger, Paris Carbone, and Philipp Haller
.
Polystore systems for heterogeneous data in multiple databases with privacy and security assurances
(Poly 2021),
Copenhagen, Denmark (Hybrid),
August 2021.
.
Gianluca Stivan, Andrea Peruffo, and Philipp Haller
.
International Workshop on Programming Based on Actors, Agents, and Decentralized Control
(AGERE! 2015),
Pittsburgh, PA, USA,
October 2015.
.
Aleksandar Prokopec, Philipp Haller, and Martin Odersky
.
Scala Workshop
(Scala 2014),
Uppsala, Sweden,
July 2014.
.
Philipp Haller and Heather Miller
.
SPLASH Workshop on Reactivity, Events and Modularity
(REM 2013),
Indianapolis, IN, USA,
October 2013.
.
Aleksandar Prokopec, Heather Miller, Tobias Schlatter, Philipp Haller, and Martin Odersky
.
Languages and Compilers for Parallel Computing
(LCPC 2012),
Tokyo, Japan,
September 2012.
.
Adriaan Moors, Tiark Rompf, Philipp Haller, and Martin Odersky
.
ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
(PEPM 2012),
Philadelphia, PA, USA,
January 2012.
.
Heather Miller, Philipp Haller, and Martin Odersky
.
NIPS Workshop on Parallel and Large-Scale Machine Learning
(BigLearn 2011),
Sierra Nevada, Spain,
December 2011.
.
Philipp Haller and Heather Miller
.
Scala Workshop,
Stanford, CA, USA,
June 2011.
.
Philipp Haller
.
SPLASH Workshop on Concurrency for the Application Programmer,
Reno, Nevada, USA,
October 2010.
.
Philipp Haller
.
Scala Workshop,
Lausanne, Switzerland,
April 2010.

Invited Papers

.
Philipp Haller
.
ACM SIGPLAN Workshop on Programming Based on Actors, Agents, and Decentralized Control
(AGERE! 2012),
Tucson, Arizona, USA,
October 2012.

Editorship

.
Carla Ferreira, Philipp Haller, Guido Salvaneschi
.
Dagstuhl Reports
9(10): 117-133
(2020)
[DOI]
.
Heather Miller, Philipp Haller, and Ondřej Lhoták
.
(Scala 2017),
Vancouver, BC, Canada,
October 2017.
.
Vasco T. Vasconcelos and Philipp Haller
.
(PLACES 2017),
Uppsala, Sweden,
April 2017.
.
Sylvan Clebsch, Travis Desell, Philipp Haller, and Alessandro Ricci
.
(AGERE 2016),
Amsterdam, Netherlands,
October 2016.
.
Elisa Gonzalez Boix, Philipp Haller, Alessandro Ricci, and Carlos Varela
.
(AGERE! 2015),
Pittsburgh, PA, USA,
October 2015.
.
Philipp Haller and Heather Miller
.
(Scala 2015),
Portland, OR, USA,
June 2015.
.
Elisa Gonzalez Boix, Philipp Haller, Alessandro Ricci, and Carlos Varela
.
(AGERE! 2014),
Portland, OR, USA,
October 2014.
.
Philipp Haller and Heather Miller
.
(Scala 2014),
Uppsala, Sweden,
July 2014.

Theses

by Philipp Haller.
Ph.D. Dissertation.
École Polytechnique Fédérale de Lausanne.
2010.

[DOI]
by Philipp Haller.
Diploma thesis, IPD Goos.
University of Karlsruhe.
2006.

Talks

Video recordings of several of my talks available via this YouTube playlist, or via the links provided below.

  • invited
    Keynote: Towards Robust Large-scale Concurrent and Distributed Programming,
    Cluj-Napoca, Romania (Virtual),
    30 July 2021.
  • invited
    Selected Challenges in Concurrent and Distributed Programming,
    Workshop on Programming Languages and Distributed Systems,
    RISE Computer Science, Stockholm, Sweden,
    5 March 2020.
  • Consistency Types for Distributed Programming Languages,
    Atlanta, GA, USA,
    22 October 2019.
  • invited
    Fine-grained Deterministic Parallelization of Static Analyses,
    Stockholm, Sweden,
    14 October 2019.
  • invited
    Keynote: Serverless Cloud Computing Beyond FaaS: Programming Models and Abstractions,
    Vienna, Austria,
    29 August 2019.
  • invited
    Asynchronous streams in direct style with and without macros,
    Curry On,
    London, UK,
    15 July 2019.
  • Asynchronous streams in direct style with and without macros,
    Scala Days,
    Lausanne, Switzerland,
    13 June 2019.
  • Robust, Large-scale Concurrent and Distributed Programming,
    Docent Lecture, KTH Royal Institute of Technology,
    Stockholm, Sweden,
    17 August 2018.
  • invited
    Deterministic Concurrency for Reliable, Large-Scale Software Systems,
    MPI-SWS,
    Kaiserslautern, Germany,
    February 2018.
  • invited
    Opening Session: Programming Reactive Systems in Scala: Principles and Abstractions,
    Entwicklertag Frankfurt 2018,
    Frankfurt, Germany,
    February 2018.
  • Lineages as a first-class construct for fault-tolerant distributed programming,
    Chaos Engineering Day,
    Stockholm, Sweden,
    December 2017.
  • invited
    Keynote: Taming Concurrent Programming with Domain-Specific Languages,
    ACM SIGPLAN International Workshop on Software Engineering for Parallel Systems 2017,
    Vancouver, Canada,
    October 2017.
  • Quantifying and Explaining Immutability in Scala,
    Scala Days 2017,
    Copenhagen, Denmark,
    June 2017.
  • invited
    Safe and Scalable Concurrent Programming in Scala,
    10th Annual Multicore Day, SICS Software Week,
    December 2016.
  • LaCasa: Lightweight Affinity and Object Capabilities in Scala,
    ACM SIGPLAN OOPSLA,
    November 2016.
  • Reactive Async: Expressive Deterministic Concurrency,
    ACM SIGPLAN Symposium on Scala,
    October 2016.
  • invited
    LaCasa: Lightweight Affinity and Object Capabilities in Scala,
    Northeastern University, USA,
    September 2016.
  • invited
    Invited Talk: Can we make concurrency in Scala safer?,
    Scala World 2016,
    Rheged Centre, Lake District, UK,
    September 2016.
  • invited
    Invited Talk: Papers vs. Artifacts,
    ECOOP 2016 Doctoral Symposium,
    Rome, Italy,
    July 2016.
  • Programming with Futures, Lattices, and Quiescence,
    Scala Days 2016,
    Berlin, Germany,
    June 2016.
  • invited
    Keynote: Reactive Programming in Scala,
    parallel 2016,
    Heidelberg, Germany,
    April 2016.
  • invited
    Invited Keynote Talk: Papers vs. Artifacts,
    SPLASH 2015 Doctoral Symposium,
    Pittsburgh, Pennsylvania, USA,
    October 2015.
  • invited
    Keynote: High-Level Concurrency Libraries: Challenges for Tool Support,
    ETX 2015 Eclipse Technology eXchange,
    Pittsburgh, Pennsylvania, USA,
    October 2015.
  • A formal model for direct-style asynchronous observables,
    27th Nordic Workshop on Programming Theory (NWPT 2015),
    Reykjavik University, Iceland,
    October 2015.
  • Function-Passing Style, A New Model for Asynchronous and Distributed Programming,
    with Heather Miller,
    Scala Days 2015,
    Amsterdam, Netherlands,
    June 2015.
  • Futures and Async: When to Use Which?,
    Scala Days 2014,
    Berlin, Germany,
    June 2014.
  • invited
    The Next 700 Asynchronous Programming Models,
    SPLASH 2013 (SPLASH-I),
    Indianapolis, IN,
    October 2013.
  • Simplifying Asynchronous Code With Scala Async,
    Strange Loop 2013,
    St. Louis, MO, USA,
    November 2013.
  • Scala Async: A New Way to Simplify Asynchronous Code (Make the Compiler Do It!),
    Scala Days 2013,
    New York City, NY,
    June 2013.
  • invited
    Simplifying Asynchronous Code with Scala Async,
    Skills Matter,
    London, UK,
    June 2013.
  • Simplifying Asynchronous Code with Scala Async,
    Emerging Technologies for the Enterprise (PhillyETE),
    Philadelphia, PA, USA,
    April 2013.
  • Correctly and Efficiently Combining Concurrency Abstractions,
    Skills Matter,
    London, UK,
    December 2012.
  • invited
    Futures and Promises in Scala 2.10,
    The Scala eXchange,
    London, UK,
    November 2012.
  • invited
    Keynote: On the Integration of the Actor Model in Mainstream Technologies-- The Scala Perspective,
    AGERE! @ SPLASH 2012,
    Tucson, Arizona, USA,
    October 2012.
  • Futures and Promises in Scala 2.10,
    with Heather Miller,
    Scala Enthusiasts Lausanne Meeting,
    Lausanne, Switzerland,
    September 2012.
  • Futures and Promises in Scala 2.10,
    with Heather Miller,
    Boston Area Scala Enthusiasts,
    Boston, Massachusetts, USA,
    August 2012.
  • The Many Flavors of Parallel Programming in Scala,
    Scalathon 2011,
    Philadelphia, Pennsylvania, USA,
    July 2011.
  • Scala for Multicore Programming,
    UPMARC Multicore Computing Summer School,
    Stockholm, Sweden,
    June 2011.
  • Parallelizing Machine Learning-- Functionally,
    with Heather Miller,
    Second Annual Scala Workshop,
    Stanford, California, USA,
    June 2011.
  • Capabilities for Uniqueness and Borrowing,
    24th European Conference on Object-Oriented Programming (ECOOP 2010),
    Maribor, Slovenia,
    June 2010.
  • Lightweight language support for type-based, concurrent event processing,
    First Annual Scala Workshop,
    Lausanne, Switzerland,
    April 2010.
  • Scala: How to Make Best Use of Functions and Objects,
    with Lukas Rytz and Martin Odersky,
    Tutorial at ACM Symposium on Applied Computing,
    Sierre, Switzerland,
    March 2010.
  • Actor-Based Concurrency in Scala,
    with Frank Sommers,
    JavaOne 2009,
    San Francisco, California, USA,
    June 2009.
  • invited
    An Overview of Scala,
    Copenhagen Programming Language Seminar (COPLAS),
    Copenhagen, Denmark,
    June 2008.
  • Implementing Joins using Extensible Pattern Matching,
    10th International Conference on Coordination Models and Languages (COORDINATION'08),
    Oslo, Norway,
    June 2008.
  • invited
    Concurrent Programming in Scala: Actors and Joins,
    2nd International Summer School on Trends in Concurrency (TiC'08),
    Prague, Czech Republic,
    June 2008.
  • Implementing Joins using Extensible Pattern Matching,
    Workshop on Declarative Aspects of Multicore Programming (DAMP'08) @ POPL 2008,
    San Francisco, California, USA,
    January 2008.
  • Actors that Unify Threads and Events,
    9th International Conference on Coordination Models and Languages (COORDINATION'07),
    Paphos, Cyprus,
    June 2007.
  • Scala Actors-- Scalable Multithreading on the JVM,
    IBM Development Lab,
    Boeblingen, Germany,
    May 2007.

Copyright © 2006-2022 Philipp Haller. All rights reserved.

Currently
Associate Professor,
Previously
Assistant
Professor,
Lindstedtsvägen 3, floor 5, office 1520
SE-100 44 Stockholm, Sweden