Dynamic typing in a statically-typed language
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Warren's abstract machine: a tutorial reconstruction
Warren's abstract machine: a tutorial reconstruction
Semantics for communication primitives in a polymorphic language
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separate compilation for Standard ML
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Software—Practice & Experience - Special issue on object-oriented programming and technology
Implementing typed intermediate languages
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A Value Transmission Method for Abstract Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Definition of Standard ML
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
IFL '96 Selected Papers from the 8th International Workshop on Implementation of Functional Languages
Jocaml: Mobile Agents for Objective-Caml
ASAMA '99 Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents
Generativity and dynamic opacity for abstract types
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Intensional polymorphism in type-erasure semantics
Journal of Functional Programming
FUNCTIONAL PEARL Pickler combinators
Journal of Functional Programming
Acute: high-level programming language design for distributed computation
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
The missing link: dynamic components for ML
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Type-safe distributed programming for OCaml
Proceedings of the 2006 workshop on ML
A concurrent lambda calculus with futures
Theoretical Computer Science - Applied semantics
A distributed object model for the javaTM system
COOTS'96 Proceedings of the 2nd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 2
Generic Pickling and Minimization
Electronic Notes in Theoretical Computer Science (ENTCS)
Operational Semantics for Declarative Networking
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
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.