Applications of Recursively Defined Data Structures

06/26/2022
by   Lloyd Allison, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/25/2018

Shape Neutral Analysis of Graph-based Data-structures

Malformed data-structures can lead to runtime errors such as arbitrary m...
research
10/24/2018

Lower Bounds for Oblivious Data Structures

An oblivious data structure is a data structure where the memory access ...
research
05/17/2018

Generic Deriving of Generic Traversals

Functional programmers have an established tradition of using traversals...
research
05/20/2022

General Ramified Recurrence and Polynomial-time Completeness

We exhibit a sound and complete implicit-complexity formalism for functi...
research
07/11/2022

Program Adverbs and Tlön Embeddings

Free monads (and their variants) have become a popular general-purpose t...
research
03/28/2023

Amortized Analysis via Coinduction

Amortized analysis is a program cost analysis technique for data structu...
research
11/13/2022

Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in Coq

This paper introduces Choice Trees (ctrees), a monad for modeling nondet...

Please sign up or login with your details

Forgot password? Click here to reset