CloudSharper Local alpha released Core team

CloudSharper is here! It has been several weeks since the previous release, therefore this version includes several major improvements.

  • CloudSharper is now officially supported on mono. Here are the installation instructions for Ubuntu 14.04:
    • Install the following packages from the Ubuntu repository:
      mono-complete fsharp
    • Download the zip version of CloudSharper Local, available here (or linked on the login page) and extract it in the folder of your choice.
    • To start CloudSharper Local, run the following command:
      mono CloudSharper.exe
  • The F# Intellisense service is now based on the latest FSharp.Compiler.Service, the community-maintained library used by the MonoDevelop and Emacs modes for F#.
  • The F# Interactive service is also based on FSharp.Compiler.Service. This gives us more control over the internals of fsi and allows more reliable extensibility for tools such as our inline charting library and on-the-fly compilation to JavaScript via WebSharper.
  • CloudSharper now manages a solution file per workspace. It is a standard Visual Studio solution file, allowing you to work comfortably on the same workspace with CloudSharper and Visual Studio. Projects are automatically added to it when created with the "Create new project" window, and removed when the .*proj file is deleted.
  • Minimal NuGet package management. CloudSharper checks for any packages.config file in your workspace and automatically installs the corresponding packages. Upcoming versions will provide automatic insertion of the relevant references in project files and a GUI to easily search, install and reference NuGet packages.

The following long-standing bugs have been fixed:

  • On some computers, the CloudSharper Local Console failed to start properly, which forced these users to start CloudSharper.exe from the command line. This is not the case anymore.
  • The installer now properly removes older versions of CloudSharper Local.

Here is the complete change list:

  • #139: "exit 1;;" in F# Interactive gives error message
  • #272: Console doesn't start service properly
  • #305: Projects not in subfolders crash the console
  • #308: CloudSharper.Installer.msi is not removing older versions
  • #309: Use fsi from FSharp.Compiler.Service instead of the current wrapper
  • #313: Context menu on workspaces list
  • #316: Do not ship System.dll, Microsoft.Build.* etc - breaks on Mono
  • #318: FSharp.Core vs
  • #319: Conflicts between MS Build 4.0 and 12.0
  • #323: Mono; stuck at creating Interactive service
  • #324: Mono: downloadTemplate hits NotImplemented
  • #325: Start cs.exe bug
  • #326: Login with FPish redirect needs updating
  • #327: File tabs improvements
  • #329: Solution file support
  • #330: Project references dialog
  • #331: Closing affected file tabs on folder delete
  • #332: AsyncDisposable losing exceptions.
  • #333: bug in portRangeAllocator + AsyncDisposable
  • #334: FSI gets started twice per session
  • #335, #337: Mono: fsi does not print anything to the console
  • #336: CloudSharper.exe spinning CPU
  • #339: MSBuild building/cleaning projects fails on Mono
  • #341: Executing an FSI script fails with fireworks on Mono
  • #342: MSBuild service -- find a solution that works both on Mono and .NET
  • #343: Allow creating an empty workspace without needing to go to azure
  • #345: FSharp.Core v4.3.1.0 not found on Mono
  • #346: Mono / HTML project: Connection Reset when viewing generated HTML
  • #347: Mono: native failure on FSharpInterfaceDataVersionAttribute ctor
  • #349: Completion returns nothing when the project file has been opened
  • #350: Build dependencies missing
  • #351: Completion not working for WebSharper projects (mono + windows)
  • #352: Completion not working after build in Mono
  • #353: Add the latest nuget.exe to the installer and zip
  • #354: Execute NuGet package restore when necessary
  • #355: Add a "NuGet Package Restore" context menu item
  • #357: "Package restore" output should go into Build Messages
  • #358: fsproj changes not getting picked up
  • #363: Triggering msbuild when another build is already running crashes the local component
  • #364: MSBuild service throws an exception if a project file is invalid
  • #365: MSBuild is silent when passed an invalid project file
  • #367: fsi: WebSharper code raises Failed to translate property access
  • #370: Mono: exception when writing to the solution file

Happy coding!

Does syntax matter? Or how I started progrmamming. Core team

How I started programming: well there was some Basic, Pascal and PHP, but I started getting serious only after encountering and trying to understand Haskell, while doing grad school for an unrelated subject. Haskell challenged me, somehow. It looked like nothing I have seen before. And playing with it had that feeling of figuring out a puzzle. How I found Haskell: going through the list of languages that Kate or some such editor supported highlighting for. Yeah, I know.. In alphabetic order. [...]
>> Read the full article on

WebSharper available for testing on Xamarin & MonoDevelop Core team

WebSharper development gains support for Mono framework on Linux and Mac OS X, and integration with Xamarin Studio and MonoDevelop. The preview add-in is available for testing at intellifactory/monodevelop.websharper

What you get:

  • Ability to develop WebSharper projects on Linux and Mac OS X
  • A viable IDE alternative to Visual Studio for WebSharper projects

What we have done:

  • Worked around a bunch of xbuild bugs by rewriting WebSharper build logic from MSBuild XML to MSBuild tasks, this seems to work reliably on both Mono/xbuild and .NET/MSBuild
  • Created an add-in for MonoDevelop and Xamarin Studio that is able to create instances of WebSharper templates

There are some remaining issues with Web project support, especially F#/Web projects integration into the IDE, but the projects are working with xsp4.

In the near future, we plan to push this further and hope to fully support cross-platform development of OWIN-based Web projects in F#/WebSharper that would allow hosting performant websites directly in-process, rather than relying on ASP.NET xsp4 emulation.

CloudSharper Core team

This bugfix release addresses the following issues:

  • #303: Distribute System.Threading.Tasks.Dataflow.dll. The absence of this file could prevent running msbuild unless installed on your system.
  • #304: Allow the local component's sitelet server to serve several sitelets in parallel. This allows you to have several workspaces open (in separate browser tabs) and to test them simultaneously. This will also allow the upcoming multi-user component to serve sitelets for several users.
    This comes with a change in the configuration file (CloudSharper.Console.exe.config in the installation directory): the siteleturl setting is now split into siteletbaseurl and siteletportrange.

Happy coding!

CloudSharper Core team

As the version number suggests, this is only a bugfix release. The issues addressed are:

  • #301: Trying to start MSBuild while a build was already running caused the server to crash; this is no longer the case.
  • #302: The initialization code for fsi failed to run due to mismatched FSharp.Core.dll version; this caused charting and on-the-fly WebSharper compilation to fail.

As announced yesterday, we are now focusing on providing a centralized platform experience to provide CloudSharper to a group of developers or students off a single install. Follow us on twitter @CloudSharper for further announcements!

CloudSharper 0.9.9 Core team

This release continues our efforts to require fewer dependencies on your machine before you can use CloudSharper. In earlier releases, various CloudSharper templates (most notably, the WebSharper Sitelet Website template) required .targets files that were part of Visual Studio. This dependency is now eliminated.

We also made further template changes to require F# 3.1 installed on your machine, as opposed to earlier 3.0 installations, to match the updated code service that parses and type checks according to the F# 3.1 specification.

These bring the requirements for using CloudSharper now in line with what's stated on the Login page.

Other issues addressed in this release are:
  • #297 - Embedded application template doesn't compile
  • #294 - Show the full path in a tab's tooltip
  • #296 - Worktree: close all folders by default and remember which folders are open
  • #282 - Doing a build on an empty workspace should say that there is nothing to build
  • #298 - When creating a project, if it has a README, open it

Next up on our TODO list is enabling remote CloudSharper servers. This is an essential feature to enable installation-less scenarios, such as using CloudSharper as a platform at developer conferences and workshops, and those in academia such as programming in-class sessions and distance/e-learning.

More exciting developments will be announced here as they unfold, until then be sure to follow us on Twitter at @CloudSharper.

Happy coding!

CloudSharper Local alpha 0.9.8 Core team

We are happy to announce a new round of CloudSharper Local alpha releases, encapsulating the latest enhancements to the F# compiler service and delivering several bug fixes to CloudSharper's msbuild support.

Subsequent releases will focus on establishing Mono compatibility, project templates that support F# 3.1 out of the box (at the moment, you need F# 3.0 installed on your system to compile CloudSharper project templates), support for remote CloudSharper servers, and synchronizing local workspace files into cloud storage. These stream of releases will eventually lead to the official 1.0 release in Q2.

The list of bugs fixed in this release:
  • #286 Right click + Build uses IF.Build
  • #289 Moving a source file to a folder and back causes it not to type check
  • #295 Deleting and re-creating a standalone F# file crashes the completion service
  • #291 Clicking on any errors in the Notifications doesn't switch over to Messages
  • #290 Duplicate errors on moving files in the solution tree

Happy coding!

CloudSharper Local alpha 0.9.7 Core team

We are happy to announce the latest release of CloudSharper, version 0.9.7, bringing a new type checking and code assistance engine for F# projects. This last week we have been working hard on moving CloudSharper to FCS (FSharp.Compiler.Service), and with this current release much of the migration work is completed. As a result, the type checker in F# projects is considerably faster, and code assistance features are available in more locations that in previous CloudSharper releases.

Moving to FCS replaces our heavily modified and customized fork of the earlier type checking engine, and given the amount of work going into FCS nowadays it is the only sensible choice going forwards.

Happy coding!

WebSharper 2.5.98 Core team

This release brings asynchronous sitelets, brings back support for targeting .NET 4.0 - 4.5.1, and offers several bug fixes.

By popular demand, we have downgraded the WebSharper stack to work well on .NET 4.0, while also working with .NET 4.5 and 4.5.1. Both F# 3.0 and F# 3.1 are now supported.

Thanks to @Oenotria, WebSharper sitelets now support fully asynchronous execution, hooking into asynchronous API as an IIS handler.

Release notes: []

CloudSharper Local alpha available Core team

We are excited to announce the first release of CloudSharper Local, a spin-off of CloudSharper that uses your local machine to serve the main CloudSharper front-end. CloudSharper is an awesome new way to work with F# on the web. It enables you to use F# to easily connect to various data sources and visualize data from those data sources in rich HTML5 charts and diagrams. You can also develop HTML5 games, web and mobile applications in pure F# code, and you will feel more productive than ever. CloudSharper comes with a set of project templates to easily get you started and gives you full-fledged interactive web programming capabilities to test on the fly and in small before you deploy your larger applications.

CloudSharper Local is the first in the line of CloudSharper releases. It addresses the most immediate needs of keeping your sensitive project files on your local machine and providing you with a highly customizable and extensible local development server. We'll be blogging more about the various capabilities this local server can provide and how you can further enhance it and better tailor it to your needs, but even in its basic form it can act as a file, web, and coding server, supporting all functions of the current CloudSharper front-end.

You can get started by registering your new CloudSharper account on the Home page, and downloading and starting the local server component as you log in. To dip your toes in the water, create a new empty workspace, add a new project to it from the various templates available, and hit Build (Ctrl+B). The first build might take a little while as it needs to download several Nuget packages to complete, but once your sample app is built you can test it against your running local server by choosing Deploy locally... (Ctrl+D) from the Workspace menu.

Here is a screenshot of a new workspace with the jQuery Mobile project template compiled and running, literally one minute after registering a new CloudSharper account:

And F# type checking and code completion in action within the same project:

You can add new files easily and extend your project in any direction:

Happy coding and stay tuned for more awesome enhancements!