FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
A modular fully-lazy lambda lifter in Haskell
Software—Practice & Experience
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Shortcut deforestation in calculational form
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Concatenate, reverse and map vanish for free
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Shortcut fusion for accumulating parameters & zip-like functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
A Generalization of Short-Cut Fusion and its Correctness Proof
Higher-Order and Symbolic Computation
Using Circular Programs to Deforest in Accumulating Parameters
Higher-Order and Symbolic Computation
The Impact of seq on Free Theorems-Based Program Transformations
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
Stream fusion: from lists to streams to nothing at all
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Call-pattern specialisation for Haskell programs
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
A shortcut fusion rule for circular program calculation
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Proving correctness via free theorems: the case of the destroy/build-rule
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Program fusion with paramorphisms
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Shortcut fusion rules for the derivation of circular and higher-order monadic programs
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Free theorems for functional logic programs
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Syntactic Language Extension via an Algebra of Languages and Transformations
Electronic Notes in Theoretical Computer Science (ENTCS)
Automatically generating counterexamples to naive free theorems
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Shortcut fusion rules for the derivation of circular and higher-order programs
Higher-Order and Symbolic Computation
Banana Algebra: Compositional syntactic language extension
Science of Computer Programming
Hi-index | 0.00 |
We study various shortcut fusion rules for languages like Haskell. Following a careful semantic account of a recently proposed rule for circular program transformation, we propose a new rule that trades circularity for higher-orderedness, and thus attains better semantic properties. This also leads us to revisit the original foldr/build-rule, as well as its dual, and to develop variants that do not suffer from detrimental impacts of Haskell's mixed strict/nonstrict semantics. Throughout, we offer pragmatic insights about our new rules to investigate also their relative effectiveness, rather than just their semantic correctness.