ACM Home Page
Please provide us with feedback. Feedback
A multi-stage language with intensional analysis
Full text PdfPdf (195 KB)
Source Generative Programming And Component Engineering archive
Proceedings of the 5th international conference on Generative programming and component engineering table of contents
Portland, Oregon, USA
SESSION: Staging table of contents
Pages: 11 - 20  
Year of Publication: 2006
ISBN:1-59593-237-2
Authors
Marcos Viera  Universidad de la República, Montevideo, Uruguay
Alberto Pardo  Universidad de la República, Montevideo, Uruguay
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 32,   Citation Count: 0
Additional Information:

abstract   references   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/1173706.1173709
What is a DOI?

ABSTRACT

This paper presents the definition of a language with reflection primitives. The language is a homogeneous multi-stage language that provides the capacity of code analysis by the inclusion of a pattern matching mechanism that permits inspection of the structure of quoted expressions and their destruction into component subparts. Quoted expressions include an explicit annotation of their context which is used for dynamic inference of type, where a dynamic typing discipline based on Hinze and Cheney's approach is used for typing quoted expressions.This paper follows the approach of Sheard and Pasalic about the use of the meta-language Ωmega as a tool for language design. In this sense, it is shown how to represent the syntax, the static as well as the dynamic semantics of the proposed language in terms of Ωmega constructs.


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
 
3
Zine-El-Abidine Benaissa, Daniel Briaud, Pierre Lescanne, and Jocelyne Rouyer-Degli. λν, a calculus of explicit substitutions which preserves strong normalisation. Journal of Functional Programming, 6(5):699--722, 1996.
 
4
Cristiano Calcagno, Eugenio Moggi, and Walid Taha. ML-like inference for classifiers. In David A. Schmidt, editor, Programming Languages and Systems, 13th European Symposium on Programming, ESOP 2004, volume 2986 of Lecture Notes in Computer Science, pages 79--93. Springer, 2004.
5
 
6
N. G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation. Indagationes Mathematicae, 34:381--392, 1972.
7
 
8
Jim Grundy, Tom Melham, and John O'Leary. A reflective functional language for hardware design and theorem proving. Technical Report PRG-RR-03-16, Programming Research Group, Oxford University Computing Laboratory, October 2003.
9
 
10
11
 
12
 
13
 
14
 
15
Emir Pasalic and Nathan Linger. Meta-programming with typed object-language representations. In Generative Programming and Component Engineering: Third International Conference, GPCE 2004, pages 136--167. Springer, 2004.
 
16
T. Sheard, Z. Benaissa, and M. Martel. Introduction to Multistage Programming Using MetaML. Pacific Software Research Center, Oregon Graduate Institute, 2 edition, 2000.
 
17
 
18
Tim Sheard. Playing with type systems. Presented at GPCE 05 MetaOCaml Workshop, 2005.
19
20
 
21
Tim Sheard and Emir Pasalic. Meta-programming with built-in type equality. In Workshop on Logical Frameworks and Meta-Languages (LFM'04), pages 106--124, jul 2004.
22
 
23
24
 
25
Walid Taha. A gentle introduction to multi-stage programming. In Domain-Specific Program Generation, pages 30--50, 2003.
26
 
27

Collaborative Colleagues:
Marcos Viera: colleagues
Alberto Pardo: colleagues