TY - GEN
T1 - PADS/ML
T2 - 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
AU - Mandelbaum, Yitzhak
AU - Fisher, Kathleen
AU - Walker, David
AU - Fernandez, Mary
AU - Gleyzer, Artem
PY - 2007
Y1 - 2007
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=34548253441&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34548253441&partnerID=8YFLogxK
U2 - 10.1145/1190216.1190231
DO - 10.1145/1190216.1190231
M3 - Conference contribution
AN - SCOPUS:34548253441
SN - 1595935754
SN - 9781595935755
T3 - Conference Record of the Annual ACM Symposium on Principles of Programming Languages
SP - 77
EP - 83
BT - Conference Record of POPL 2007
Y2 - 17 January 2007 through 19 January 2007
ER -