Computer Science – Programming Languages
Scientific paper
2012-02-14
EPTCS 76, 2012, pp. 3-24
Computer Science
Programming Languages
In Proceedings MSFP 2012, arXiv:1202.2407
Scientific paper
10.4204/EPTCS.76.3
In previous work we have illustrated the benefits that compositional data types (CDTs) offer for implementing languages and in general for dealing with abstract syntax trees (ASTs). Based on Swierstra's data types \'a la carte, CDTs are implemented as a Haskell library that enables the definition of recursive data types and functions on them in a modular and extendable fashion. Although CDTs provide a powerful tool for analysing and manipulating ASTs, they lack a convenient representation of variable binders. In this paper we remedy this deficiency by combining the framework of CDTs with Chlipala's parametric higher-order abstract syntax (PHOAS). We show how a generalisation from functors to difunctors enables us to capture PHOAS while still maintaining the features of the original implementation of CDTs, in particular its modularity. Unlike previous approaches, we avoid so-called exotic terms without resorting to abstract types: this is crucial when we want to perform transformations on CDTs that inspect the recursively computed CDTs, e.g. constant folding.
Bahr Patrick
Hvitved Tom
No associations
LandOfFree
Parametric Compositional Data Types does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.
If you have personal experience with Parametric Compositional Data Types, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Parametric Compositional Data Types will most certainly appreciate the feedback.
Profile ID: LFWR-SCP-O-88565