Updated F# Language Specification for F# 3.0 Now Available

Updated F# Language Specification for F# 3.0 Now Available

  • Comments 4

Further information on the F# Community can be found at fsharp.org, which also hosts a copy of this specification. 

The Visual F# team are glad to announce that we have now updated the F# Language Specification for F# 3.0.

The aim of this update is to document the language features introduced in F# 3.0.  This update covers  the extensions to computation expressions to enable query expressions (see also this video), the CLIMutable attribute, triple-quoted strings, the updates to the ReflectedDefinition attribute that allow it to be used on modules and types, and the "member val" syntax declaration for auto-properties. We've also had the help of Penny Orwick, who has gone over the specification for style an correctness, and added a glossary and index. The F# 3.0 type provider feature is a part-language, part-tooling feature, and is not included in the specification in this update beyond the introduction. See the MSDN material on type providers and the MSDN guide on how to write a type provider. A technical report about the feature and its applications is also available from our partner team in Microsoft Research.

Thanks to everyone who has given feedback on earlier versions of the specification, and to everyone who has helped contribute to these updates to the specification.  

Wonseok Chae, for The Visual F# Team

Leave a Comment
  • Please add 7 and 2 and type the answer here:
  • Post
  • Nice news. BTW, the link to the PDF version of the 3.0 spec is broken.


    [ thanks, fixed! ]

  • PDF version link is still not fixed :)



    [ fixed fixed :-) ]


  • research.microsoft.com/.../spec.html 404 Not Found


    [ thanks, fixed!! ]


  • Hi, I don't mean to thread-jack, but I'm not sure how to better ask this question (if you do know, please feel free to let me know!)

    How useful is F# when it comes to building Artificial Intelligence systems?  Are there any Microsoft products that can be easily used for this task?  I didn't see any books on this topic and was wondering whether this was due to a lack of interest in the topic or simply because when F# was designed, this was not a field that was considered.

    [ The team blog isn't really set up to facilitate discussions like that, interesting as they are.  We would recommend you ask your question on a site like Stack Overflow which is better suited for questions and answers.  Some existing questions (here here and here) touch on this topic. -Lincoln ]

Page 1 of 1 (4 items)