ACM Home Page
Please provide us with feedback. Feedback
Programming with proofs and explicit contexts
Full text PdfPdf (322 KB)
Source
International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming table of contents
Valencia, Spain
SESSION: Language issues table of contents
Pages 163-173  
Year of Publication: 2008
ISBN:978-1-60558-117-0
Authors
Brigitte Pientka  McGill University, Montreal, Canada
Joshua Dunfield  McGill University, Montreal, Canada
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 28,   Citation Count: 1
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/1389449.1389469
What is a DOI?

ABSTRACT

This paper explores a new point in the design space of functional programming: functional programming with dependently-typed higher-order data structures described in the logical framework LF. This allows us to program with proofs as higher-order data. We present a decidable bidirectional type system that distinguishes between dependently-typed data and computations. To support reasoning about open data, our foundation makes contexts explicit. This provides us with a concise characterization of open data, which is crucial to elegantly describe proofs. In addition, we present an operational semantics for this language based on higherorder pattern matching for dependently typed objects. Based on this development, we prove progress and preservation


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
J. Cheney and R. Hinze. First-class phantom types. Technical Report CUCIS TR2003-1901, Cornell University, 2003.
 
3
 
4
J. Despeyroux and P. Leleu. Primitive recursion for higher order abstract syntax with dependent types. In International Workshop on Intuitionistic Modal Logics and Applications (IMLA), 1999.
 
5
 
6
J. Dunfield and B. Pientka. Case analysis of higher-order data. In International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP'08), Electronic Notes in Theoretical Computer Science (ENTCS). Elsevier, June 2008.
 
7
 
8
9
 
10
 
11
 
12
A. McCreight and C. Schürmann. A meta-linear logical framework. In 4th International Workshop on Logical Frame-works and Meta-Languages (LFM'04), 2004.
 
13
D. Miller. Unification of simply typed lambda-terms as logic programming. In Eighth International Logic Programming Conference, pages 255--269, Paris, France, June 1991. MIT Press.
 
14
D. Miller. A logic programming language with lambda abstraction, function variables, and simple unification. Journal of Logic and Computation, 1(4):497--536, 1991.
15
16
 
17
F. Pfenning. Unification and anti-unification in the Calculus of Constructions. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 74¿85, Amsterdam, The Netherlands, July 1991.
 
18
 
19
 
20
21
 
22
B. Pientka and F. Pfenning. Optimizing higher-order pattern unification. In F. Baader, editor, 19th International Conference on Automated Deduction, Miami, USA, Lecture Notes in Artificial Intelligence (LNAI) 2741, pages 473--487. Springer-Verlag, 2003.
 
23
A. Poswolsky and C. Schürmann. Practical programming with higher-order encodings and dependent types. In Proceedings of the 17th European Symposium on Programming (ESOP'08), Mar. 2008.
 
24
C. Schürmann. Automating the Meta Theory of Deductive Systems. PhD thesis, Department of Computer Science, Carnegie Mellon University, 2000. CMU-CS-00-146.
 
25
C. Schürmann, A. Poswolsky, and J. Sarnat. The ∇-calculus. Functional programming with higher-order encodings. In P. Urzyczyn, editor, Proceedings of the 7th International Conference on Typed Lambda Calculi and Applications (TLCA'05), volume 3461 of Lecture Notes in Computer Science, pages 339--353. Springer, 2005.
 
26
T. Sheard and E. Pasalic. Meta-programming with built-in type equality. In Int'l Workshop on Logical Frameworks and Meta-languages (LFM '04), pages 106--124, 2004.
27
 
28
K. Watkins, I. Cervesato, F. Pfenning, and D. Walker. A concurrent logical framework I: Judgments and properties. Technical Report CMU-CS-02-101, Department of Computer Science, Carnegie Mellon University, 2002.
29


Collaborative Colleagues:
Brigitte Pientka: colleagues
Joshua Dunfield: colleagues