Great Jones - Shop now
Add Prime to get Fast, Free delivery
Amazon prime logo
Buy new:
-28% $43.14
FREE delivery Thursday, April 3
Ships from: Amazon.com
Sold by: Amazon.com
$43.14 with 28 percent savings
List Price: $59.99
FREE Returns
FREE delivery Thursday, April 3
Or Prime members get FREE delivery Tuesday, April 1. Order within 7 hrs 13 mins.
In Stock
$$43.14 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$43.14
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$38.74
FREE Returns
Textbooks may not have access codes, CDs, etc.... Textbooks may not have access codes, CDs, etc.... See less
FREE delivery Thursday, April 3
Or fastest delivery Wednesday, April 2. Order within 7 hrs 13 mins
Only 1 left in stock - order soon.
$$43.14 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$43.14
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Purely Functional Data Structures

4.5 out of 5 stars 95 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$43.14","priceAmount":43.14,"currencySymbol":"$","integerValue":"43","decimalSeparator":".","fractionalValue":"14","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"%2BbiALa%2BC%2BVXcyOvx9%2B%2BNWA58yrhe1QYHtL1jX8wK7h7XyWfBO%2BrbJeA3JPHpvFrhxwz%2BvcIwVK%2F6qEZ%2BZ8KeWqS9wRn5bJhcFaKbNMU40vVJGj8%2BRjcqre%2Fj34zhhbhq55nVrjMK0Xs%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$38.74","priceAmount":38.74,"currencySymbol":"$","integerValue":"38","decimalSeparator":".","fractionalValue":"74","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"%2BbiALa%2BC%2BVXcyOvx9%2B%2BNWA58yrhe1QYH9dQh0PL9LQzGYVWE2cZUwsXEwW%2FIBrS6sgOPDffWDQZzbbCYkCN3uYM6GrZnYKZwSREw3ttwNKfNVxneFRcSsXvAKzwi4sOmyJK1R1%2FCip11LRB4Jb8vNDHoIDCVUk8ROLzWYBzbaXLBMHGGeZXdvA77UBM3zbrH","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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.

Frequently bought together

This item: Purely Functional Data Structures
$43.14
Get it as soon as Thursday, Apr 3
In Stock
Ships from and sold by Amazon.com.
+
$44.01
Get it as soon as Thursday, Apr 3
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
Choose items to buy together.

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

Book Description

This book describes data structures and data structure design techniques for functional languages.

Product details

  • Publisher ‏ : ‎ Cambridge University Press (June 13, 1999)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 232 pages
  • ISBN-10 ‏ : ‎ 0521663504
  • ISBN-13 ‏ : ‎ 978-0521663502
  • Item Weight ‏ : ‎ 12 ounces
  • Dimensions ‏ : ‎ 6 x 0.58 x 9 inches
  • Customer Reviews:
    4.5 out of 5 stars 95 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Chris Okasaki
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

4.5 out of 5 stars
95 global ratings

Review this product

Share your thoughts with other customers

Customers say

Customers find the book useful and interesting for computational scientists. They describe it as a seminal work in the field, with good content and an easy-to-follow style. Readers mention it's worth reading and provides a great view of functional programming.

AI-generated from the text of customer reviews

Select to learn more

12 customers mention "Readability"9 positive3 negative

Customers find the book's content easy to read and engaging. They appreciate the terse style that packs a lot of information into few words. The book provides detailed explanations and views of data structures that readers would never have considered.

"...Aside from improving you as a programmer, it's just intellectually stimulating to see this elegant ways of expressing the structures, especially if..." Read more

"...applicable to day-to-day work, but it definitely is a worth reading mind-opener; it's fascinating to see efficiency could still be preserved while..." Read more

"...This is a seminal work in the field, and its contents was invaluable and its style easy to read." Read more

"...It is a great challenge to read and gives a great view of data structures you would never have thought of." Read more

10 customers mention "Functionality"10 positive0 negative

Customers find the book useful and interesting for computational scientists. They say it's a seminal work on data structures in functional programming. The concepts can be applied to any functional programming language, and the code is powerful. Readers mention it's the best resource on implementing purely functional data-structures.

"...Aside from improving you as a programmer, it's just intellectually stimulating to see this elegant ways of expressing the structures, especially if..." Read more

"...This book remains the best resource available on implementing performant purely functional versions of well-known data structures -- the kind of..." Read more

"...to see efficiency could still be preserved while being purely functional!" Read more

"...This is a seminal work in the field, and its contents was invaluable and its style easy to read." Read more

Top reviews from the United States

  • Reviewed in the United States on February 15, 2016
    Even if you don't plan to do functional programming, it will make you a better programmer to think about recursive / immutable data structures outlined in this book. Aside from improving you as a programmer, it's just intellectually stimulating to see this elegant ways of expressing the structures, especially if you first learned imperative / stateful data structures. This is not an introductory book, however.
    9 people found this helpful
    Report
  • Reviewed in the United States on August 16, 2014
    Okasaki's book on purely functional data structures is a timeless classic.

    Every programmer -- functional or otherwise -- should have a copy at arm's length.

    This book remains the best resource available on implementing performant purely functional versions of well-known data structures -- the kind of data structures that everyday programmers need to get their jobs done.

    It would be one thing to only aim for coverage of the space, but Okasaki goes much further by demanding that every algorithm he presents be as elegant as possible.

    That insistence on elegance really pays off for the reader: the algorithms are easy to understand and easy to implement in the language of your choice.

    To the delight of the reader, in many cases, the functional versions of these data structures end up much easier to implement and understand than their more well-known imperative versions.
    16 people found this helpful
    Report
  • Reviewed in the United States on June 24, 2019
    This book is really good. It discusses its data structures on a level that I'm quite happy with with plenty of detail and discussion about each one.

    The only problem I had with the book is the use of standard ML. I know it's a thing of personal preference, but I found standard ML to be much harder to read than Scala or Haskell as is usually used in other books. There IS a Haskell section in the back which I found myself flipping forward to many and it got repetitive. It also hurts the readability since the code in the back is full data structure implementation, not the specific examples highlighted in the chapter.
    One person found this helpful
    Report
  • Reviewed in the United States on February 5, 2016
    This is not the kind of book in which you could find techniques applicable to day-to-day work, but it definitely is a worth reading mind-opener; it's fascinating to see efficiency could still be preserved while being purely functional!
    2 people found this helpful
    Report
  • Reviewed in the United States on January 25, 2016
    I used this book to write a data structure library in a functional language. This is a seminal work in the field, and its contents was invaluable and its style easy to read.
    3 people found this helpful
    Report
  • Reviewed in the United States on January 10, 2014
    In the pantheon of knowledge there are increasing levels of value; data, information, knowledge and wisdom. Okasaki's "Purely Functional Data Structures" firmly fits into the latter category. The book provides a relatively complete survey of all the academic literature on the topic and presents it in a way that is understandable to an advanced programmer.

    If you are an advanced programmer, i.e. you have significant experience with a procedural or OO language and some experience with a functional programming language, then this book may be for you. If you have experienced issues in synchronising access to data structures in multi-threaded environments or ensuring transactional access to complex data, then this book contains the wisdom you seek.
    15 people found this helpful
    Report
  • Reviewed in the United States on June 15, 2020
    Admittedly this is an odd recommendation especially for a section on computational math. That said, functional programming is a much more natural paradigm in scientific code vs systems code. After I read this book I finally understood how Spark works and have since been able to enjoy reading short and powerful Haskell code for science. An amazing example is Automatic Differentiation in Haskell
    2 people found this helpful
    Report
  • Reviewed in the United States on June 3, 2010
    Despite the editorial description of the book, the book is really about Standard ML. It happens to have an appendix where source code has been translated -- out of order, and without reference to the text -- into Haskell. This makes it very difficult to read through the book without speaking Standard ML.

    The exercises, also, are only SML. Several appear to use idiosyncratic SML features -- I say "appear" because no answers to the exercises, even the basic ones, are provided for me to check my understanding.

    Essentially, the content is good, but expect to learn Standard ML to really get the most out of this book.
    43 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Philipp Meier
    5.0 out of 5 stars Absolutes Must-Read
    Reviewed in Germany on December 15, 2014
    Für alle, die in der funktionalen Programmierung zu Hause sind, oder werden wollen, eine Pflichtlektüre. Zugegeben, etwas Neigung zur Theorie ist nötig, aber Okasaki erklärt ausreichend ausführlich. Die Vorgestellten Datenstrukturen sind teils überraschend pfiffig und die Implementierung in ML gut nachvollziehbar.
    Report
  • Pablo
    5.0 out of 5 stars An eye opener. A must for any functional programmer ...
    Reviewed in Canada on October 3, 2016
    An eye opener. A must for any functional programmer. You just cannot continue using your typical book of algorithms for imperative "mutating" data structures.
  • J. D. Harrop
    5.0 out of 5 stars Wonderful
    Reviewed in the United Kingdom on January 24, 2009
    This book is a superb introduction to the subject of purely functional data structures. Many different data structures and implementations of them are described and each is walked through in detail with a thorough description of the advantages and disadvantages. More importantly, this book contains pragmatic advice based upon existing implementations which is invaluable for real programmers.

    The only downsides are that some good advice is buried deep in the book and not presented in an overview or executive summary, and the book uses SML rather than OCaml or F#. However, Markus Mottl has translated the code into OCaml.
  • Black
    3.0 out of 5 stars Un bon livre
    Reviewed in France on May 11, 2013
    Tous les exemples sont en ML (même s'il y a la traduction de certains en Haskell), donc c'est assez compliqué au début.
    Les exemples sont bien traités et raffinés, optimisés, etc.
    Ce livre est donc à mi-chemin entre un livre de cuisine, qui fournit les codes "tout fait" (modulo le langage) et un livre de méthodes qui nous apprends à les réaliser.
    Dernier point noir, ce sont des algorithmes/problème assez exotiques qui sont traités.
  • Alexey Filippov
    5.0 out of 5 stars A real treasure if you are ready to give it the time it deserves
    Reviewed in the United Kingdom on November 15, 2015
    A detailed, well-paced textbook on functional data structures. Do not make a mistake thinking that it's an introduction book — it's not. It is an extended version of Okasaki's PhD thesis and should be treated as such.

    Make sure to get through the exercises: these do hide plenty of insights not available otherwise. A key will not help here: some ideas are better delivered through first-hand experience, and there are no shortcuts.