PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Generic unification via two-level types and parameterized modules
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Polytypic data conversion programs
Science of Computer Programming
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Out-of-Core Functional Programming with Type-Based Primitives
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
MPC '98 Proceedings of the Mathematics of Program Construction
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Observable Sharing for Functional Circuit Description
ASIAN '99 Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science
Binary search trees of bounded balance
STOC '72 Proceedings of the fourth annual ACM symposium on Theory of computing
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Finger trees: a simple general-purpose data structure
Journal of Functional Programming
Foundations for structured programming with GADTs
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
A lightweight approach to datatype-generic rewriting
Proceedings of the ACM SIGPLAN workshop on Generic programming
Generic programming with fixed points for mutually recursive datatypes
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Type-safe observable sharing in Haskell
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Initial algebra semantics is enough!
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Generic selections of subexpressions
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Generic selections of subexpressions
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Proceedings of the seventh ACM SIGPLAN workshop on Generic programming
Generic representations of tree transformations
Proceedings of the 9th ACM SIGPLAN workshop on Generic programming
Hi-index | 0.00 |
We present a framework for constructing functional data structures that can be stored on disk. The data structures reside in a heap saved in a binary file. Operations read and write only the parts of the data structure that are actually needed. The framework is based on expressing datatypes as fixed points of functors and then annotating the recursive positions with additional information. We explain how functions, if expressed in terms of standard recursion patterns, can be easily lifted from a pure setting to an effectful, annotated scenario. As a running example, we sketch how to implement a persistent library of finite maps based on binary search trees.