{"id":9275,"date":"2016-12-05T11:20:41","date_gmt":"2016-12-05T19:20:41","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudio\/?p=9275"},"modified":"2019-02-14T15:27:42","modified_gmt":"2019-02-14T23:27:42","slug":"azure-notebooks-now-support-f","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/azure-notebooks-now-support-f\/","title":{"rendered":"Azure Notebooks now support F#"},"content":{"rendered":"<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/4\/2019\/06\/Interactive-FSharp-Notebook2.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/4\/2019\/06\/Interactive-FSharp-Notebook2.png\" width=\"900\" height=\"506\" \/><\/a><\/p>\n<p>Last week I blogged about the availability of the new <a href=\"https:\/\/blogs.msdn.microsoft.com\/visualstudio\/2016\/11\/18\/data-science-workloads-in-visual-studio-2017-rc\/\">Data Storage and Data Science workloads<\/a> in Visual Studio 2017 RC. The Data Science workload specifically provides support for the following:<\/p>\n<ul>\n<li>R integration, along with Microsoft\u2019s <a href=\"https:\/\/msdn.microsoft.com\/en-us\/microsoft-r\/#mrc\">optimized R libraries<\/a><\/li>\n<li>Python integration, along with the <a href=\"https:\/\/docs.continuum.io\/anaconda\/pkg-docs\">Anaconda distro<\/a><\/li>\n<li>F# integration with <a href=\"https:\/\/www.nuget.org\/packages\/FSharp.Data\">FSharp.Data<\/a>, <a href=\"https:\/\/fslab.org\/\">FsLab<\/a> and <a href=\"https:\/\/www.nuget.org\/\">Nuget<\/a> libraries<\/li>\n<\/ul>\n<p>These three languages and their corresponding stacks cover just about every data processing, technical computing, analytics and machine learning scenario imaginable.<\/p>\n<p>For the past few months, the free Azure Notebooks service has supported R and Python. We are pleased to announce the availability of our first edition of preview support for the F# language to match the Visual Studio Data Science workload.<\/p>\n<h2>Azure Notebooks<\/h2>\n<p>In 2015 we added Azure Notebooks to Azure ML Studio, a powerful canvas for development and deployment of Machine Learning models.\u00a0\u00a0 Azure Notebooks are based on the open source <a href=\"http:\/\/jupyter.org\/\">Project Jupyter<\/a>, a toolchain that allows you to create and share documents that contain live code, equations, visualizations, and explanatory text. Azure Notebooks offer free-for-use execution of notebook content, access to high-performance data center resources, and allow you to share your notebooks with friends and colleagues with a single link.<\/p>\n<h2>F#<\/h2>\n<p>F# is an open source, cross-platform language well suited for notebook-style programming.\u00a0 One of the key characteristics of F# is its ability to span the spectrum from scripting (including notebook-style literate programming) to large-scale, robust software development, including web programming and cloud service implementation.\u00a0 F# executes as native code through .NET compilation and interoperates with all C# and .NET libraries.\u00a0 A huge package system of .NET libraries is available through <a href=\"https:\/\/www.nuget.org\/\">NuGet<\/a>, many of which are useful as components in analytical services.\u00a0 Through its indentation-aware syntax and type inference, F# approaches the succinctness and clarity of Python, while remaining a strongly-typed programming language suitable for writing accurate, robust code.\u00a0 While F# usage is smaller than Python and R, F# brings a unique blend of characteristics to the Cortana Intelligence and Machine Learning toolchain, and can interoperate with these languages either directly or through service implementations.<\/p>\n<p>Through a collaboration with the F# community and F# experts at Microsoft, we have been able to add F# support to Azure Notebooks.\u00a0 To try out your first F# notebook, please see our notebook:<\/p>\n<ul>\n<li><a href=\"https:\/\/notebooks.azure.com\/library\/fsharp\">Introducing F# and Azure Notebooks<\/a>\n<ul>\n<li>Click the notebook<\/li>\n<li>Sign in with your Microsoft account (Outlook\/Hotmail\/Xbox\/\u2026)<\/li>\n<li>Click the Open in Jupyter button<\/li>\n<li>Run the whole notebook with \u201cCell | Run All\u201d or<\/li>\n<li>Run one cell at a time using Shift-Enter<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>If you know F#, and would like to learn more about Azure Notebooks, please see:<\/p>\n<ul>\n<li><a href=\"https:\/\/notebooks.azure.com\/library\/samples\">Samples<\/a> library of notebooks<\/li>\n<\/ul>\n<h2>F# Jupyter Kernel<\/h2>\n<p>Today\u2019s release includes the ability to edit and execute F# code in Azure Notebooks, including integrated markdown. Execution is through Mono in Docker containers on Linux (Ubuntu). This release includes some limited in-browser auto-complete support. We plan to roll out further improvements to our F# support incrementally \u2013 please send us your feedback and issues.\u00a0 We also plan to add more samples and content.\u00a0 We are certain that Azure Notebooks will be a popular way of surfacing F# content to broad audiences.\u00a0 If you are working with F# in the data science area and would like to share some of the notebooks you create with us, please either link them in the comments below or email <b>nbhelp@microsoft.com.<\/b><\/p>\n<p>F# support in Azure Notebooks is a fantastic example of open source collaboration and is built on the hard work of the F# community including the open source components\u00a0<a href=\"https:\/\/github.com\/fsprojects\/IfSharp\">iFSharp<\/a>,\u00a0<a href=\"https:\/\/fsharp.github.io\/FSharp.Compiler.Service\/\">FSharp.Compiler.Service<\/a>,\u00a0<a href=\"https:\/\/fslab.org\/\">FsLab<\/a>,\u00a0<a href=\"http:\/\/numerics.mathdotnet.com\/\">MathNet.Numerics<\/a>,\u00a0<a href=\"https:\/\/github.com\/fsprojects\/Paket\">Paket<\/a>,\u00a0<a href=\"http:\/\/www.mono-project.com\/\">Mono<\/a>\u00a0and of course\u00a0<a href=\"https:\/\/github.com\/Microsoft\/visualfsharp\/\">the F# language and compiler itself<\/a>, as well as Jupyter, Docker and Linux.\u00a0 The effort to bring F# and Jupyter\/iPython closer together started with Richard Minerich and Peter Rosconi at Bayard Rock (<a href=\"https:\/\/github.com\/BayardRock\">github<\/a>). Microsoft also contributed to iFSharp. Many thanks to all the contributors who have contributed to these components.<\/p>\n<h2>Conclusion<\/h2>\n<p>With the addition of F# to the Azure Notebook service, you have a well-rounded playground for various data processing and analysis scenarios. You can:<\/p>\n<ol>\n<li>Learn Python, R, F#<\/li>\n<li>Give a class or seminar to 100s of people with zero installation<\/li>\n<li>Take one of the various Machine Learning courses<\/li>\n<li>Build ML models and deploy them to Azure for production<\/li>\n<li>&lt;your idea here!&gt;<\/li>\n<\/ol>\n<p>So take the sample F# notebook for a test drive and see what this powerful language can do for you!<\/p>\n<h2>Support &amp; FAQ<\/h2>\n<p>General FAQ: <a href=\"https:\/\/notebooks.azure.com\/faq\">https:\/\/notebooks.azure.com\/faq<\/a><\/p>\n<p>Filing bugs on github: <a href=\"https:\/\/github.com\/Microsoft\/AzureNotebooks\">https:\/\/github.com\/Microsoft\/AzureNotebooks<\/a><\/p>\n<p>Direct mail to team: nbhelp@microsoft.com<\/p>\n<p>User Voice: <a href=\"https:\/\/visualstudio.uservoice.com\">https:\/\/visualstudio.uservoice.com<\/a><\/p>\n<table cellspacing=\"0\" cellpadding=\"2\" width=\"1019\" border=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"268\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/4\/2019\/06\/Shahrokh-Mortazavi.png\" width=\"258\" height=\"242\" \/><\/td>\n<td valign=\"top\" width=\"749\"><strong>Shahrokh Mortazavi<\/strong>, Partner PM, Visual Studio Cloud Platform Tools<\/p>\n<p>Shahrokh Mortazavi runs the Data Science Developer Tools teams at Microsoft, focused on Python, R, and Jupyter Notebooks. Previously, he was in the High Performance Computing group at Microsoft. He worked on the Phoenix Compiler tool chain (code gen, analysis, JIT) at Microsoft Research and, prior to that, over a 10 year period led Sun Microsystems\u2019 Code Generation &amp; Optimization compiler backend teams.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Last week I blogged about the availability of the new Data Storage and Data Science workloads in Visual Studio 2017 RC. The Data Science workload specifically provides support for the following: R integration, along with Microsoft\u2019s optimized R libraries Python integration, along with the Anaconda distro F# integration with FSharp.Data, FsLab and Nuget libraries These [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1085,1195,1030,472,561,155],"tags":[237,242,1383,547,1054,172,585,182],"class_list":["post-9275","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-cross-platform","category-data","category-gaming","category-open-source","category-visual-studio","tag-net","tag-azure","tag-c","tag-f","tag-ml","tag-python","tag-r","tag-unity"],"acf":[],"blog_post_summary":"<p>Last week I blogged about the availability of the new Data Storage and Data Science workloads in Visual Studio 2017 RC. The Data Science workload specifically provides support for the following: R integration, along with Microsoft\u2019s optimized R libraries Python integration, along with the Anaconda distro F# integration with FSharp.Data, FsLab and Nuget libraries These [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/9275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=9275"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/9275\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=9275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=9275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=9275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}