Monday, November 02, 2009 10:05 AM
F# Discoveries This Week 11/02/2009
F# events are popping up all over the place and so I’ve included a separate section for them today. As far as posts go I’ve stumbled across immutable queue and range libraries, a post on the underlying implementation of discriminated unions, using the reactive framework and finally, a Microsoft research project: F7 Refinement Types.
-- Events --
- Why F# at 11:15am in Track 2
- F# for Testing and Analysis at 2:40pm in Track 4
Come with an open mind and a laptop. Be prepared to learn, share, and chat. No prior knowledge or experience with F# is expected.
-- Posts --
An immutable range library in F# where a range is only defined by a minimum and a maximum value (hence, there is no step).
An immutable queue library in F#. The queue is divided into two lists : one for dequeueing, and one for enqueueing. All operations are based on the List module.
I hope that Julien considers contributing these gems to the F# Power Pack.
F7 is an enhanced type checker for the F# programming language. F7 supports static checking of properties expressed with refinement types. Our motivation is to check various security properties of F# implementation code by typing.
I took a peek at the included samples and found myself quite lost. It would be great if a walkthrough on how to use F7 were to pop up.
While updating my VsVim editor extensions for Beta2  I got hit by a change in the way F# exposed discriminated unions in metadata.
A quick romp through how discriminated unions work under the hood and how you use them from C#.
One of the nice new features in .NET 4.0 beta 2 is the IObservable<T>/IObserver<T> support from the Reactive Framework (“Rx Framework” or sometimes “LinqToEvents”). It is a really powerful way to use reactive programming in .NET and especially in F# developed by Erik Meijer and his team.