PADS/T: A Language for Describing and Transforming Ad Hoc Data
PADS/T is a declarative data description language paired with an error-aware transformation language. This pairing provides rich support for programming with ad hoc data sources. Such data is common in a wide range of domains including networking, financial analysis, biology, and physics.
PADS/T's data description language is based on polymorphic, recursive, and dependent data types. From such descriptions, the compiler generates robust parsing and pretty printing code. The transformation language supports error-aware computation by automatically maintaining an association between data and a description of the errors in that data.