TY - JOUR
T1 - PADS/ML
T2 - A functional data description language
AU - Mandelbaum, Yitzhak
AU - Fisher, Kathleen
AU - Walker, David
AU - Fernandez, Mary
AU - Gleyzer, Artem
PY - 2007/1/1
Y1 - 2007/1/1
N2 - 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.
AB - 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.
KW - Data description languages
KW - Dependent types
KW - Domain-specific languages
KW - Functional programming
KW - ML
KW - Modules
KW - Parsing
KW - Printing
UR - http://www.scopus.com/inward/record.url?scp=33846528587&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=33846528587&partnerID=8YFLogxK
M3 - Article
AN - SCOPUS:33846528587
SN - 1523-2867
VL - 42
SP - 77
EP - 83
JO - SIGPLAN Notices (ACM Special Interest Group on Programming Languages)
JF - SIGPLAN Notices (ACM Special Interest Group on Programming Languages)
IS - 1
ER -