An Introduction to Functional Programming Through Lambda Calculus (Dover Books on Mathematics)
A**N
Clear, unambiguous explanation of Lambda Calculus with plenty of examples
I am changing my rating from four stars to five stars because the wording and formulas in this book are extremely "tight" - every possible doubt I have has been anticipated and explained. I am loving my journey into lambda calculus. This book is teaching me how to write and transform lambda expressions for multiple purposes including the definitions of Boolean constants, natural numbers and operations on these quantities. I expect I will be able to apply this understanding when it comes time to read theorems in mathematical logic (this book has no theorems so far and no need of them since the focus is on practical derivations).The price is right.I have the Kindle edition and it is fine on a decent monitor but does not display well on a cell phone.Before finding this book I looked at many resources and found nothing I could learn from.
C**R
Short but good read!
Phenomenal book. Fun to read and exercises are very enlightening. Assumes no in depth mathematical knowledge so it's easy to dive right in. Material is a bit dated, but every concept covered is just as applicable today. If you are a mathematical guru looking for an in depth lambda calculus analysis, this isn't the book for you. That said, if you dabble in functional programming it's great to pick this up and see the roots of languages like scala or lisp.
R**A
Hard to start, but hard to put down.
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.
N**S
A great resource for understanding lambda calculus
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
G**N
A Must-Read For Every Self-Respecting Software Developer
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.
B**Y
Quickly got over my head
Lambda calculus is probably a good way to learn functional programming, and the introduction convinced me that this is true. However, I got lost in chapter 1.
J**.
A used text in excellent condition
The book was in excellent condition and arrived early! The text is a must for computer science students with a mathematical bent.
T**T
A great book, but you can get it for free.
Overall, this book is excellent. It reads really nicely, the information is clear, and easily realized as pragmatic whilst not forgetting the theory either.All that said, you can actually read this book for free on Greg Michaelson's website (just google "An Introduction to Functional Programming Through Lambda Calculus" and it'll be the first result). This doesn't diminish the quality of the book at all, obviously, just something that might save you a few bucks. That said, if you like hard-copies, this Dover edition certainly is excellent.
S**K
Um bom livro para iniciantes
Simples, repetitivo nós exemplos, bastante didático
A**W
Great book for learning lambda calculus but difficult to grasp at first
I bought this book to learn lambda calculus and the book helped me to do exactly that.It starts with basic lambda functions i.e. λx.x or λx.λy.x and builds logic operators, conditionals, numbers, arithmetic operations, and data structures such as lists and trees. It's fascinating how you get from basic functions like λx.x and λx.λy.x to data structures like lists and trees.The reductions/replacements that you're introduced to in the first couple chapters are a bit difficult to comprehend at first but after doing the exercises at the end of the chapters I was able to read and understand it without much difficulty. Although, doing so was tedious.I didn't find the final two chapters that covered the ML and LISP languages to be very good. The author tried to give a brief overview of the languages in 30 pages (per language). Which is an impossible task so he just touched on the very basics. Overall I didn't find them very informative or useful. However, the rest of the book was great and I would recommend it to anyone who is interested in learning lambda calculus.
S**M
Print and binding quality is a bit off, but the content is eminently usable
Having come back to FP after many years, found this classic available on Amazon India for the first time. There are cheaper ways to pick up Lambda Calculus, but none like this (for example, the easily available paper by Henk Barendregt).Unfortunately the paperback available here seems to be poorly bound with thin paper, not the quality I used to associate with Dover. Almost seems to be a counterfeit book.
T**O
A complete waist of money
There is nothing in this book you couldn't find online. When buying it, I falsely assumed it announce some theory and then apply in practice, however, there is only the introduction-level practical side, which again, is rather simple ( How do one manipulates lists in ML/LISP? How one decalres types in ML? How do one handles lists of records?)If I ever needed that information... I would just read the documentation!2 stars, because it says "Introduction" in title, so they weren't lying there
A**A
Complete and practical
Maybe one of the best books to study lambda calculus. Not only because it is a rigurous and complete book but also because it makes a practical and pragmatical approach.
Trustpilot
4 days ago
1 month ago