Unlimp -- uniqueness as a leitmotiv for implementation

Kahrs, Stefan (1992) Unlimp -- uniqueness as a leitmotiv for implementation. In: UNSPECIFIED. (Full text available)

Download (360kB) Preview
Download (198kB)


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: Conference or workshop item (Paper)
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: 15 Jan 2017 11:31 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/21036 (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year