The Long Way to Deforestation: A Type Inference and Elaboration Technique for Removing Intermediate Data Structures

Y Chen, L Parreaux - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Deforestation is a compiler optimization that removes intermediate data structure allocations
from functional programs to improve their efficiency. This is an old idea, but previous …

Stream Fusion: Practical shortcut fusion for coinductive sequence types

D Coutts - 2011 - ora.ox.ac.uk
In functional programming it is common practice to build modular programs by composing
functions where the intermediate values are data structures such as lists or arrays. A …

Optimizing SYB is easy!

MD Adams, A Farmer, JP Magalhães - Proceedings of the ACM …, 2014 - dl.acm.org
The most widely used generic-programming system in the Haskell community, Scrap Your
Boilerplate (SYB), also happens to be one of the slowest. Generic traversals in SYB are …

An Empirical Study of Partial Deduction for miniKanren

E Verbitskaia, D Berezun, D Boulytchev - arXiv preprint arXiv:2109.02814, 2021 - arxiv.org
We study conjunctive partial deduction, an advanced specialization technique aimed at
improving the performance of logic programs, in the context of relational programming …

A scala framework for supercompilation

N Nystrom - Proceedings of the 8th ACM SIGPLAN International …, 2017 - dl.acm.org
Supercompilation is a program transformation technique that attempts to evaluate programs
as much as possible at compile time. Supercompilation has been used for theorem proving …

MRSC: a toolkit for building multi-result supercompilers

IG Klyuchnikov, SA Romanenko - Препринты Института прикладной …, 2011 - mathnet.ru
Суперкомпиляция–это метод преобразования программ, первоначально
разработанный ВФ Турчиным для языка программирования Рефал (функциональный …

Towards effective two-level supercompilation

IG Klyuchnikov - … Института прикладной математики им. МВ Келдыша …, 2010 - mathnet.ru
A new method of multi-level supercompilation was suggested in [15]. It has been shown that
(1) multi-level supercompilation is superior to the classical (singlelevel) supercompilation …

[PDF][PDF] Formalizing and implementing multi-result supercompilation

IG Klyuchnikov, SA Romanenko - Klimov and Romanenko [18], 2012 - academia.edu
The paper explains the principles of multi-result supercompilation. We introduce a formalism
for representing supercompilation algorithms as rewriting rules for graphs of configurations …

Optimizing SYB traversals is easy!

MD Adams, A Farmer, JP Magalhães - Science of Computer Programming, 2015 - Elsevier
The most widely used generic-programming system in the Haskell community, Scrap Your
Boilerplate (SYB), also happens to be one of the slowest. Generic traversals in SYB are …

Superoptimization of WebAssembly Process Graphs

DG Sprokholt - 2021 - studenttheses.uu.nl
The time needed for program execution is rarely minimal. Often, a faster program exists that
produces the same output. Our superoptimizer aims to reduce the execution time of …