ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Sat 7 Sep 2024 10:00 - 10:30 at Orange 3 - Haskell 3 Chair(s): Paul Downen

Writing distributed applications is hard, as the programmer needs to describe the communication protocol between the different endpoints. If this is not done correctly, we can introduce bugs such as deadlocks and data races. Tierless and choreographic programming models aim to make this easier by describing the interactions of every endpoint in a single compilation unit. When such a program is compiled, ideally, a single endpoint is projected and the code for the other endpoints is removed. This leads to smaller binaries with fewer dependencies, and is called program partitioning.

In this pearl, we show how we can use rewrite rules and specialisation to get GHC to partition our Haskell programs (almost) for free, if they are written using the Haste App or HasChor framework.

As an example of why partitioning is useful, we show how an example application can be more easily built and deployed after being partitioned.

Sat 7 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

09:00 - 10:30
Haskell 3Haskell at Orange 3
Chair(s): Paul Downen University of Massachusetts at Lowell
09:00
30m
Talk
MicroHs - A Small Compiler for Haskell
Haskell
Lennart Augustsson Epic Games
09:30
30m
Talk
Higher Order Patterns for Rewrite Rules
Haskell
Jaro Reinders Delft University of Technology
DOI File Attached
10:00
30m
Talk
Welcome to the Parti(tioning) (Functional Pearl)
Haskell
Robert Krook Chalmers University of Technology, Sweden, Samuel Hammersberg Gothenburg University