ACM Home Page
Please provide us with feedback. Feedback
Concoqtion: indexed types now!
Full text PdfPdf (328 KB)
Source
ACM/SIGPLAN Workshop Partial Evaluation and Semantics-Based Program Manipulation archive
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation table of contents
Nice, France
SESSION: Meta-programming table of contents
Pages: 112 - 121  
Year of Publication: 2007
ISBN:978-1-59593-620-2
Authors
Seth Fogarty  Rice University
Emir Pasalic  Rice University
Jeremy Siek  University of Colorado
Walid Taha  Rice University
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 16,   Citation Count: 7
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/1244381.1244400
What is a DOI?

ABSTRACT

Almost twenty years after the pioneering efforts of Cardelli, the programming languages community is vigorously pursuing ways to incorporate Fω-style indexed types into programming languages. This paper advocates Concoqtion, a practical approach to adding such highly expressive types to full-fledged programming languages. The approach is applied to MetaOCaml using the Coq proof checker to conservatively extend Hindley-Milner type inference. The implementation of MetaOCaml Concoqtion requires minimal modifications to the syntax, the type checker, and the compiler; and yields a language comparable in notation to the leading proposals. The resulting language provides unlimited expressiveness in the type system while maintaining decidability. Furthermore, programmers can take advantage of a wide range of libraries not only for the programming language but also for the indexed types. Programming in MetaOCaml Concoqtion is illustrated with small examples and a case study implementing a statically-typed domain-specific language.


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
Edwin Brady, Conor McBride, and James McKinna. Inductive families need not store their indices. In Stefano Berardi, Mario Coppo, and Ferruccio Damiani, editors, TYPES, volume 3085 of Lecture Notes in Computer Science, pages 115--129. Springer, 2003.
 
3
Luca Cardelli. Typeful programming. In E. J. Neuhold and M. Paul, editors, Formal Description of Programming Concepts, IFIP State-of-the-Art Reports, pages 431--507. Springer-Verlag, New York, 1991.
4
5
 
6
James Cheney and Ralf Hinze. First-class phantom types. Technical Report 1901, Cornell University, 2003.
 
7
The MetaOCaml Concoqtion web site. Online at http://www.metaocaml.org/concoqtion, July 2006.
 
8
The Coq. The coq proof assistant: Reference manual: Version 7.2, February 2002.
 
9
 
10
Krzysztof Czarneckil, John O'Donnell, Jörg Striegnitz, and Walid Taha. DSL implementation in metaocaml, template haskell, and C++. In Batory, Consel, Lengauer, and Odersky, editors, Dagstuhl Workshop on Domain-specific Program Generation, LNCS. 2004.
 
11
Jean-Yves Girard. Interprétation fonctionelle et élimination des coupures dans l'arithmétique d'ordre supérieur. Thèse de doctorat d'etat, University of Paris VII, 1972.
 
12
 
13
 
14
N. D. Jones, P. Sestoft, and H. Sondergaard. Mix: a self-applicable partial evaluator for experiments in compiler generation. Technical Report DIKU Report 87/08, University of Copenhagen, Denmark, 1987.
15
 
16
Xavier Leroy. Objective Caml, 2000. Available from http://caml.inria.fr/ocaml/.
17
 
18
MetaOCaml: A compiled, type-safe multi-stage programming language. Available online from http://www.metaocaml.org/, 2004.
 
19
Emir Pasalic, Jeremy Siek, and Walid Taha. Concoqtion: Mixing dependent types and Hindley-Milner type inference (extended version). Technical report, Rice University, 2006. Available from http://www.metaocaml.org/concoqtion.
20
21
22
23
 
24
Tim Sheard and Emir Pasalic. Meta-programming with built-in type equality. In Fourth International Workshop on Logical Frameworks and Meta-Languages (LFM'04), Cork, Ireland, July 2004.
25
 
26
Walid Taha. A gentle introduction to multi-stage programming. In Don Batory, Charles Consel, Christian Lengauer, and Martin Odersky, editors, Domain-specific Program Generation, LNCS. 2004.
 
27
28
29
30
31
32


Collaborative Colleagues:
Seth Fogarty: colleagues
Emir Pasalic: colleagues
Jeremy Siek: colleagues
Walid Taha: colleagues