I attended the first SQLBits conference for which all participants were awarded a thirty pound book voucher. I used that voucher to purchase this book which has only just come out. I’m supposed to be giving a talk on F# at work next month and have been trying to do lots of F# reading in preparation – this book was certainlky worth the wait.
This is book is aimed at scientists doing numerical modelling, and I presume is based on the author’s previous book which used the O’Caml language for the programming. It offers a number of things. First it is a good introduction to the F# language which it covers from a very pragmatic perspective. It covers why functional languages are good for the type of numerical modelling that scientists need to do – high level algorithmic abstraction via higher order functions, controlled use to state and easy access to useul datatypes like trees can make it very easy to do some kinds of numerical modelling work. The book covers the CLR platform and shows how it can be easily used from F#; DirectX can be used for visualisation, threading libraries can be used for parallelisation, web services can be easily accessed and serialization can be used for storing data. Additionally F# comes with parsing and lexing tools that can be used to process interesting data formats. Interoperability with Excel and other tools is demonstrated.
The book also contains good chapters on algorithmic complexity, pointing out that instead of micro-optimisation it is often better to choose a better data representation and algorithm, and on methods for optimising functional programs.