Shop Auto Winter Products Salon Beauty Best Kids Books of the Year Black Friday Deals Week nav_sap_plcc_ascpsc Listen for a chance to win Electronics Gift Guide Starting at $39.99 Try it first with samples Handmade Gift Shop Book a house cleaner for 2 or more hours on Amazon Prime member deal on Amazon Video: 50% off select Pixar movie rentals Prime member deal on Amazon Video: 50% off select Pixar movie rentals Prime member deal on Amazon Video: 50% off select Pixar movie rentals  Three new members of the Echo family Save $50 on All-New Fire HD 10. Limited-time offer. $30 off Kindle Paperwhite GNO Shop now HTL17_gno



on September 17, 2010
As a professional programmer who dropped out of college too early to get a good grounding in mathematics, this book has been a wonder to me. I've been trying to learn more advanced mathematics in the last year or so, and struggled because I didn't know how to do proofs.

Haskell is prominent in the title, but is secondary in the book. The vast majority of my time has been spent reading and performing proofs with with pencil and paper. The mathematics portions are all fairly rigorous. Once proofs are fully introduced, nearly all the exercises are proving theorems given in the book, or providing counter examples. There isn't much in the way of computational type exercises I've seen in some other discrete math texts, stuff like "what's the transitive closure of this relation". Instead, a theorem will be given and the author will ask you to prove it.

The Haskell exercises typically follow pure math introductions and exercises, and are used to help develop a stronger, more intuitive understating of the subjects. I can now write enough Haskell to take on the exercises, but to this point, the Haskell has all be very compact - 10 lines of code to answer a question at the max, usually more like 3. There's no way I could go and do something 'practical' with Haskell at this point, but I can grok some of it and am starting to appreciate functional programming.

This is easily the most challenging self study book I've taken on, but also the most rewarding. Not only have I gained proof writing knowledge, and a solid understanding of the fundamentals of modern mathematics, but it's helped me develop a measure of discipline in thought. I've noticed improvements in the clarity of my day to day software development - in design, development, and verification. The methodical approach to breaking down a proof into cases and sub-cases has been most helpful in that regard.

I recommend this to anyone, especially developers who haven't had the benefit of a thorough mathematical education.
18 helpful votes
19 helpful votes
|
0Comment|Report abuse
on January 18, 2009
This book is breathtaking in its clarity and depth. I'm into the chapter on using Haskell to prove logical theorems.

One of my all-time favourite subjects in undergraduate study was Logic. That you could translate English language arguments into logical symbolism and test their validity and soundness by following a set of rules was, to me, a revelation. By following a number of logical inference rules, one could build an argument that proves the validity of a conclusion. The use of truth tables was intriguing and so simple in concept.

Blaise Pascal (French philosopher, and whose name was given to the Pascal programming language) speculated about the possibility of a logic calculating machine. Well, this book shows how you can do it with Haskell.

The Haskell Road To Logic, Maths and Programming provides Haskell source code that you can run to demonstrate the validity of all the traditional logical inference rules that I learned in Logic.

It's a pleasure to read.
9 helpful votes
10 helpful votes
|
0Comment|Report abuse
on May 31, 2012
I am really happy to have this item which is great book for learning math with real applications in Haskell. Author demonstrate elegant of math theory and pure functional language. This pair together can be used for solving and modeling math concepts.
I really recommend this book to math hobbits and/or Haskell newcomers. And thank you again Kees Doets and Jan van Eijck for several happy week and good time with reading and solving problems. That was really fun.
3 helpful votes
4 helpful votes
|
0Comment|Report abuse
on September 18, 2012
Let me start by saying I am not a Haskell programmer. I program mostly with C# and F#, and study Haskell as a educational exercise. However, Haskell's ability to express formulae makes it the perfect 'pseudo-code' for presenting abstract mathematical concepts in a concrete way to modern programmers.

Us workaday programmers have a hard time picking up maths or remembering the maths we learned in school. This book gives us a great alternative to grinding through old textbooks to learn the math we need in our projects. Really, the concreteness of seeing mathematical concepts implemented in working code can make all the difference.

I love this book so much, I can only wish there were more in the same vein. What about a 'Haskell Road to Linear Algebra', or a 'Haskell Road to Calculus'? Wouldn't such a series be magnificent?!

If I could ask for anything more from the authors, I would ask for more books like this! I can't praise the work enough!
6 helpful votes
7 helpful votes
|
0Comment|Report abuse
on September 18, 2016
Bought this book as a gift for my brother. He likes it.
1 helpful vote
|
0Comment|Report abuse
on June 7, 2009
When I was a Math undergrad back in the 70's, we had a 5 hr course called Foundations of Mathematics. This was an intro to symbolic logic, propositional calculus, and methods of proof. Deadly boring, dry material that we either knew, grasped by intuition, or ignored.

This textbook covers this material in a constructive fashion by using the Haskell programming language. Haskell is a modern form of lisp, one of the original programming languages, from the '50's, the language used for most Artificial Intelligence work. The breadth of Haskell allows it to be used for logic and proof, as well as the usual numerical and string processing. Pattern matching and list processing is built into the basic structure of the Haskell language.

This text's exercises are mostly Haskell programming assignments. Turning the abstract ideas of the math into the concrete statements of Haskell (if statements in a program can be considered concrete) will make the ideas familiar and real. Free, useful versions of Haskell (Hugs) are available for readers or students to use, even on Windows systems. Any familiarity with any programming system and a text editor should be enough to get started.

What is the difference between proving a theorem and debugging a program ? The way I do it, not much. That has much to do with me, I am a programmer first, and a Math second. This statement is the Curry-Howard correspondence, connecting computability and proof or truth. This text is a step on that road to truth.

There are several other titles in this series. All of them sound fascinating. I will read them later.
15 helpful votes
16 helpful votes
|
0Comment|Report abuse
on September 3, 2013
This book is about fundamental math concept and how to represent it in Haskell. Concepts are clearly elaborated, but you need another Haskell book, like "Learn you a Haskell for great good" to understand the code in the book.
2 helpful votes
3 helpful votes
|
11 comment|Report abuse
on July 9, 2014
Nice one ! Clever approach !
1 helpful vote
|
0Comment|Report abuse
on February 7, 2015
Disclaimer: I'm still working through the book.

As others have mentioned, this is really a math book that uses Haskell as a vehicle to teach the math.

In my case, I already know the book's math/logic, but I don't know Haskell. It turns out that the book is great for learning Haskell if you already know the math. The approach offers a sustained treatment of a nontrivial domain, allowing you to build upon earlier work. For example the book starts with connectives and wffs, proceeds quickly to laws and metatheoretical concepts (validity, logical equivalence, proofs), sets, and other foundational mathematics. All the while it shows how to apply Haskell concepts to that domain. Also it is exciting to see how closely Haskell mirrors the mathematical concepts, such as Haskell's list comprehension vs mathematical set builder notation, and people who come from that math background will better appreciate that aspect of Haskell's awesomeness.

As some reviewers have noted, I'm not so sure this is the best book for learning logic if you don't already know Haskell or at least programming. I think logic and Haskell are sufficiently formidable individually, and learning both together sounds challenging to me. At the very least you would need to have some level of mathematical background even if not in logic. The examples concern things like the infinity of Mersenne primes. There's an aside on Platonism vs Intuitionism. I don't see this supporting a general ed "Intro to Logic" course, but I could see it supporting an "Intro to Logic" course for math majors.

Anyway I love this book.
2 helpful votes
3 helpful votes
|
0Comment|Report abuse
on May 29, 2017
If you love math and programming, this book is for you. Gear to the logic of proofs and math in general, this book forms a bridge between math and programming with Haskell. Being a physicist with strong programming skills, I appreciate the way mathematical proofs get presented.
1 helpful vote
2 helpful votes
|
0Comment|Report abuse