Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleSeptember 2013
Using circular programs for higher-order syntax: functional pearl
ICFP '13: Proceedings of the 18th ACM SIGPLAN international conference on Functional programmingPages 257–262https://doi.org/10.1145/2500365.2500614This pearl presents a novel technique for constructing a first-order syntax tree directly from a higher-order interface. We exploit circular programming to generate names for new variables, resulting in a simple yet efficient method. Our motivating ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 9 - research-articleJanuary 2009
Shortcut fusion rules for the derivation of circular and higher-order monadic programs
PEPM '09: Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulationPages 81–90https://doi.org/10.1145/1480945.1480958Functional programs often combine separate parts using intermediate data structures for communicating results. These programs are modular, easier to understand and maintain, but suffer from inefficiencies due to the generation of those gluing data ...
- ArticleSeptember 2007
A shortcut fusion rule for circular program calculation
Haskell '07: Proceedings of the ACM SIGPLAN workshop on Haskell workshopPages 95–106https://doi.org/10.1145/1291201.1291216Circular programs are a powerful technique to express multiple traversal algorithms as a single traversal function in a lazy setting. In this paper, we present a shortcut deforestation technique to calculate circular programs. The technique we propose ...
- ArticleJanuary 2007
Tools and libraries to model and manipulate circular programs
PEPM '07: Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulationPages 102–111https://doi.org/10.1145/1244381.1244399This paper presents techniques to model circular lazy programs in a strict, purely functional setting. Circular lazy programs model any algorithm based on multiple traversals over a recursive data structure as a single traversal function. Such elegant ...