Current "best books on FP"?

As part of a move, I recently took a truckload of books to the local used book purveyor, and now have about $350 in credit to use either there or at their sister store, which sells new books (hurrah). I figure this is free license to get a couple of FP-oriented (or other-interesting-software-oriented) volumes.

But I know there have been a few recent books coming out since I last looked at FP books several years ago. I'm looking closely at the new Erlang book by the Pragmatic Programmer guys (not out yet, but soon), and I already have SICP. Most people don't seem to go for Practical OCaml. Is there a "standout best" Haskell book, or any particular book on FP that's just a can't-miss?

I'm afraid I'm doing it mostly for the knowledge, not that I have an application in mind; I'm going into computational physics, and as much as I'd love to see FP languages make headway there, particularly with recent things like Nvidia's CUDA and other such things, it still seems to be primarily the domain of C and Fortran. I guess my point being that I probably don't need deep theory stuff--mostly expand-your-mind stuff.

Any standout recommendations?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Why FP?

Considering that you'll be doing computational physics, you might really enjoy Sussman and Wisdom's "Structure and Interpretation of Classical Mechanics." It's a really great treatment of classical mechanics redone in Scheme.

If you're interested in the type theory behind ML and Haskell, you should make sure to get Pierce's "Types and Programming Languages" and "Advanced Topics in Types and Programming Languages" (which he edited).

The question is "Why FP in

The question is "Why FP in THIS forum?" which I think should be fairly obvious (heh--I'm asking essentially the same question in a few different topic-specific areas...). SICM sounds interesting, though.

It's going to be quite the adventure; my BS was in physics, but I haven't used it in 15 years; MS was in 'Software Development and Management' (half software engineering, half project management)... and so I've spent the past few months borrowing books and doing things like teaching myself Quantum Mechanics (which is not as easy as it sounds, and it sounds bloody awful... but it's been very cool, even if I'm not getting as far as fast as I'd like).

[OTish] Geometric Algebra

Not FP or programming related, but have you ever approached physics from the perspective of geometric algebra? Geometric Algebra for Physicists may make it onto your list. I was considering buying it recently but decided against it due to the price being too high for too little new knowledge (I've read practically every paper by the authors).

physics in scheme

kalani: It's a really great treatment of classical mechanics redone in Scheme.

My oldest son is interested in physics, so that's perfect, since I want to use Scheme to teach him to code. (I'd ask if you knew anything similar to this book, but I already know the original SICP was unlike most programming texts: I'd expect similar uniqueness.)

nothing similar

Nothing similar that I know of, unless there are books that implement rules of physics in an executable notation as a way of teaching those rules and that argue that mathematical notation should be replaced by an executable one.

By the way, Sussman discusses some of the classical mechanics work in one of the Danfest videos

Personal opinion,I think SICM suffers from a lack of online analysis and commentary such as SICP has. Of course SICP has gotten this online commentary over many years

The Fun of Programming

You may want to check out this book.

look up SICM, the structure

look up SICM, the structure and interpretation of classical mechanics, its classical mechanics explained with scheme

check into IMACS

after-school program that uses formal logic and Scheme

Sometimes the best new ideas are old ideas rediscovered

Not FP, but functional..

I suggest this Forth Track

  1. Starting Forth: An Introduction to the Forth Language and Operating System for Beginners and Professionals by Leo Brodie
  2. Forth Programmer's Handbook by Edward K. Conklin and Elizabeth D. Rather
  3. Thinking Forth by Leo Brodie

But be forewarned you may discovery another really cool programming language outside of typed lambda calculus

Henderson Rules!

Peter Henderson's "Functional Programming - Application and Implementation" is my all-time favorite (it's out of print, but you should be able to find a used copy online). A close second is Richard Bird's "Introduction to Functional Programming using Haskell".