support for .NET interoperability Statically typed Support to access other platforms like and through Type Providers Incubated at Microsoft Research, and now a full blown R Matlab open source project
a + b // Partial application let adder a = add a let add20 = adder 20 // Invocation let twentyOne = add20 1 // Data flow [1 .. 10] |> List.filter (fun n -> n % 2 = 0) |> List.map add20
Some of 'a | None let printKind something = match something with | Some x -> x.GetType().Name // Null prevention within F# declared types type Person(name : string) = member this.Name = name let printName (p : Person) = printfn "%s" p.Name printName (Person "Haskell Curry") printName null
to evaluate F# expressions VS 2012’s F# interactive defaults keybindings differ from Bash defaults Xamarin Studio’s F# interactive does not handle multi-line definitions