The generalized intensional transformation for implementing lazy functional languages

Επιστημονική δημοσίευση - Άρθρο Περιοδικού uoadl:3025086 16 Αναγνώσεις

Μονάδα:
Ερευνητικό υλικό ΕΚΠΑ
Τίτλος:
The generalized intensional transformation for implementing lazy functional languages
Γλώσσες Τεκμηρίου:
Αγγλικά
Περίληψη:
The intensional transformation is a promising technique for implementing lazy functional languages based on a demand-driven execution model. Despite its theoretical elegance and its simple and efficient execution model, the intensional transformation suffered, until now, from two main drawbacks: it could only be applied to programs that manipulate primitive data-types and it could only compile a simple (and rather restricted) class of higher-order functions. In this paper we remedy the above two deficiencies, obtaining a transformation algorithm that is applicable to mainstream lazy functional languages. The proposed transformation initially uses defunctionalization in order to eliminate higher-order functions from the source program. The original intensional transformation is then extended in order to apply to the target first-order language with user-defined data types that resulted from the defunctionalization. It is demonstrated that the proposed technique can be used to compile a relatively large subset of Haskell into portable C code whose performance is comparable to existing mainstream implementations. © 2013 Springer-Verlag.
Έτος δημοσίευσης:
2013
Συγγραφείς:
Fourtounis, G.
Papaspyrou, N.
Rondogiannis, P.
Περιοδικό:
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Τόμος:
7752 LNCS
Σελίδες:
157-172
Λέξεις-κλειδιά:
compilation; Dataflow programming; Defunctionalizations; intensional transformation; Lazy functional languages, Functional programming, Metadata
Επίσημο URL (Εκδότης):
DOI:
10.1007/978-3-642-45284-0_11
Το ψηφιακό υλικό του τεκμηρίου δεν είναι διαθέσιμο.