Philipp Haller

Programming languages researcher, developer and consultant at Typesafe.

Previously, I was a post-doctoral fellow in the Pervasive Parallelism Lab at Stanford University and in the Programming Methods Lab (LAMP) at EPFL, Switzerland. Prior to that I was a PhD student of Martin Odersky. My main research interests are in the design and implementation of programming languages and managed runtime environments to support concurrent and parallel software. I received a PhD in Computer Science from EPFL in Lausanne, Switzerland, in 2010.

I am a top-10 contributor of the Scala project. Recently, I have been working on Scala 2.10 futures (SIP-14) as well as Scala’s upcoming Async feature (SIP-22) for asynchronous and concurrent programming.

Curriculum Vitae

Projects

Past Projects

  • Unique References for Scala: Uniqueness types based on static capabilities

  • Scala Actors: Very lightweight concurrent processes integrated with Scala through a high-level embedded domain-specific language

  • Delite: A compiler framework and runtime for parallel embedded domain-specific languages

  • Menthor: Parallelizing Machine Learning–Functionally: A framework and abstraction for parallelizing iterative algorithms common to fields like machine learning and convex optimization

  • Scala Joins: An implementation of joins for Scala based on extensible pattern matching

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.

Journal Publications

.
Tiark Rompf, Adriaan Moors, Nada Amin, Philipp Haller, and Martin Odersky
.
Higher-Order and Symbolic Computation,
2013.
.
Philipp Haller and Martin Odersky
.
Journal of Theoretical Computer Science,
Volume 410, Issue 2-3.
2009.
pages 202-220.

Conference and Workshop Publications

.
Heather Miller, Philipp Haller, Lukas Rytz, and Martin Odersky
.
36th Int'l Conference on Software Engineering, Software Engineering Education and Training Track
(ICSE SEET 2014),
Hyderabad, India,
June 2014.
.
Philipp Haller and Heather Miller
.
SPLASH Workshop on Reactivity, Events and Modularity
(REM 2013),
Indianapolis, IN, USA,
October 2013.
.
Heather Miller, Philipp Haller, Eugene Burmako, and Martin Odersky
.
ACM International Conference on Object Oriented Programming Systems Languages and Applications
(OOPSLA 2013),
Indianapolis, IN, USA,
October 2013.
.
Philipp Haller
.
ACM SIGPLAN Workshop on Programming Based on Actors, Agents, and Decentralized Control
(AGERE! 2012),
Tucson, Arizona, USA,
October 2012.
.
Aleksandar Prokopec, Heather Miller, Tobias Schlatter, Philipp Haller, and Martin Odersky
.
Languages and Compilers for Parallel Computing
(LCPC 2012),
Tokyo, Japan,
September 2012.
.
Lukas Rytz, Martin Odersky, and Philipp Haller
.
European Conference on Object-Oriented Programming
(ECOOP 2012),
Beijing, China,
June 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 and Martin Odersky
.
European Conference on Object-Oriented Programming
(ECOOP 2010),
Maribor, Slovenia,
June 2010.
.
Philipp Haller
.
Scala Workshop,
Lausanne, Switzerland,
April 2010.
.
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.

Theses

by Philipp Haller.
Ph.D. Dissertation.
École Polytechnique Fédérale de Lausanne.
2010.
by Philipp Haller.
Diploma thesis, IPD Goos.
University of Karlsruhe.
2006.

Talks

  • Scala Async: A New Way to Simplify Asynchronous Code (Make the Compiler Do It!),
    ScalaDays 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
    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.