hh.sePublications
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
Implicitly Heterogeneous Multi-stage Programming
Rice University, Department of Computer Science, Houston, TX.
Rice University, Department of Computer Science, Houston, TX.
Rice University, Department of Computer Science, Houston, TX.
Rice University, Department of Computer Science, Houston, TX.
Show others and affiliations
2007 (English)In: New generation computing, ISSN 0288-3635, E-ISSN 1882-7055, Vol. 25, no 3, p. 305-336Article in journal (Refereed) Published
Abstract [en]

Previous work on semantics-based multi-stage programming (MSP) language design focused on homogeneous designs, where the generating and the generated languages are the same. Homogeneous designs simply add a hygienic quasi-quotation and evaluation mechanism to a base language. An apparent disadvantage of this approach is that the programmer is bound to both the expressivity and performance characteristics of the base language. This paper proposes a practical means to avoid this by providing specialized translations from subsets of the base language to different target languages. This approach preserves the homogeneous “look” of multi-stage programs, and, more importantly, the static guarantees about the generated code. In addition, compared to an explicitly heterogeneous approach, it promotes reuse of generator source code and systematic exploration of the performance characteristics of the target languages.

To illustrate the proposed approach, we design and implement a translation to a subset of C suitable for numerical computation, and show that it preserves static typing. The translation is implemented, and evaluated with several benchmarks. The implementation is available in the online distribution of MetaOCaml.

Place, publisher, year, edition, pages
Tokyo: Springer-Verlag Tokyo Inc., 2007. Vol. 25, no 3, p. 305-336
Keywords [en]
Functional Programming, Multi-Stage Programming
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:hh:diva-14407DOI: 10.1007/s00354-007-0020-xISI: 000247858300010Scopus ID: 2-s2.0-34548095725OAI: oai:DiVA.org:hh-14407DiVA, id: diva2:396141
Available from: 2011-02-08 Created: 2011-02-08 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
In the same journal
New generation computing
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 122 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