dc.contributor.author |
Charalambidis, A |
en |
dc.contributor.author |
Grivas, A |
en |
dc.contributor.author |
Papaspyrou, NS |
en |
dc.contributor.author |
Rondogiannis, P |
en |
dc.date.accessioned |
2014-03-01T01:58:37Z |
|
dc.date.available |
2014-03-01T01:58:37Z |
|
dc.date.issued |
2009 |
en |
dc.identifier.issn |
16618270 |
en |
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/28695 |
|
dc.subject |
Dataflow computation |
en |
dc.subject |
Implementation of functional languages |
en |
dc.subject |
Intensional logic |
en |
dc.title |
Efficient intensional implementation for lazy functional languages |
en |
heal.type |
journalArticle |
en |
heal.identifier.primary |
10.1007/s11786-008-0047-5 |
en |
heal.identifier.secondary |
http://dx.doi.org/10.1007/s11786-008-0047-5 |
en |
heal.publicationDate |
2009 |
en |
heal.abstract |
The intensional transformation is a technique that can be used in order to eliminate higher-order functions from a functional program by introducing appropriate context-manipulation operators. The transformation can be applied to a significant class of higher-order programs and results in equivalent zero-order intensional programs that can be executed in a simple demand-driven way. Despite its simplicity, the transformation has never been seriously evaluated with respect to its efficiency and potential. Certain simple implementations of the technique have been performed, but questions regarding the merits of the method have remained inconclusive. In this paper we demonstrate that the transformation can be efficiently implemented by using what we call lazy activation records, namely activation records in which some entries are filled on-demand. An evaluation of our implementation demonstrates that the technique outperforms some of the most well-known functional programming systems, for the class of programs that can be transformed. © 2008 Birkhäuser Verlag Basel/Switzerland. |
en |
heal.journalName |
Mathematics in Computer Science |
en |
dc.identifier.doi |
10.1007/s11786-008-0047-5 |
en |
dc.identifier.volume |
2 |
en |
dc.identifier.issue |
1 |
en |
dc.identifier.spage |
123 |
en |
dc.identifier.epage |
141 |
en |