GANG News

Subscribe to News
All news

F# Special Interest Group

May 16, 2011

Onorio Catenacci will be leading an F# and Functional Programming special interest group (SIG) in conjunction with the GANG meetings starting in June.  While exact details are still to be defined, it may help people to decide whether or not they want to learn more about this SIG if they have some idea of what we'll be discussing.

Therefore, a bit about F# and what we hope to gain by starting a SIG.

What Is F#?

F# is Microsoft's Functional Language for the .Net platform.

What Is Functional Programming?

While I've seen several definitions of functional programming, I think the best definition I've seen is this one from Jeremy Gibbons:

'In a nutshell, functional programming restricts itself to programming with values, rather than with actions. Most programming languages are “imperative”, focussing on the actions: the program describes a series of actions to perform, and only makes incidental use of values in passing; there is a sublanguage of statements (such as assignments to variables, loops, conditional choices) and a sublanguage of expressions (such as for the computation yielding the value to be assigned to a variable in an assignment statement, and for the condition on which a conditional depends).

'In contrast, pure functional programming languages dispense with the statements, and make use only of expressions. This might seem very limiting, restricting programs to variations on a mere pocket calculator. But of course, a useful functional language extends the grammar of expressions, so that they cover much more than arithmetic; indeed, expressions typically encompass complex data structures and recursive function definitions, and so are every bit as expressive as statements.'

So What Will The F# SIG Do?

While we're still trying to determine the exact agenda, in general we're planning to study F# syntax, functional programming concepts and patterns and how F# can be integrated with other .Net languages to create a solution which draws on  the strengths of the various .Net languages to create better, more solid apps.  Learning and using F# and functional doesn't mean you have to discard all of your knowledge of C# and imperative programming; F# and functional are complementary to traditional programming paradigms.

You can read more about the F# SIG at http://blogs.msdn.com/b/dsyme/archive/2011/05/27/f-sig-great-lakes-area-southfield-michigan-june-15-2011.aspx.

Email Onorio at catenacci@ieee.org for more information.