Free Online Productivity Tools
i2Speak
i2Symbol
i2OCR
iTex2Img
iWeb2Print
iWeb2Shot
i2Type
iPdf2Split
iPdf2Merge
i2Bopomofo
i2Arabic
i2Style
i2Image
i2PDF
iLatex2Rtf
Sci2ools

TLDI

2005

ACM

2005

ACM

Coordinated data structures are sets of (perhaps unbounded) data structures where the nodes of each structure may share types with the corresponding nodes of the other structures. For example, consider a list of arguments, and a separate list of functions, where the n-th function of the second list should be applied only to the n-th argument of the ﬁrst list. We can guarantee that this invariant is obeyed by coordinating the two lists, such that the type of the n-th argument is existentially quantiﬁed and identical to the argument type of the n-th function. In this paper, we describe a minimal set of features suﬃcient for a type system to support coordinated data structures. We also demonstrate that two known type systems (Crary and Weirich’s LX [6] and Xi, Chen and Chen’s guarded recursive datatypes [24]) have these features, even though the systems were developed for other purposes. We illustrate the power of coordinated data structures as a programming idiom with three ex...

Related Content

Added |
26 Jun 2010 |

Updated |
26 Jun 2010 |

Type |
Conference |

Year |
2005 |

Where |
TLDI |

Authors |
Michael F. Ringenburg, Dan Grossman |

Comments (0)