Graph Algorithms in a Lazy Functional Programming Language

Loading...
Thumbnail Image

Other Version

External File or Record

Can’t use the file because of accessibility barriers? Contact us

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Solutions to graph problems can be formulated as the fixed point of a set of recursive equations. Traditional algorithms solve these problems by using pointers to build a graph and by iterating side effects to arrive at the fixed point, but this strategy causes serious problems of synchronization under a parallel implementation. In denying side effects, functional programming avoids them, but it also precludes known algorithms that are uniprocessor-optimal. Functional programming provides another, translation scheme that computes the fixed point without relying on the operational concept of a ``store''. In this approach, laziness plays an essential role to build a cyclic data structure, a graph, and to implement iteration as streams. The resulting algorithm is not optimal on uniprocessors but, avoiding side effects, the algorithm suggests a promising, more general approach to multiprocessor solutions.

Series and Number:

Indiana University Computer Science Technical Reports; TR330

EducationalLevel:

Is Based On:

Target Name:

Teaches:

Table of Contents

Description

Keywords

Citation

Journal

DOI

Rights

This work is protected by copyright unless stated otherwise.

Type