PADS/ML: A functional data description language

Yitzhak Mandelbaum, Kathleen Fisher, David Walker, Mary Fernandez, Artem Gleyzer

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

21 Scopus citations

Abstract

Massive amounts of useful data are stored and processed in ad hoc formats for which common tools like parsers, printers, query engines and format converters are not readily available. In this paper, we explain the design and implementation of PADS/ML , a new language and system that facilitates the generation of data processing tools for ad hoc formats. The PADS/ML design includes features such as dependent, polymorphic and recursive datatypes, which allow programmers to describe the syntax and semantics of ad hoc data in a concise, easy-to-read notation. The PADS/ML implementation compiles these descriptions into ml structures and functors that include types for parsed data, functions for parsing and printing, and auxiliary support for user-specified, format-dependent and format-independent tool generation.

Original languageEnglish (US)
Title of host publicationConference Record of POPL 2007
Subtitle of host publicationThe 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - Papers Presented at the Symposium
Pages77-83
Number of pages7
DOIs
StatePublished - 2007
Event34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - Nice, France
Duration: Jan 17 2007Jan 19 2007

Publication series

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

Other

Other34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Country/TerritoryFrance
CityNice
Period1/17/071/19/07

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • Data description languages
  • Dependent types
  • Domain-specific languages
  • Functional programming
  • ML
  • Modules
  • Parsing
  • Printing

Fingerprint

Dive into the research topics of 'PADS/ML: A functional data description language'. Together they form a unique fingerprint.

Cite this