Sunday, 23 December 2007

Parallel programming with F#

Chance Coble has published a wonderful article about parallel programming in F#. In particular, the article describes how first-class functions make it easier to write parallel programs without sacrificing clarity.


Friday, 21 December 2007

Quick introduction to web services and databases

The F#.NET Journal just published an article describing how you can get started with web and database programming quickly and easily using F#:

"The F# programming language combines the expressive power of a modern functional programming language with the comprehensive libraries provided by the .NET framework. This article provides a quick introduction to two of the most widely used aspects of the .NET framework: web services and databases..."

To read this article and more, subscribe to The F#.NET Journal today!

Thursday, 20 December 2007

Review: Expert F#

Apress were kind enough to send me a complimentary copy of their latest F# book called Expert F# by Don Syme, Adam Granicz and Antonio Cisternino. Most notable among the authors, of course, is Don Syme who created the F# programming language and continues his role through its productization by Microsoft as lead developer. Now that I have spent some time perusing these 600 pages, I believe I can offer a fair opinion on who I think should read this book and why. I should also note that I am an author writing a competing book (F# for Scientists) for a competing publisher (John Wiley & Sons).

Expert F# does exactly what it says on the tin. Anyone serious about using F# professionally must have a copy of this book to hand because it is the only resource that describes how to build production-quality applications and libraries using F#. Robert Pickering's book Foundations of F# is a solid introduction to the language, particularly for object oriented programmers, but Expert F# goes the extra mile by covering everything a professional needs to know, such as the best way to design and implement interfaces in F# and when to bend the .NET guidelines in doing so.

In order to cover every important aspect of the F# language, from parsing with yacc to continuation passing, this book dives into every subject head first. Provided you are already familiar with the concepts involved, you'll quickly get up to speed on the F# way of doing things, but if you're a newbie then I think you'll find this book harder going than other introductory material on F#, like The F#.NET Journal articles. For example, by page 25 the book has already covered how to write a Windows Forms application that downloads web pages and counts the number of words in them. On the same page in Foundations of F#, you're still covering the Fibonacci function as an example of recursion. To be fair, that is as much a testament to the awesome expressive power of F# allowing you to write a web-fetching GUI application in a dozen lines of code but, still, you get the point!

In addition to covering all of the aspects of F# that are essential for professional programmers, Expert F# also covers several advanced topics, where F# represents the current state-of-the-art even among research languages. Two of the most notable subjects are active patterns and asynchronous workflows. The former being an elegant way to apply F#'s powerful OCaml-style pattern matching to alien data structures and the latter being a novel attack on concurrent programming.

Overall I think this is a superb book and I would not hesitate to recommend it to anyone wanting to learn more about the F# programming language. Since Microsoft's productization of F#, it is clear that this will be a force to be reckoned with in the world of professional programming languages and Expert F# is the companion everyone needs in order to learn how to harness this powerful new language. Easily worth its $35 eBook price tag.


Monday, 10 December 2007

Review: The F#.NET Journal

Lloyd Moore wrote the following review of The F#.NET Journal:

"There are two aspects that I would like to stress about the Fsharp Journal. The first is that I think that it has a unique ability to explain some tricky concepts across a very broad range of subjects in a fashion that is very straightforward, yet is comprehensive and very well explained.

The second reason is that its approach to introducing more advanced subjects, such as continuation passing style recursion, is done in a manner that helps one see not just the abstraction, but how it fits in a practical sense too."

Sunday, 9 December 2007

F# for Visualization beta for F# 1.9.3.7

The beta release of our F# for Visualization library and its demos are now available for the latest release of the F# compiler, version 1.9.3.7.

Thursday, 6 December 2007

F# in Visual Studio for free!

According to this blog post, you can now install the F# distribution into Microsoft's new Visual Studio 2008 shell to get F# working in a Visual Studio development environment absolutely free!

The Visual Studio mode for F# makes it much easier to author programs in F# so we highly recommend this approach for anyone who has been battling with a text editor and the command-line tools.

Monday, 3 December 2007

Parser Combinators

The F#.NET Journal just published an article about parser combinators:

"Certain applications are extremely well suited to functional programming and parsing is one of them. Specifically, the ability to write functional combinators that allow parsers for everything from integers up to symbolic expressions to be composed is more general and provides more opportunity for code reuse than the use of conventional parser generators such as fslex and fsyacc. This article explains how parser combinators may be designed and implemented in F#..."

To read this article and more, subscribe to The F#.NET Journal today!