Attribute grammars as a functional programming paradigm
Proc. of a conference on Functional programming languages and computer architecture
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Attribute grammar paradigms—a high-level methodology in language implementation
ACM Computing Surveys (CSUR)
Handbook of logic in computer science (vol. 3)
Shortcut deforestation in calculational form
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Algebra of programming
A calculational fusion system HYLO
Proceedings of the IFIP TC 2 WG 2.1 international workshop on Algorithmic languages and calculi
Breadth-first numbering: lessons from a small exercise in algorithm design
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
Implementing Circularity Using Partial Evaluation
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Proceedings of the IFIP TC2/WG2.1 Working Conference on Generic Programming
CC '98 Proceedings of the 7th International Conference on Compiler Construction
Calculating functional programs
Algebraic and coalgebraic methods in the mathematics of program construction
Free theorems in the presence of seq
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
Using Circular Programs to Deforest in Accumulating Parameters
Higher-Order and Symbolic Computation
Fast and loose reasoning is morally correct
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lightweight fusion by fixed point promotion
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Tools and libraries to model and manipulate circular programs
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A shortcut fusion rule for circular program calculation
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Linear, bounded, functional pretty-printing
Journal of Functional Programming
Semantics and pragmatics of new shortcut fusion rules
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Program and aspect metrics for MATLAB
ICCSA'12 Proceedings of the 12th international conference on Computational Science and Its Applications - Volume Part IV
Hi-index | 0.00 |
Functional programs often combine separate parts using intermediate data structures for communicating results. Programs so defined are modular, easier to understand and maintain, but suffer from inefficiencies due to the generation of those gluing data structures. To eliminate such redundant data structures, some program transformation techniques have been proposed. One such technique is shortcut fusion, and has been studied in the context of both pure and monadic functional programs.In this paper, we study several shortcut fusion extensions, so that, alternatively, circular or higher-order programs are derived. These extensions are also provided for effect-free programs and monadic ones. Our work results in a set of generic calculation rules, that are widely applicable, and whose correctness is formally established.