Abstract
Data serialisation is a crucial feature of real-world programming languages, often provided by standard libraries or even built-in to the language. However, a number of questions arise when the language in question uses demand-driven evaluation and supports higher-order functions, as is the case for the lazy functional language Haskell. To date, solutions to serialisation for Haskell generally do not support higher-order functions and introduce additional strictness.
This paper investigates a novel approach to serialisation of Haskell data structures with a high degree of flexibility, based on runtime support for parallel Haskell on distributed memory platforms. This serialisation has highly desirable and so-far unrivalled properties: it is truly orthogonal to evaluation and also does not require any type class mechanisms. Especially, (almost) any kind of value can be serialised, including functions and IO actions. We outline the runtime support on which our serialisation is based, and present an API of Haskell functions and types which ensure dynamic type safety of the serialisation process. Furthermore, we explore and exemplify potential application areas for orthogonal serialisation.
This paper investigates a novel approach to serialisation of Haskell data structures with a high degree of flexibility, based on runtime support for parallel Haskell on distributed memory platforms. This serialisation has highly desirable and so-far unrivalled properties: it is truly orthogonal to evaluation and also does not require any type class mechanisms. Especially, (almost) any kind of value can be serialised, including functions and IO actions. We outline the runtime support on which our serialisation is based, and present an API of Haskell functions and types which ensure dynamic type safety of the serialisation process. Furthermore, we explore and exemplify potential application areas for orthogonal serialisation.
Original language | English |
---|---|
Title of host publication | Implementation and Application of Functional Languages : 22nd International Symposium, IFL 2010, Alphen aan den Rijn, The Netherlands, September 1-3, 2010, Revised Selected Papers |
Editors | Jurriaan Hage, Marco T. Morazán |
Number of pages | 16 |
Publisher | Springer |
Publication date | 2011 |
Pages | 38-53 |
ISBN (Print) | 978-3-642-24275-5 |
ISBN (Electronic) | 978-3-642-24276-2 |
DOIs | |
Publication status | Published - 2011 |
Event | 22nd International Symposium on Implementation and Application of Functional Languages - Alphen aan den Rijn, Netherlands Duration: 1 Sept 2010 → 3 Sept 2010 Conference number: 22 |
Conference
Conference | 22nd International Symposium on Implementation and Application of Functional Languages |
---|---|
Number | 22 |
Country/Territory | Netherlands |
City | Alphen aan den Rijn |
Period | 01/09/2010 → 03/09/2010 |
Series | Lecture notes in computer science |
---|---|
Volume | 6647 |
ISSN | 0302-9743 |