F# 1.1.13 now available!

I’m pleased to announce that F# 1.1.13 is now available! You can download this release from research.microsoft.com/fsharp/release.aspx

 

This is an exciting release, containing many important enhancements to the language that make F# programming simpler, more powerful and easier to explain and understand. We’re particularly pleased with comprehensions, which, although found in other languages, works beautifully in conjunction with other F# language features such as pattern matching. These also simplify the use of many .NET APIs and collection types. We've also included named arguments, C# 3.0-style property setters and a host of improvements to the F# library, as well as a good number of bug fixes based on feedback from our rapidly expanding user base.

We've placed a summary of the changes in this release on a separate page, a short summary is below. We'll be blogging further about some of the new features in the coming weeks, and look out for the next draft installment of the Expert F# book, coming soon.

 

Language Enhancements

  • Range Comprehensions. e.g. {1 .. 3}
  • IEnumerable, Array and List Comprehensions.
  • Named arguments and post-hoc property-setters
  • 'for' loops over enumerables.
  • C-style syntax for native functions.
  • Structs and Enums .
  • Slick member syntax for object expressions.
  • Pattern matching on arrays.
  • Tightening of #light rules.
  • Custom Attributes on parameters.
  • Fast 'for' loops for Range Comprehensions.

Library Enhancements

  • Seq as shorthand for IEnumerable.
  • Extensive design review of F# namespaces.
  • New library functions.
  • Optional Safer Collections.
  • New Module ResizeArray.
  • NativeInterop additions NativeArray, CMatrix, FortranMatrix, PinnedArray, PinnedArray2
  • Library addition: Matrix.copy, Vector.copy, Array2.copy, F# Immutable Map values now support the map.[i] syntax., Map, Set and HashSet now support IEnumerable

F# Interactive Enhancements

  • TAB completion and history in F# Console.

Visual Studio Enhancements

  • Visual Studio: Goto defintition across projects
  • Improved speed of bracket matching in Visual Studio mode.
  • Resources in projects: .resx resources may now be added to the list of files in the Visual Studio mode.

Compiler Enhancements

  • Resources on the command line: .resx resources may now be added to the F# command-line compiler and as files in the Visual Studio mode.
  • New switch --generate-filter-blocks.

Samples

  • New LAPACK sample. . See samples\fsharp\math\LAPACK
  • New WPF sample for use with F# Interactive. See samples\fsharp\WPF

Enjoy!

The F# Team

MSR Cambridge