Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Applications of Recursively Defined Data Structures. Lloyd Allison,
 

Summary: Applications of Recursively Defined Data Structures.
Lloyd Allison,
Department of Computer Science,
Monash University,
Victoria 3168.
uucp: lloyd@cs.monash.edu.au
Abstract:
A circular program contains a data structure whose definition is self­referential or recursive. The use
of such a definition allows efficient functional programs to be written and can avoid repeated evaluations
and the creation of intermediate data structures that would have to be garbage collected. This paper uses
circular programs in various ways, to implement memo­structures and explicit search­trees to hold
solutions to constraint­satisfaction problems.
keywords: circular program, functional programming, list, recursion, tree.
1. Introduction.
A circular program contains a data structure whose definition is self­referential or recursive. Such a
program cannot be written in a conventional, strict, imperative programming language but it can be written
in a functional language employing lazy evaluation[6,8] or call by need.
general schema: let rec ds = f(ds) ­­ ds is some data structure
eg. let rec posints = 1 . (map succ posints) ­­ list of all +ve integers
Note that `.' is the infix list constructor also known as cons, rec qualifies recursive definitions and map

  

Source: Allison, Lloyd - Caulfield School of Information Technology, Monash University

 

Collections: Computer Technologies and Information Sciences