# Unlimp -- uniqueness as a leitmotiv for implementation

Kahrs, Stefan (1992) Unlimp -- uniqueness as a leitmotiv for implementation. In: Bruynooghe, Maurice and Wirsing, Martin, eds. Programming Language Implementation and Logic Programming 4th International Symposium. Lecture Notes in Computer Science . Springer, Berlin, Germany, pp. 115-129. ISBN 978-3-540-55844-6. E-ISBN 978-3-540-47297-1. (doi:10.1007/3-540-55844-6_131)

PDF
 Preview
Postscript
 Preview
Official URL
http://dx.doi.org/10.1007/3-540-55844-6_131

## Abstract

When evaluation in functional programming languages is explained using ?-calculus and/or term rewriting systems, expressions and function definitions are often defined as terms, that is as em trees. Similarly, the collection of all terms is defined as a em forest, that is a directed, acyclic graph where every vertex has at most one incoming edge. Concrete implementations usually drop the last restriction (and sometimes acyclicity as well), i.e. many terms can share a common subterm, meaning that different paths of subterm edges reach the same vertex in the graph. Any vertex in such a graph represents a term. A term is represented uniquely in such a graph if there are no two different vertices representing it. Such a representation can be established by using em hash-consing for the creation of heap objects. We investigate the consequences of adopting uniqueness in this sense as a leitmotiv for implementation (called Unlimp), i.e. not em allowing any two different vertices in a graph to represent the same term.

Item Type: Book section 10.1007/3-540-55844-6_131 memoisation, uniqueness, functional programming Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, Faculties > Sciences > School of Computing > Theoretical Computing Group Mark Wheadon 27 Mar 2010 16:54 UTC 31 May 2019 10:32 UTC https://kar.kent.ac.uk/id/eprint/21036 (The current URI for this page, for reference purposes)