We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

cs

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: Circular Programs and Self-Referential Structures

Authors: Lloyd Allison
Abstract: A circular program creates a data structure whose computation depends upon itself or refers to itself. The technique is used to implement the classic data structures circular and doubly-linked lists, threaded trees and queues, in a functional programming language. These structures are normally thought to require updatable variables found in imperative languages. For example, a functional program to perform the breadth-first traversal of a tree is given. Some of the examples result in circular data structures when evaluated. Some examples are particularly space-efficient by avoiding the creation of intermediate temporary structures which would otherwise later become garbage. Lastly, the technique can be applied in an imperative language to give an elegant program.
Subjects: Programming Languages (cs.PL)
ACM classes: D.1; E.1
Journal reference: Software Practice and Experience, 19(2), 99-109, 1989
DOI: 10.1002/spe.4380190202
Cite as: arXiv:2403.01866 [cs.PL]
  (or arXiv:2403.01866v1 [cs.PL] for this version)

Submission history

From: Lloyd Allison [view email]
[v1] Mon, 4 Mar 2024 09:21:10 GMT (12kb)

Link back to: arXiv, form interface, contact.