Visual F# Includes Windows Phone 8.1 in Portable Library Support

Version 3.1.2 of the Microsoft F# derivation has expanded portable library support and enables the Publish option in Web and Azure projects.

The Microsoft Visual F# team blogged about a point release of F# that "packages the latest updates to the F# compiler, interactive, runtime, and Visual Studio integration." Visual F# 3.1.2 comes shortly after an out-of-band 3.1.1 release in January that added support for Desktop and Web Express.

Visual F# is the Microsoft version of F#, a strongly typed programming language derived from ML that is heavily influenced by C# and Python. F# itself supports a number of programming styles, including object-oriented, functional, and procedural languages, and is also capable of generating code in JavaScript and for use with GPUs. Visual F# is an extension of that language that can work within the confines of the Microsoft .NET Framework. (A thorough definition of the language can be found on the MSDN Library.

The 3.1.2 point release adds a handful of new and useful features, including expanded portable library support. This comes in the form of F# project templates that support Profile 78 and Profile 259 portable profiles, both of which support Windows Phone 8.1. The result is that F# portable libraries can be added to Windows Phone 8.1 projects directly.

One other significant change noted in the blog has to do with workflow. Specifically, this version of Visual F# supports non-locking #r references while working with Visual F# interactive in a quick-iteration development. Assembly references are enabled by default and developers are apt to encounter errors because, when a developer adds a #r assembly reference, it locks that assembly on disk. All it takes to configure it as a non-locking assembly reference is to enable it with the shadowcopyreferences+ switch.

Other updates include the ability to publish F# Web and Microsoft Azure projects directly from Visual Studio, and some minor language tweaks: improved Unix compatibility with the ability to use shebang directives in F# scripts (not to be confused with William Hung compatibility), support for high-dimensional slicing in compiled code, and support for spaces in active pattern case identifiers.

Visual F# 3.1.2 can be downloaded here.

About the Author

You Tell 'Em, Readers: If you've read this far, know that Michael Domingo, Visual Studio Magazine Editor in Chief, is here to serve you, dear readers, and wants to get you the information you so richly deserve. What news, content, topics, issues do you want to see covered in Visual Studio Magazine? He's listening at [email protected].

comments powered by Disqus


  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

  • Nearest Centroid Classification for Numeric Data Using C#

    Here's a complete end-to-end demo of what Dr. James McCaffrey of Microsoft Research says is arguably the simplest possible classification technique.

  • .NET MAUI in VS Code Goes GA

    Visual Studio Code's .NET MAUI workload, which evolves the former Xamarin.Forms mobile-centric framework by adding support for creating desktop applications, has reached general availability.

  • Visual Studio Devs Quick to Sound Off on Automatic Updates: 'Please No'

    A five-year-old Visual Studio feature request for automatic IDE updates is finally getting enacted by Microsoft amid a lot of initial developer pushback, seemingly misplaced.

  • First Official OpenAI Library for .NET Goes Beta

    Although it seems Microsoft and OpenAI have been deeply intertwined partners for a long time, they are only now getting around to releasing an official OpenAI library for .NET developers, joining existing community libraries.

Subscribe on YouTube