Abstract
|
<p>Previous work on semantics-based … <p>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.</p><p>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.</p>nline distribution of MetaOCaml.</p>
|
Author
|
Jason Eckhardt +
, Roumen Kaiabachev +
, Emir Pasalic +
, Kedar Swadi +
, Walid Taha +
|
DOI
|
http://dx.doi.org/10.1007/s00354-007-0020-x +
|
Diva
|
http://hh.diva-portal.org/smash/record.jsf?searchId=1&pid=diva2:396141
|
EndPage
|
336 +
|
Issue
|
3 +
|
Journal
|
New generation computing +
|
PublicationType
|
Journal Paper +
|
Publisher
|
Springer-Verlag Tokyo Inc. +
|
StartPage
|
305 +
|
Title
|
Implicitly Heterogeneous Multi-stage Programming +
|
Volume
|
25 +
|
Year
|
2007 +
|
Has queryThis property is a special property in this wiki.
|
Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
, Publications:Implicitly Heterogeneous Multi-stage Programming +
|
Categories |
Publication +
|
Modification dateThis property is a special property in this wiki.
|
26 June 2014 03:44:50 +
|