Philipp
Haller
Associate professor of computer science at KTH Royal Institute of Technology in the Theoretical Computer Science Group, a Digital Futures Faculty and a WASP researcher. 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)
PhD students
- Jonas Spenger (PhD, main supervisor, co-supervisor Paris Carbone)
- Jens Kanstrup Larsen (PhD @ DTU Compute, co-supervisor, main supervisor Alceste Scalas, DTU, Denmark)
- Han Fu (PhD, second supervisor, main supervisor Cyrille Artho)
- Lars Hummelgren (PhD, second supervisor, main supervisor David Broman)
Alumni
News
(Note: updated sporadically at best)
-
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)
-
December 2018 -- I was promoted to Associate Professor.
-
June 2018 -- I became Docent in Computer Science.
-
June 2017 -- I received the 2016 Teacher of the Year award of the School of Computer Science and Communication (now EECS) at KTH Royal Institute of Technology, for Software Development Academy, the bootcamp education for newly arrived immigrants which I created together with Mattias Wiggberg (KTH) and Farzad Golchin (Novare Potential).
-
November 2016 -- The CFP for PLACES 2017 was published. Please consider submitting a paper. PLACES 2017 is co-located with ETAPS 2017 in Uppsala, Sweden.
-
November 2016 -- I am going to give a talk on Thursday December 1st at the 10th Annual Multicore Day 2016 which is part of the SICS Software Week 2016. Topic: Safe and Scalable Concurrent Programming in Scala.
-
September 2016 -- Our paper Reactive Async: Expressive Deterministic Concurrency (with Simon Geries, Michael Eichberg, and Guido Salvaneschi) has been accepted to the Scala Symposium 2016.
-
August 2016 -- My paper LaCasa: Lightweight Affinity and Object Capabilities in Scala with Alex Loiko has been accepted to OOPSLA 2016.
-
June 2016 -- I will attend a Dagstuhl Seminar on Theory and Applications of Behavioural Types to be held at Schloss Dagstuhl in Germany.
-
June 2016 -- I was interviewed by 47 Degrees at Scala Days Berlin 2016 on deterministic concurrency and the future of Scala (video on YouTube).
-
June 2016 -- Our pilot project on an intensive programming education for new arrivals to Sweden has received funding from the Wallenberg Foundations (KTH news, ComputerSweden).
-
May 2016 -- Our paper Function Passing: A Model for Typed, Distributed Functional Programming (with Heather Miller, Normen Müller, and Jocelyn Boullier) has been accepted to Onward! 2016.
-
April 2016 -- I will attend a Dagstuhl Seminar on Programming Language Techniques for Incremental and Reactive Computing to be held at Schloss Dagstuhl in Germany.
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
.
Aleksey Veresov, Jonas Spenger, Paris Carbone, Philipp Haller
.
38th European Conference on Object-Oriented Programming
(ECOOP 2024),
Vienna, Austria,
September 16-20, 2024.
.
Philipp Haller, Ayman Hussein, Hernan Melgratti, Alceste Scalas, Emilio Tuosto
.
38th European Conference on Object-Oriented Programming
(ECOOP 2024),
Vienna, Austria,
September 16-20, 2024.
Han Fu, Sigrid Eldh, Kristian Wiklund, Andreas Ermedahl, Philipp Haller and Cyrille Valentin Artho
.
Proceedings of the 17th IEEE International Conference on Software Testing, Verification, and Validation
(ICST 2024): 383-394,
Toronto, Canada,
May 27-31, 2024.
.
Jonas Spenger, Paris Carbone, Philipp Haller
.
Lecture Notes in Computer Science, vol 14360: 123-146 (2024).
.
Jens Kanstrup Larsen, Roberto Guanciale, Philipp Haller, Alceste Scalas
.
Proceedings of the ACM on Programming Languages
7(OOPSLA2): 1935-1963 (2023).
.
Jonas Spenger, Chengyang Huang, Philipp Haller, Paris Carbone
.
PVLDB
16(12): 4054-4057 (2023).
.
Viktor Palmkvist, Elias Castegren, Philipp Haller, David Broman
.
Proceedings of the ACM on Programming Languages
7(POPL): 1686-1712 (2023).
.
Jonas Spenger, Paris Carbone, Philipp Haller
.
ACM SIGPLAN Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
(SPLASH Onward! 2022),
Auckland, New Zealand,
December 2022.
.
Philipp Haller
.
ACM SIGPLAN Scala Symposium
(Scala 2022),
Berlin, Germany,
October 2022.
.
Mattias Wiggberg, Elina Gobena, Matti Kaulio, Richard Glassey, Olle Bälter, Dena Hussain, Roberto Guanciale, and Philipp Haller
.
IEEE Access
,
16 February 2022.
.
Viktor Palmkvist, Elias Castegren, Philipp Haller, and David Broman
.
Proceedings of the 30th ACM SIGPLAN International Conference on Compiler Construction
(CC 2021),
March 2021.
.
Long Zhang, Brice Morin, Philipp Haller, Benoit Baudry, and Martin Monperrus
.
IEEE Transactions on Software Engineering
47(11): 2534-2548 (2021).
.
Xin Zhao and Philipp Haller
.
The Art, Science, and Engineering of Programming
5(2): 6 (2021).
.
Xin Zhao and Philipp Haller
.
Journal of Logical and Algebraic Methods in Programming
114: 100561 (2020).
.
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.
.
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).
.
Philipp Haller and Heather Miller
.
Journal of Logical and Algebraic Methods in Programming
105: 75-111 (2019).
.
Olof Karlsson and Philipp Haller
.
ACM SIGPLAN Symposium on Scala
(Scala 2018),
St. Louis, MO, USA,
September 2018.
.
Philipp Haller, Heather Miller, and Normen Müller
.
Journal of Functional Programming
28: e7 (2018).
.
Philipp Haller and Alex Loiko
.
ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications
(OOPSLA 2016),
Amsterdam, Netherlands,
November 2016.
.
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.
.
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.
.
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.
.
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).
.
Lukas Rytz, Martin Odersky, and Philipp Haller
.
European Conference on Object-Oriented Programming
(ECOOP 2012),
Beijing, China,
June 2012.
.
Philipp Haller and Martin Odersky
.
European Conference on Object-Oriented Programming
(ECOOP 2010),
Maribor, Slovenia,
June 2010.
.
Philipp Haller and Martin Odersky
.
Theoretical Computer Science,
410(2-3): 202-220 (2009).
.
Philipp Haller and Tom Van Cutsem
.
10th International Conference on Coordination Models and Languages
(Coordination 2008),
Oslo, Norway,
June 2008.
.
Philipp Haller and Martin Odersky
.
9th International Conference on Coordination Models and Languages
(Coordination 2007),
Paphos, Cyprus,
June 2007.
.
Philipp Haller and Martin Odersky
.
7th Joint Modular Languages Conference
(JMLC 2006),
Oxford, UK,
September 2006.
Refereed Workshops and Demos
.
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)
.
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.
by Philipp Haller.
Karlsruhe Institute of Technology.
2006.
Talks
Video recordings of several of my talks available via this YouTube playlist, or via the links provided below.
invited
Towards Safer Lightweight Concurrency in Scala,
Scala Autumn Meetup @ Wolt,
Stockholm, Sweden,
September 12, 2024.
invited
Extending Scala for Safe Concurrent Programming,
University of Waterloo,
Waterloo, Canada,
May 29, 2024.
invited
Extending Scala for Safe Concurrent Programming,
Université de Montréal,
Montreal, Canada,
May 24, 2024.
invited
Extending Scala for Safe Concurrent Programming,
McGill University,
Montreal, Canada,
May 23, 2024.
invited
Keynote: Lightweight Affine Types for Safe Concurrency in Scala,
Lund, Sweden,
12 March 2024.
invited
Keynote: How to Make Distributed Programming Safer using Types,
Västerås, Sweden,
22 November 2023.
Portals: Teleporting smart edge services to a serverless future,
Karolinska Institutet, Sweden,
19 October 2023.
Consistency Types for Replicated Data in a Higher-order Distributed Programming Language,
Tokyo, Japan,
15 March 2023.
How to avoid safety hazards when using closures in Scala,
5 October 2022.
How to avoid safety hazards when using closures in Scala,
St. Louis, Missouri, USA,
23 September 2022.
invited
Extending Dataflow Streaming for Stateful Serverless,
Stockholm, Sweden,
1 September 2022.
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,
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-2024 Philipp Haller. All rights reserved.