Circular functional programs (necessarily evaluated lazily) have been used as algorithmic tools, as attribute grammar implementations, and as target for program transformation techniques. Classically, Richard Bird [1984] showed how to transform certain multitraversal programs (which could be evaluated strictly or lazily) into one-traversal ones using circular bindings. Can we go the other way, even for programs that are not in the image of his technique? That is the question we pursue in this paper. We develop an approach that on the one hand lets us deal with typical examples corresponding to attribute grammars, but on the other hand also helps to derive new algorithms for problems not previously in reach.(undefined
AbstractWe show that an attribute system can be translated (in a certain way) into a recursive progr...
We have designed Circular Reasoner, a package in Mathematica for the specification of functional pro...
Program specialization is a program transformation methodology which improves program efficiency by ...
Circular functional programs (necessarily evaluated lazily) have been used as algorithmic tools, as ...
This paper presents techniques to model circular lazy programs in a strict, purely functional settin...
Circular programs are a powerful technique to express multiple traversal algorithms as a single trav...
Abstract. Complex data dependencies can often be expressed concisely by defining a variable in terms...
Attribute grammars (AGs) are a formal technique for defining semantics of programming languages. Exi...
AbstractThis paper presents a combination of Reference Attributed Grammars (RAGs) and Circular Attri...
This paper presents a combination of Reference Attributed Grammars (RAGs) and Circular Attribute Gra...
Approximate program transformations such as task skipping [27, 28], loop perforation [20, 21, 32], m...
Abstract in Undetermined Reference attribute grammars (RAGs) provide a practical declarative means t...
Efficient implementations for two optimisations to Knuth's attribute grammar circularity test are d...
An attribute grammars describes a computation over a recursive data structure (syntax tree). The cor...
AbstractWe show that an attribute system can be translated (in a certain way) into a recursive progr...
AbstractWe show that an attribute system can be translated (in a certain way) into a recursive progr...
We have designed Circular Reasoner, a package in Mathematica for the specification of functional pro...
Program specialization is a program transformation methodology which improves program efficiency by ...
Circular functional programs (necessarily evaluated lazily) have been used as algorithmic tools, as ...
This paper presents techniques to model circular lazy programs in a strict, purely functional settin...
Circular programs are a powerful technique to express multiple traversal algorithms as a single trav...
Abstract. Complex data dependencies can often be expressed concisely by defining a variable in terms...
Attribute grammars (AGs) are a formal technique for defining semantics of programming languages. Exi...
AbstractThis paper presents a combination of Reference Attributed Grammars (RAGs) and Circular Attri...
This paper presents a combination of Reference Attributed Grammars (RAGs) and Circular Attribute Gra...
Approximate program transformations such as task skipping [27, 28], loop perforation [20, 21, 32], m...
Abstract in Undetermined Reference attribute grammars (RAGs) provide a practical declarative means t...
Efficient implementations for two optimisations to Knuth's attribute grammar circularity test are d...
An attribute grammars describes a computation over a recursive data structure (syntax tree). The cor...
AbstractWe show that an attribute system can be translated (in a certain way) into a recursive progr...
AbstractWe show that an attribute system can be translated (in a certain way) into a recursive progr...
We have designed Circular Reasoner, a package in Mathematica for the specification of functional pro...
Program specialization is a program transformation methodology which improves program efficiency by ...