Microsoft's Azure Notebooks cloud service is adding support for F#, the Microsoft-developed "functional-first" language.
Azure Notebooks, a free service for sharing documents that contain live code and equations, features the Jupyter Notebook web application and is geared to data analysis and data processing scenarios. Previously limited to the R and Python languages, the service can be used for building machine learning models for deployment to Azure.
"Notebooks are basically executable documents. The combination [of Notebooks and F#] enables the F# community to quickly prototype code, have prose, inline graphs, etc., and share their live code documents," said Microsoft's Shahrokh Mortazavi, Partner program manager for the Visual Studio Cloud Platform Tools. Execution is done via Mono in Docker containers on Ubuntu Linux.
F# has been positioned for use in complex computing, such as developing algorithms for DNA processing, scientific computing, and a banking application to provide an early warning for liquidity risk. Azure Notebooks offer free-for-use execution of notebook content, access to high-performance data center resources, and notebook sharing.
Notebooks started out in the Python/technical computing world but are used in a variety of scenarios now, including machine learning and analytics. "But really, anything that used to be published as static PDF -- text, graphs, code -- now can be done in a 'live' executable way and shared easily," Mortazavi said. "For example, O'Reilly has started publishing their books as Jupyter notebooks." With live code, developers can, for example, take code from a document written in HTML and run the actual code without having to first copy and paste it into an IDE.
The Azure Notebooks service provides Jupyter notebooks and supporting libraries, and is available in preview form. F# on Azure Notebooks currently offers limited auto-complete support, with further improvements to be rolled out incrementally. Microsoft also plans integration between its Visual Studio IDE and Azure Notebooks.