The next 700 data description languages

Kathleen Fisher, Yitzhak Mandelbaum, David Walker

Research output: Chapter in Book/Report/Conference proceedingConference contribution

36 Scopus citations


In the spirit of Landin, we present a calculus of dependent types to serve as the semantic foundation for a family of languages called data description languages. Such languages, which include PADS, DATASCRIPT, and PACKETTYPES, are designed to facilitate programming with ad hoc data, i.e., data not in well-behaved relational or XML formats. In the calculus, each type describes the physical layout and semantic properties of a data source. In the semantics, we interpret types simultaneously as the in-memory representation of the data described and as parsers for the data source. The parsing functions are robust, automatically detecting and recording errors in the data stream without halting parsing. We show the parsers are type-correct, returning data whose type matches the simple-type interpretation of the specification. We also prove the parsers are "error-correct," accurately reporting the number of physical and semantic errors that occur in the returned data. We use the calculus to describe the features of various data description languages, and we discuss how we have used the calculus to improve PADS.

Original languageEnglish (US)
Title of host publicationConference Record of POPL 2006
Subtitle of host publication33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
PublisherAssociation for Computing Machinery
Number of pages14
ISBN (Print)1595930272, 9781595930279
StatePublished - 2006
Event33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'06 - Charleston, SC, United States
Duration: Jan 11 2006Jan 13 2006

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566


Conference33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'06
Country/TerritoryUnited States
CityCharleston, SC

All Science Journal Classification (ASJC) codes

  • Software


  • Data description language
  • Dependent types
  • Domain-specific languages


Dive into the research topics of 'The next 700 data description languages'. Together they form a unique fingerprint.

Cite this