Hacker News new | past | comments | ask | show | jobs | submit login

While there is no "royal road" to mathematics for programmers who don't care about proofs, there is a programmer's road to proofs for those interested in Math.

In fact, the book is even called "The Haskell Road to Logic, Maths and Programming" [0]. It covers mathematical notation, proof construction, and lots of interesting portions of discrete math that should be of interest to programmers. And large portions of the results are demonstrated or used in interesting Haskell programs.

[0] http://www.amazon.com/Haskell-Programming-Second-Edition-Com...




The Haskell Road to Logic is a pretty good.

I took a class on discrete mathematics only with formulas. I didn't understand any of it.

Then I read this book and all of it made sense.

"What I cannot program, I cannot understand.." (with my apologies to Feynman)


That book is on my to-read list, yet I don't know what to think of a book that starts like this: http://i.imgur.com/rSc0fpw.png


The validity of that statement depends on your historical perspective.

To the modern eye, we see radically different type systems and conclude they are as different as night and day.

But there was a time when the world was divided into people who thought anything higher-level than C or FORTRAN was stupid and impractical, and those who aspired to build more abstract languages. LISP was one of the rallying cries of the latter group. Haskell clearly falls into that group too.


And before that, there were the people who thought anyone using an assembler was wasting precious CPU cycles, and something like FORTRAN was considered heresy.


I' m not sure it makes a ton of sense either, even for an older book. OTOH, knowing a lot about programming language history/politics and knowing a lot about math and rigorous CS theory tend to be negatively correlated in my experience.

I know I should be demonstrating that assertion with hard numbers, but in my defense I do know a lot about programming language history and politics. ;)


Hm, that makes some sense, the book might be old, that's why.


It can't be that old, since according to Wikipedia Haskell itself is only about 23 years old. http://en.wikipedia.org/wiki/Haskell_(programming_language)


Both Haskell and LISP are in the "top-down" approach (approaching programming from an abstract angle, without concerns about the underlying machine), as opposed to the "bottom-up" approach (where you are explicitly managing I/O, memory, and the underlying machine is not abstracted away), like C or Ada.


    lambda calculus --> Haskell
                   \--> LISP --> Scheme
                            \--> Common Lisp


The Acknowledgements has an interesting anecdote - Thierry Coquand, apparently, found the original lecture notes that would become the book out the blue and seems to have offered quite a bit.


I would add that Project Euler (www.projecteuler.net) is a fun place to practice.

To your point, many of the best solutions are done in Haskell. They make it seem so easy!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: