hh.sePublications
Planned maintenance
A system upgrade is planned for 24/9-2024, at 12:00-14:00. During this time DiVA will be unavailable.
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Multi-Stage Programming with Explicit Annotations
Oregon Graduate Institute of Science & Technology, Hillsboro, OR, United States.ORCID iD: 0000-0003-3160-9188
Oregon Graduate Institute of Science & Technology, Hillsboro, OR, United States.
1997 (English)In: PEPM '97: Proceedings of the 1997 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation, New York, NY: ACM Press, 1997, Vol. 32, p. 203-217Conference paper, Published paper (Refereed)
Abstract [en]

We introduce MetaML, a statically-typed multi-stage programming language extending Nielson and Nielson's two stage notation to an arbitrary number of stages. MetaML extends previous work by introducing four distinct staging annotations which generalize those published previously [25, 12, 7, 6]. We give a static semantics in which type checking is done once and for all before the first stage, and a dynamic semantics which introduces a new concept of cross-stage persistence, which requires that variables available in any stage are also available in all future stages. We illustrate that staging is a manual form of binding time analysis. We explain why, even in the presence of automatic binding time analysis, explicit annotations are useful, especially for programs with more than two stages. A thesis of this paper is that multi-stage languages are useful as programming languages in their own right, and should support features that make it possible for programmers to write staged computations without significantly changing their normal programming style. To illustrate this we provide a simple three stage example, and an extended two-stage example elaborating a number of practical issues.

Place, publisher, year, edition, pages
New York, NY: ACM Press, 1997. Vol. 32, p. 203-217
Series
ACM / SIGPLAN Notices, ISSN 0362-1340 ; 12
National Category
Computer Systems
Identifiers
URN: urn:nbn:se:hh:diva-21099DOI: 10.1145/258994.259019ISI: 000071026500018Scopus ID: 2-s2.0-0030691229Libris ID: 12438191ISBN: 0-89791-917-3 OAI: oai:DiVA.org:hh-21099DiVA, id: diva2:588307
Conference
PEPM'97 – International Symposium on Partial Evaluation and Semantics Based Program Manipulation, Amsterdam, Netherlands, 12-13 June, 1997
Note

The research reported in this paper was supported by the USAF Air Materiel Command, contract F19628-93-C-0069, and NSF Grant IRI-962546.

Available from: 2013-01-15 Created: 2013-01-15 Last updated: 2021-05-11Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Taha, Walid

Search in DiVA

By author/editor
Taha, Walid
Computer Systems

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 160 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf