ACM Home Page
Please provide us with feedback. Feedback
The next 700 data description languages
Full text PdfPdf (1.24 MB)
Source Annual Symposium on Principles of Programming Languages archive
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, USA
Pages: 2 - 15  
Year of Publication: 2006
ISBN:1-59593-027-2
Also published in ...
Authors
Kathleen Fisher  AT&T Labs Research
Yitzhak Mandelbaum  Princeton University
David Walker  Princeton University
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 90,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1111037.1111039
What is a DOI?

ABSTRACT

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, ie, 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
A. Birman and J. D. Ullman. Parsing algorithms with backtrack. Information and Control, 23(1), Aug. 1973.
 
3
W. Burge. Recursive Programming Techniques. Addison Wesley, 1975.
 
4
D. Eger. Bit level types. www-2.cs.cmu.edu/~eger/.
 
5
M. F. Fernández, J. Siméon, B. Choi, A. Marian, and G. Sur. Implementing XQuery 1.0: The Galax experience. In VLDB, pages 1077--1080. ACM Press, 2003.
6
7
8
 
9
Gene Ontology Project. www.geneontology.org.
 
10
R. Grimm. Practical packrat parsing. Technical Report TR2004-854, New York University, Mar. 2004.
 
11
P. Gustafsson and K. Sagonas. Adaptive pattern matching on binary data. In ESOP, pages 124--139. Springer, Mar. 2004.
 
12
R. Harper. Programming Languages: Theory and Practice. Unpublished, 2005. www-2.cs.cmu.edu/~rwh/.
 
13
14
 
15
B. Krishnamurthy and J. Rexford. Web Protocols and Practice. Addison Wesley, 2001.
16
17
 
18
Tree formats. Workshop on molecular evolution. workshop.molecularevolution.org/resources/fileformats/tree_formats.php.
 
19
 
20
C. Wikström and T. Rogvall. Protocol programming in Erlang using binaries. In Erlang/OTP User Conference, Oct. 1999.


Collaborative Colleagues:
Kathleen Fisher: colleagues
Yitzhak Mandelbaum: colleagues
David Walker: colleagues