More links this week with alternatives to if-else logic, Algebraic Data Types, and rumors of F# beta 1. I’ve also included a roundup of known F# User Groups.  With the number of groups going from 0 to 3 in only two months, it’s easy to see the amount of excitement that F# is generating in the .NET community.

 

Alex P’s “Back to basics - F# (and currying) as a time saver for the everyday programmer”

Let me give you a simple example of how functional programming can save time in a scenario that happens in any kind of development.

Using choose for branching is quite a clever way to deal with messy if-else logic.  Be sure to scroll down and see Jarle Stabell’s use of Seq.first in the same way.  I had never previously considered using sequences in this way and I love how concise it is.  An additional benefit in using this technique is that it would be trivial to inject additional branches.

 

Kalani Thielen’s “The Algebra of Data, and the Calculus of Mutation”

With the spreading popularity of languages like F# and Haskell, many people are encountering the concept of an algebraic data type for the first time.  When that term is produced without explanation, it almost invariably becomes a source of confusion.

I learned much about the nature of Abstract Data Types from this article.  Over the next week I hope to find the time to read some of the additional links Kalani provides in the comments section.

 

(Rumor?) Flying Frog Consultancy Ltd on F# News: F# Beta 1 is due Sometime This Month

The next release, beta 1, is due out this month and a beta 2 is scheduled for release before the full 2010 release next year.

Obviously, news of F#’s demise has been greatly exaggerated (I hadn't even heard the rumor).  I know I’m not the only one who can’t wait to get their hands on beta 1.

 

F# Related Gatherings Roundup

 

I apologize that I’ve had to disable anonymous comments.  Given the amount of spam I was receiving, I had no alternative.  If you would like to leave a comment, or think you might in the future, I encourage you to take the one time step of creating an account.