9 citations found. Retrieving documents...
Kahrs, S. Unlimp: Uniqueness as a leitmotiv for implementation. In Proc. Programming Language Implementation and Logic Programming (1992), vol. 631 of Lecture Notes in Computer Science, Springer, pp. 115-129.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Binary Decision Diagrams by Shared Rewriting - Pol, Zantema (2000)   (Correct)

....and arg (x; j) arg(x; j) for all x 2 X and all j. Then unsh(X ; x 0 ; root ; arg ) is well de ned and equals t. which is straightforwardly proved by induction on the structure of t. 2 Maximal sharing is essentially the same as what is called the fully collapsed tree in [10] In [8] it is shown that the maximally shared representation is unique, and that the original term can be reconstructed from it. In implementations some care has to be taken in order to keep terms maximally shared. In essence, when constructing a term, a hash table is used to nd out whether a node ....

....sharing steps are needed to remove the duplicated nodes from D[ These problems are partly solved in [1] where a data structure is invented for representing BEDs (a generalization on BDDs) Extra indirections are inserted from nodes to their reduced versions. This technique was already used in [8] on an implementation of rewriting with maximal sharing, called Unlimp. In order to avoid these complexities, we introduce the shared rewrite relation on terms. In usual unshared rewriting a rewrite step consists of writing the term as C[l ] for some context C, some substitution and some ....

Kahrs, S. Unlimp: Uniqueness as a leitmotiv for implementation. In Proc. Programming Language Implementation and Logic Programming (1992), vol. 631 of Lecture Notes in Computer Science, Springer, pp. 115-129.


Term Graph Rewriting - Plump (1998)   (21 citations)  (Correct)

....systems. There are a few papers describing implementations of term graph rewriting. Socalled concurrent term rewriting is addressed in [40, 65] while [60, 39, 13] deal with the term graph rewrite language Dactl. A report on an implementation which enforces full collapsing can be found in [58]. Aspects of term graph rewriting relevant for the design, implementation and analysis of functional programming languages are discussed in [85, 3, 2] In [49] the technique of memoization, which keeps computed values for later use, is realized by term graph rewriting. In [22, 24, 23] it is ....

Stefan Kahrs. Unlimp: Uniqueness as a leitmotiv for implementation. In Proc. Programming Language Implementation and Logic Programming, volume 631 of Lecture Notes in Computer Science, pages 115--129. SpringerVerlag, 1992.


Binary Decision Diagrams by Shared Rewriting - Pol, Zantema (2000)   (Correct)

....arg 0 (x; j) arg(x; j) for all x 2 X and all j. Then unsh(X 0 ; x 0 ; root 0 ; arg 0 ) is well defined and equals t. which is straightforwardly proved by induction on the structure of t. 2 Maximal sharing is essentially the same as what is called the fully collapsed tree in [10] In [8] it is shown that the maximally shared representation is unique, and that the original term can be reconstructed from it. In implementations some care has to be taken in order to keep terms maximally shared. In essence, when constructing a term, a hash table is used to find out whether a node ....

....sharing steps are needed to remove the duplicated nodes from D[ These problems are partly solved in [1] where a data structure is invented for representing BEDs (a generalization on BDDs) Extra indirections are inserted from nodes to their reduced versions. This technique was already used in [8] on an implementation of rewriting with maximal sharing, called Unlimp. In order to avoid these complexities, we introduce the shared rewrite relation on terms. In usual unshared rewriting a rewrite step consists of writing the term as C[l oe ] for some context C, some substitution oe and some ....

Kahrs, S. Unlimp: Uniqueness as a leitmotiv for implementation. In Proc. Programming Language Implementation and Logic Programming (1992), vol. 631 of Lecture Notes in Computer Science, Springer, pp. 115--129.


Term Graph Rewriting - Plump (1998)   (21 citations)  (Correct)

....systems. There are a few papers describing implementations of term graph rewriting. So called concurrent term rewriting is addressed in [40,66] while [61,39,13] deal with the term graph rewrite language Dactl. A report on an implementation which enforces full collapsing can be found in [59]. For a system dealing with term graphs with bound variables see [58] Aspects of term graph rewriting relevant for the design, implementation and analysis of functional programming languages are discussed in [87,3,2] See also the next chapter and the references given there. In [49] the ....

Stefan Kahrs. Unlimp: Uniqueness as a leitmotiv for implementation. In Proc. Programming Language Implementation and Logic Programming, volume 631 of Lecture Notes in Computer Science, pages 115--129. Springer-Verlag, 1992.


Memoïzation for Term (Hypergraph) Rewriting (Extended.. - Hoffmann   (Correct)

....of memoization for the implementation of functional languages is a matter of debate. However, lazy memoization seems to be a good compromize for speeding up implementations of functional languages. Even an implementation of full memoization by St. Kahrs has given surprisingly good results, see [Kah92]. ....

S. Kahrs. Unlimp: Uniqueness as a Leitmotiv for Implementation. In M. Bruynooghe and M. Wirsing, editors, Proc. PLILP'92 (4th Workshop on Programming Language Implementation and Logic Programming) . Springer Lecture Notes in Computer Science 631, 1992.


Term Rewriting with Sharing and Memoïzation - Hoffmann (1992)   (Correct)

....6. Due to the space restrictions, some less important proofs have been ommitted; they can be found in the technical report [Hof92] Acknowledgements. This paper has been stimulated by Stefan Kahrs efficient implementation of term rewriting languages using folding and full memoization (see [Kah92]) Detlef Plump has made valuable comments on an earlier version of this paper. This work has been supported by the ESPRIT Basic Research Working Group 3299 CompuGraph, Computing by Graph Transformation . 2 Jungles Representing functional expressions with sharing requires graph like structures. ....

....find an occurrence because all pairs of edges have to be checked for equality of operator labels and targets. However, practical implementations can use hashing techniques to allocate tabulated functions so that duplicates are never created. As the implementation of full memoization described in [Kah92] shows, this can bring reasonable practical efficiency. 6 Conclusions In this paper, we have extended jungle evaluation by memoization, an optimization technique for functional programming languages. Jungles are acyclic hypergraphs representing sets of terms with sharing. Jungle evaluation with ....

S. Kahrs. Unlimp: Uniqueness as a Leitmotiv for Implementation. In Proc. PLILP'92 (4th Workshop on Programming Language Implementation and Logic Programming). To appear in LNCS, 1992.


Graph Transformation for Specification and Programming - Andries, Engels, Habel.. (1996)   (14 citations)  (Correct)

.... Delta Delta Delta Delta Delta Delta 1 2 F F Delta Delta Delta Delta Delta Delta 1 2 F Delta Delta Delta Delta Delta Delta 1=2 F Figure 5: A collapse rule 6 In standard implementations of functional programming languages, collapsing is usually not employed (but see [Kah92] for an implementation based on fully collapsed term graphs) We allow collapse steps for several reasons. Firstly, they are needed to deal properly with equations having repeated variables in their left hand sides. Without collapsing, such an equation may not be applicable to a term graph ....

Stefan Kahrs. Unlimp: Uniqueness as a leitmotiv for implementation. In M. Bruynooghe and M. Wirsing, editors, Proc. Programming Language Implementation and Logic Programming, Lecture Notes in Computer Science 631, 115--129, 1992.


Compilation of Combinatory Reduction Systems - Kahrs (1993)   (4 citations)  Self-citation (Kahrs)   (Correct)

....translating bound variables, and d has to be added to the indices corresponding to free variables. The instruction EQIMM is redundant in the sense that all that it does can be done with EQI as well. But it cannot be done quite so well, e.g. if terms are uniquely represented (using a cache; see [7]) then the execution of the instruction EQIMM takes constant time, while EQI is linear in the size of the term to which the rule is applied. Instantiating the Right Hand Side The instructions in the last three lines of the definition of type instruction are used for generating the instance of the ....

Stefan Kahrs. Unlimp -- uniqueness as a leitmotiv for implementation. PLILP'92, pages 115--129. LNCS 631.


Polymorphic Type Checking by Interpretation of Code - Kahrs (1992)   Self-citation (Kahrs)   (Correct)

....matching. But a pattern like (x,y) does not necessarily require any evaluation to check for applicability of the rule, because any value of a pair type has this form. In Miranda, such a pattern can be replaced by 4 This re evaluation can be avoided by unorthodox implementation techniques, see [5]. 5 In Haskell and SML the same problem occurs, although for slightly different reasons. In Haskell, irrefutable patterns are an explicit rather than an implicit feature, but this has similar consequences. SML is eager, so irrefutability has no semantical consequences, but the code for matching ....

Stefan Kahrs. Unlimp -- uniqueness as a leitmotiv for implementation. In Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming, pages 115--129, Leuven, August 1992. Springer. LNCS 631.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC