Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Purely Functional Data Structures

Purely Functional Data Structures

Purely Functional Data Structures

Chris Okasaki, Columbia University, New York
No date available
Paperback
9780521663502
Paperback

    Most books on data structures assume an imperative language like C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques so that programmers can develop their own functional data structures. It includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages. All source code is given in Standard ML and Haskell, and most of the programs can easily be adapted to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.

    • Stresses techniques of data structure design rather than just finished products
    • Source code in Standard ML and in Haskell, easily adaptable to other functional languages
    • For professional programmers working with functional languages: can also be used as a tutorial or for self-study

    Product details

    No date available
    Paperback
    9780521663502
    232 pages
    227 × 153 × 18 mm
    0.35kg

    Table of Contents

    • 1. Introduction
    • 2. Persistence
    • 3. Some familiar data structures in a functional setting
    • 4. Lazy evaluation
    • 5. Fundamentals of amortization
    • 6. Amortization and persistence via lazy evaluation
    • 7. Eliminating amortization
    • 8. Lazy rebuilding
    • 9. Numerical representations
    • 10. Data-structural bootstrapping
    • 11. Implicit recursive slowdown
    • Appendix: Haskell source code.