Skip to main content

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) (KAR id:21036)

Language: English
Download (360kB) Preview
Language: English
Download (198kB) Preview
Official URL


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
DOI/Identification number: 10.1007/3-540-55844-6_131
Uncontrolled keywords: memoisation, uniqueness, functional programming
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing > Theoretical Computing Group
Depositing User: Mark Wheadon
Date Deposited: 27 Mar 2010 16:54 UTC
Last Modified: 06 May 2020 03:04 UTC
Resource URI: (The current URI for this page, for reference purposes)
Kahrs, Stefan:
  • Depositors only (login required):


Downloads per month over past year