Abstract | ||
---|---|---|
The need for flexible forms of serialisation arises under many circumstances, e.g. for doing high-level inter-process communication or to achieve persistence. Many languages, including variants of ML, thus offer pickling as a system service, but usually in a both unsafe and inexpressive manner, so that its use is discouraged.In contrast, safe generic pickling plays a central role in the design and implementation of Alice ML: components are defined as pickles, and modules can be exchanged between processes using pickling. For that purpose, pickling has to be higher-order and typed (HOT), i.e. embrace code mobility and involve runtime type checks for safety. We show how HOT pickling can be realised with a modular architecture consisting of multiple abstraction layers for separating concerns, and how both language and implementation benefit from a design consistently based on pickling. |
Year | DOI | Venue |
---|---|---|
2007 | 10.1145/1292535.1292540 | ML |
Keywords | Field | DocType |
alice ml,modular architecture,status report,central role,implementation benefit,high-level inter-process communication,code mobility,hot pickling,hot pickle,flexible form,safe generic pickling,inexpressive manner,higher order,virtual machine,distributed programming,persistence,inter process communication,marshalling,virtual machines | Status report,Abstraction,Virtual machine,Pickling,Marshalling,Artificial intelligence,Code mobility,Modular architecture,Mathematics,Machine learning | Conference |
Citations | PageRank | References |
3 | 0.44 | 17 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Andreas Rossberg | 1 | 73 | 7.82 |
Guido Tack | 2 | 377 | 27.56 |
Leif Kornstaedt | 3 | 10 | 1.32 |