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. 115129. ISBN 9783540558446. EISBN 9783540472971. (doi:10.1007/3540558446_131) (KAR id:21036)
PDF
Language: English 

Click to download this file (262kB)
Preview

Preview 
This file may not be suitable for users of assistive technology.
Request an accessible format


Postscript
Language: English 

Click to download this file (198kB)
Preview

Preview 
This file may not be suitable for users of assistive technology.
Request an accessible format


Official URL: http://dx.doi.org/10.1007/3540558446_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 hashconsing 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/3540558446_131 
Uncontrolled keywords:  memoisation, uniqueness, functional programming 
Subjects:  Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, 
Divisions:  Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing 
Depositing User:  Mark Wheadon 
Date Deposited:  27 Mar 2010 16:54 UTC 
Last Modified:  16 Nov 2021 09:59 UTC 
Resource URI:  https://kar.kent.ac.uk/id/eprint/21036 (The current URI for this page, for reference purposes) 
Kahrs, Stefan:  https://orcid.org/0000000150999375 
 Link to SensusAccess
 Export to:
 RefWorks
 EPrints3 XML
 BibTeX
 CSV
 Depositors only (login required):