Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
42 used & new from $33.79

Have one to sell? Sell yours here
 
   
Purely Functional Data Structures
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Purely Functional Data Structures (Paperback)

by Chris Okasaki (Author) "A distinctive property of functional data structures is that they are always persistent-updating a functional data structure does not destroy the existing version, but rather..." (more)
Key Phrases: enclosing suspension, amortized data structures, recursive slowdown, Map Map (more...)
4.3 out of 5 stars See all reviews (6 customer reviews)

List Price: $50.00
Price: $45.00 & this item ships for FREE with Super Saver Shipping. Details
You Save: $5.00 (10%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Tuesday, July 21? Choose One-Day Shipping at checkout. Details
27 new from $42.24 15 used from $33.79
Also Available in: List Price: Our Price: Other Offers:
Hardcover $41.99 $41.99 29 used & new from $33.00

Frequently Bought Together

Purely Functional Data Structures + Real World Haskell + The Haskell Road to Logic, Maths and Programming (Texts in Computing)
Price For All Three: $110.14

Show availability and shipping details


Customers Who Bought This Item Also Bought


Editorial Reviews

Review
"This book is important because it presents data structures from the point of view of functional languages...a handy reference for professional functional programmers...Most of the programs can easily be adapted to other functional languages. Even C and Java programmers should find implementing these data structures a relatively straightforward process...Programs are physically well structured and readable, and are displayed in boxes. Okasaki has produced a valuable book about functional programming, exploring a wide range of data structures...a significant contribution to the computer science literature." Computing Reviews

Product Description
Most books on data structures assume an imperative language such as 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 that allow programmers to develop their own functional data structures. The author 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 are easily adaptable 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.

See all Editorial Reviews

Product Details


Inside This Book (learn more)




What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(7)
(1)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

6 Reviews
5 star:
 (3)
4 star:
 (2)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.3 out of 5 stars (6 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
66 of 67 people found the following review helpful:
5.0 out of 5 stars An elegant book, March 30, 2005
By Randall Helzerman (campbell, ca) - See all my reviews
(REAL NAME)      
Okasaki's slim volume is one of the best expositions on implementing data structures & algorithms in a functional language. After taking an introductory course on functional programming, this would be the book which tells you where to go next.

This book doesn't just present a rehash/rewrite of imperative data structures, only written in a functional language. Instead, Okasaki makes sure to emphasize benefits which only functional programming can bring to the table. For example, many functional data structures can compactly represent not just their current state, but all of their past states as well--a feature called "Persistence". Also, functional newbie programmers might be wondering why lazy vs. strict programming is a big deal, and Okasaki shows clearly where data structures can benefit from either being lazy or being strict.

For the advanced reader, Okasaki also presents several powerful techniques for analyzing the runtime of algorithms, including the so-called "Banker's Method" and the "Physicist's Method" for analyzing amortized algorithms.

I hope that Okasaki comes out with a 2nd edition of this book; there is one missing piece in particular which I really wish he would have included: Although he presents an EXTREMELY lucid description of how to implement Red-Black trees in a functional language, he only presented algorithms for insertion and querying. Of course, deletion from a red-black tree is the hardest part, left here, I suppose, as an exercise to the student. If you want to supply this missing piece yourself, check out a paper by Stefan Kars, "Red-black trees with types", J. Functional Programming 11(4):425-432, July, 2001. It presents deletion routines, but you'll still want to read Okasaki's book first, for unless you're very much smarter than me you won't be able to understand Kars' paper until you read Okasaki's exposition of red black trees.

Finally, this book is not just useful for programmers in functional languages; logic programmers, using prolog or a varient, will also find this book very helpful, because most of the techniques (all of the techniques, really, with the exception perhaps of the lazy programming stuff) can be directly applied in a prolog programming setting as well.

After reading this book and implementing some of the data structures for yourself, you'll be amazed at how fast algorithms can run, even when written in a functional language!
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
24 of 28 people found the following review helpful:
4.0 out of 5 stars Strange choice of implementation languages, November 6, 2006
By S. Brickner (Alexandria, VA United States) - See all my reviews
(REAL NAME)   
The description of the book says it includes source code in both ML and Haskell. Unfortunately, the body of the text uses ML exclusively, and the Haskell code is banished to an appendix.

I say "unfortunately", because many of the data structures used depend on lazy evaluation, which comes quite naturally to Haskell, and seems to require some sort of non-standard extension in ML.

While the content is good, I wish it would have used Haskell as the primary exposition language.
Comment Comment (1) | Permalink | Was this review helpful to you? Yes No (Report this)



 
24 of 32 people found the following review helpful:
4.0 out of 5 stars Hash Tables are included, briefly., November 24, 2001
By A Customer
A correction to another review: Hash Tables are included, briefly.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
Ad
 
Most Recent Customer Reviews

5.0 out of 5 stars Theoretically Interesting and Practically Useful
I use this book all the time to implement and improve purely functional data-structures. It is amazing the performance improvements possible by using good data-structures in... Read more
Published 2 months ago by Jay McCarthy

5.0 out of 5 stars Intro to the functional style and fun algorithmic content
If you are beginning to learn functional programming, this is a good book to study. It focuses much on the "no assignment" aspect of the functional style; a good place to start... Read more
Published 15 months ago by L. James

3.0 out of 5 stars Interesting, but more academic than practical
This is the best book available on the implementation of data structures in functional programming languages (e.g. ML, Haskell). Read more
Published on June 11, 2000

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]

   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Don't Slip and Slide

HeatTrak Heated Walkway

Keep your walkways safe and clear of snow and ice using the HeatTrak heated walkway.

Shop all HeatTrak heated walkways

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Find the Part You Need

Shop for replacement parts
Browse the Home Improvement Store for a wide selection of replacement parts, including outdoor power equipment and power tool accessories.

Shop now

 

The Workhorse of the Woodshop

Shop for table saws
As the most versatile machine in the workshop, a good table saw is necessary for any woodworker.

Shop for table saws

 
Ad

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Darkfever
Darkfever by Karen Marie Moning

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates