F# Computation Expressions in Practice

Details
Hi all,
the date of our next meetup is Thu, Nov. 29, 2012.
As usual, we meet at NetException GmbH near the Zurich-Altstetten train station. Some food and beverages will be served from 18:45. The talks start at 19:15 and end at 21:00. If you come for the first time, please take the map on page two of this document (http://www.sigristsoftware.com/temp/fsharp_meetup_next.pdf) with you to make sure that you find us directly.
The meetup will be about F# computation expressions (also referred to as workflow expressions or monads) in practice. I will begin with a brief overview. After that, James Litsios will present an example related to modular pure state management. Finally, Daniel Egloff will present a case study related to Alea.Cuda, a new F# product for processing on the GPU, which Daniel's company, QuantAlea, has created in the context of a project at Bank Sarasin. I would like to thank James and Daniel for their highly valuable inputs.
Monads were introduced in the early 90es in Haskell. Many years later, mainstream OO languages started to hard-wire specialized versions into the compilers, such as (in C#/VB.Net ) the support of nullable value types (2005) (but we still don't have non-nullable reference types!), iterator generators (2005), Language Integrated Query (2007), or the new async/await syntax (2012). The introduction of these features was simplified by the fact that Simon Peyton Jones and Erik Meijer, two leading contributors of Haskell, work for Microsoft.
On the other hand, in F#, monadic syntax has followed a single unified concept from the beginning, and it can be customized as needed. I find it very intriguing to have this flexibility in an industry-supported multiparadigma language. It nicely fits F#'s motto "simple code to solve complex problems".
I am looking forward to a fascinating, expressive evening! Until then, all the best,
Marc

Sponsors
F# Computation Expressions in Practice