It’s F# Week at Xamarin. Also, in the US, it’s only a 4-day work-week. F# saves 20% of your time. QED.
Anyway, I don’t have any actually interesting F# to share, but I recommend:
- Mike Bluestein’s Scene Kit in F# demo, and
- Frank Kreuger’s awesome demo of using F# interactively while programming OS X
But what I thought I could quickly contribute is that:
- F# is an awesome scripting language; and
- Scripting may be the best way to learn F#
Scripting tasks often involve transforming a stream of text by repeatedly Filtering, Assigning, Reducing, Transforming, and Slicing it (“a sequence of FARTS“) and this is an area where the functional approach is pretty clearly easier to work with than the OOP approach of a network of cooperating objects.
And since scripting tasks are often private or semi-private low-complexity chores, they’re an excellent domain for regularly exercising your knowledge of a new language. It’s all well and good to carve out a couple weekends and work through a book but nothing beats regular exposure.
(While I’m on the subject, these are currently my favorite F# books. Initial exploration:
F# scripts are F# files with the .fsx extension. On OS X with mono, they can be run with
fsharpi script.fsx or:
#if run_with_bin_sh exec fsharpi --exec $0 $* #endif printfn "%A" fsi.CommandLineArgs
To add references, use #r:
#if run_with_bin_sh exec fsharpi --exec $0 $* #endif #r "System.Core.dll" #r "System.Xml" open System open System.Xml.Linq open System.IO //...etc...
I’ve been using F# for scripting for more than a year now and I can honestly say that it’s displaced Ruby as my scripting language of choice.
Give it a shot!