Lambda-Calculus and Combinators: An Introduction
Q**O
A best introduction to Lambda and Combinators
I've been learning Standard ML, Scheme and Lisp, and I've been writing small programs with these languages.However I was only able to know how, rather than why of these languages, which are deeply rooted in Lambda calculus.I knew how lambda and combinators work, but I had no idea why they were invented in the first place.When reading this book, I started to get the idea behind these languages. And I now can understand why these languages were invented, and from where those concepts were innovated.This book answers all my questions of "why", gives a thorough and clear background from a historical point of view, and suggests a long list of other books as reference.The examples and exercises are well organized which help a lot in understanding the newly introduced concepts. Most of the exercises have answers, except very trivial ones.Though there are tons of documents of Lambda and combinators online, I believe this is the best book as an introduction to Lambda and combinators. Strongly recommended to all that want to understand the why of Lambda and combnators.
N**Z
Five Stars
Good introduction by an expert in the field.
R**A
Five Stars
\lambda loved.loved
P**N
A broad and reasonably deep survey of topics in lambda calculus and CL from logician's perspective
I found Hindley and Seldin's book to be a reasonably good fit for my expectations, and I think it's just the right expectations that really matter when you're deciding whether to take it on or not.Firstly, I should note that in my opinion this book is really written from a logician's or mathematician's perspective rather than a computer scientist's one. Of course, the boundary between logic and foundational parts of theoretical computer science is thin at best, but I feel that the approach taken here, the parts of the subject chosen for study and the general tone of the text reflect a more abstract perspective than that I'd expect from a "model" CS book. In particular, I found the sections covering equality and modelling of lambda calculus to be rather boring and ill-motivated -- not because of any inherent qualities of those chapters, but simply because I presently have little interest in those specific subjects, and so far I fail to see why would they be important for me as a student of PLT and FP.That said, if you're interested in stuff somewhat closer to the proverbial metal, the book still offers plenty of juicy stuff for you to ponder. The introduction to untyped lambda calculus, combinatory logic and simply typed lambda calculus provides a very principled coverage of those topics, discussing the subtle differences between the calculi in much gory detail, and being richly adorned with many lemmas one would take for granted, but which are discussed here in full formal glory instead, allowing the reader to develop -- if one so desires -- a fairly nuanced feel for the fundamentals.The discussion of Barendregt's Lambda cube was thoroughly fascinating and in many ways eye-opening to me, even though -- along with many of the later chapters -- it made me feel in sore need of waders, and, occasionally, a snorkel. The math is dense, and working through all of it would likely require expending much more time than I'm willing to invest into it right now.Lastly, I cannot properly judge just how broad the coverage of modern state of the art in lambda calculus this book provides, as this very book itself is about the most thorough exposure to these topics I had to date, but it leaves the impression of being a fairly thorough survey of the basics, including touching on some recent results in the field (which, of course, is quite new of itself). The books omits many of the meatier proofs, but I found this to be perfectly understandable as the bloat would be unimaginable otherwise, and of course there are always proper references to follow for those interested in the full treatment.On a side note not directly relevant to the book as such, but more to how the Kindle edition was done, one thing I would wish for would be something more comfortable for dealing with exercise solutions. Making them available at a touch of a finger is certainly technically possible, so it's a pity this requires juggling the bookmarks instead in this version.If you're looking for something theoretical, rigorous and full of math, *Lambda-Calculus* is definitely a good choice, especially if you're prepared to put a fair deal of effort into following the text, and, perhaps, skip or skim the parts not directly relevant to your interests. For a much lighter introduction into lambda calculus -- and much closer to a working programmer's perspective -- Michaelson's *Intro to FP through Lambda Calculus* still remains the best choice. (And you can always come back here for more.)
Trustpilot
3 weeks ago
5 days ago