CDN$ 25.13
  • List Price: CDN$ 33.75
  • You Save: CDN$ 8.62 (26%)
Only 6 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
An Introduction to Functi... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 3 images

An Introduction to Functional Programming Through Lambda Calculus Paperback – Jul 21 2011

5.0 out of 5 stars 2 customer reviews

See all 4 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 25.13
CDN$ 14.40 CDN$ 38.77

Harry Potter and the Cursed Child
click to open popover

Special Offers and Product Promotions

  • You'll save an extra 5% on Books purchased from, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)

Frequently Bought Together

  • An Introduction to Functional Programming Through Lambda Calculus
  • +
  • Purely Functional Data Structures
Total price: CDN$ 67.54
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 336 pages
  • Publisher: Dover Publications (Aug. 18 2011)
  • Language: English
  • ISBN-10: 0486478831
  • ISBN-13: 978-0486478838
  • Product Dimensions: 16.7 x 1.7 x 23.5 cm
  • Shipping Weight: 476 g
  • Average Customer Review: 5.0 out of 5 stars 2 customer reviews
  • Amazon Bestsellers Rank: #117,864 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

About the Author

Gregory Michaelson is a Professor of Computer Science and Mathematics at Heriot-Watt University in Edinburgh, Scotland.

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback Verified Purchase
Good resource for those studying functional programming and wanting to understand the theory behind it. This book does a great job of building up the concepts in small, digestible pieces.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback Verified Purchase
Organized and focused sections aimed at beginners in the topic. Plenty of examples demonstrate explained concepts. Experienced programmers from object oriented background can benefit a lot from this text and may progress faster in certain sections that feel very familiar. Aside from a few typos, this text is a fluid read.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most Helpful Customer Reviews on (beta) HASH(0xb3b4578c) out of 5 stars 23 reviews
38 of 40 people found the following review helpful
HASH(0xb389c468) out of 5 stars A great resource for understanding lambda calculus March 23 2012
By Norman Richards - Published on
Format: Paperback Verified Purchase
I found the first half of this book on lambda calculus to be really helpful. The explanations and problems (solutions provided) made it easy to follow. As the book progresses, the author slowly transforms lambda calculus notation into something resembling ML. At first I was less interested in the "introduction to functional programming" part than the "through lambda calculus" part, so I didn't get as much value from the later chapters initially. Later, when I was learning SML, the value of the latter chapters came through. However, even if your only goal is the same as mine was, to gain an understanding of lambda calculus, I still highly recommend this book. It's the best introduction I've found so far
46 of 50 people found the following review helpful
HASH(0xb389c6b4) out of 5 stars Gentlest Possible introduction to Lambda Calculus March 17 2009
By wooks - Published on
Format: Paperback
Very easy to understand. Has the added bonus of solutions to all the questions. Unlike Hankins book you really can teach yourself Lambda Calculus with this. If you see a copy available grab it.
16 of 16 people found the following review helpful
HASH(0xb389cef4) out of 5 stars Hard to start, but hard to put down. June 28 2014
By Ryan McNamara - Published on
Format: Paperback Verified Purchase
I've been trying to dive into functional programming, so I bought this book. The first chapter or so was a bit off in my opinion. The author should have covered why lambda calculus was invented and done a better job of giving a general overview. However, after looking up a few things online and getting a handle on it, this turned out to be a really amazing book. The author essentially teaches you how to build an entire programming language from first principles. It's quite a journey, actually. And in the process you actually understand how functional programming works. Knowing only beginner python I was able to follow along quite easily and if anything the author went into too much detail. So I found the pacing to be wonderful and because you understand everything that went on previously, the next part really isn't much of a leap. Many confusing functional programming peculiarities like partially applied functions, prefix notation, it's heavy use of recursion (and how it is applied) is a piece of cake. The book concludes with looking at two real programming languages, both of which are still extremely relevant today, and comparing it to the stuff we've been inventing with lambda calculus. The two example languages are Standard ML (which Haskell is largely derived from, for instance) and Common Lisp (which is the other major functional family of languages around today if you ignore prolog).

So even though this is an old book, there's not a whole lot about it that's dated. If anything, it's dated in a very good way: it doesn't use academic language or assume you know a lot of programming concepts (many of which hadn't even been invented, so maybe that's part of it) or anything like that. It's easy to follow along with and lambda calculus is actually kind of fun. It's such a trivially simple method of calculating, but with thought you can create some very high-level math and programming ideas and see how they play out.

By the way, no math knowledge is required to understand this book. Honestly, all you really need to know is the basic concept of addition and multiplication since the author will be implementing addition and multiplication functions. Other than that, there's no reason an absolute beginning to math or programming couldn't pick up this book. You might have to read the second chapter a second time after you get the hang of it.

I want to give it five stars, but it was hard getting going like I mentioned. However, you can easily overcome that by finding and introductory article online or something. Nothing's perfect, but I'm very glad I bought this book.
13 of 13 people found the following review helpful
HASH(0xb389cfa8) out of 5 stars A Must-Read For Every Self-Respecting Software Developer Jan. 15 2014
By Alexander 'Knight' - Published on
Format: Kindle Edition Verified Purchase
Like Object-Oriented Programming (OOP), Functional Programming (FP) is emerging as a mainstream paradigm for software developers. There are many great books out there that teach you functional programming, but largely neglect the theoretical/mathematical underpinnings. This language-agnostic book fills the gap with regards to the hows-and-whys and origins of functional programming. Apart from being extremely easy to understand and being fairly rigorous for an introductory-level book, this book also outlines the meanings and origins of some of the traditional terms and notations associated with functional programming, such as "consing". It wasn't until I read this book that I felt a sense of enlightenment as to the value of Functional Programming. Without a question, I have emerged as a much better software developer after reading this book.
13 of 14 people found the following review helpful
HASH(0xb389ca50) out of 5 stars Best way to get started in functional programming June 3 2014
By Shaun Lippy - Published on
Format: Paperback
In my opinion, the best way to get started with functional programming is to wrap your brain around the lambda calculus, which is the genesis of the whole paradigm. I dug around in Haskell, Scala, and Lisp/Scheme/Clojure for a bit. not really fully grasping why things were done the way they were in those languages. Resolving to get a more theoretical background in the math, I found this book. If you read the book carefully, work out the examples on your own, and do most of the exercises, you will have a very good foundation in the math behind functional programming. Since reading the text, I've gone back to Haskell and the lightbulbs go off regularly for me now where there was only confused darkness before. Read the book, do the exercises - then go back to your FP language of choice and you, too, will "get it" on a deeper level than you did before.