Welcome to the Parti(tioning) (Functional Pearl)
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 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:00 - 10:30 | |||
09:00 30mTalk | MicroHs - A Small Compiler for Haskell Haskell Lennart Augustsson Epic Games | ||
09:30 30mTalk | Higher Order Patterns for Rewrite Rules Haskell Jaro Reinders Delft University of Technology DOI File Attached | ||
10:00 30mTalk | Welcome to the Parti(tioning) (Functional Pearl) Haskell |