F# in MonoDevelop and cross-platform web sites & screencasts

About a week ago, I attended the F# in Education workshop in Boston. It was a great event with many interesting people around. I believe that the workshop was very exciting for everyone who is interested in F#, but uses Mac or Linux. The F# team recently made some effort to improve the F# support on Mono (meaning mainly Mac and Linux). The recent November 2010 CTP update contains several bugfixes that make it possible to use F# on Mono 2.8. Another great thing that happened at the workshop is the open source release of F# (see also blog post by Miguel with a post-check-in photo). At the workshop, I also announced my contribution to the cross-platform F# story, a project that I've been working on recently - the F# language binding for MonoDevelop.

Click here for a larger screenshot

I promised to make it available as soon as possible after the workshop. As usually, things take longer, than one would like, but I'm finally ready to announce the initial (beta) version of the plugin. The screenshot on the right shows some of the features of the F# language binding. As you can see, there is an F# Interactive tool window, syntax highlighting as well as IntelliSense auto-completion.

If you're interested in trying it out, here are links to the repository (you can use it to install the language binding from the MonoDevelop Add-ins manager) and source code. The F# plugin needs to be able to locate F# installation and it also requires more F# assemblies to be installed in the GAC, so you may as well want to read the instructions before trying it :-).

If you want to see some interesting uses of the F# MonoDevelop plugin, you can also watch my talk at the F# in Education event. In one demo, I used F# on Mac to play with a simple, composable functional 3D library. In another example I demonstrated how to asynchronously process stock prices on Linux. The last demo, showing my match! extension didn't work all that well, because I had too many virtual machines running, but I'll blog about match! again sooner or later!

Cross-platform F# screencasts

To show how working with F# feels on other platforms, I created two screencasts. You can find them in the screencasts section on the Functional Variations web site (I'll add all future screencasts there). The first screencast is quite basic and it shows the installation of F# and command line version of F# Interactive and compiler. The second screencast is more exciting. It shows how the F# plugin for MonoDevelop works in two common scenarios...

Installing and using F# command line tools on Linux

This screencast shows how to start using F# on Linux. It demonstrates:

Installing and using F# plugin for MonoDevelop on Linux

See the F# plugin for MonoDevelop in action! This screencast shows:

Functional Variations and Functional Teaching

As you probably noticed, most of the cross-platform materials, screencasts and the F# MonoDevelop plugin are hosted at Functional Variations web site. This is another project that I was working on recently. The main purpose of the web site is to provide a home for various academic and cross-platform materials related to F#. Said simply, the web page should be a home for everything that's related to F# and doesn't quite fit to the official Visual F# Development Centre, which is focused mostly on professional developers.

The web site currently has two sections related to academic uses of F# and two sections related to using F# in cross-platform environment:

The web site uses a simple wiki based on the ASP.NET wiki control with Markdown and is quite easy to edit. However, it can be edited only by registered users. To prevent spammers from attacking the web site (and random people on the internet from posting nonsense there), there is (currently) no public registration. However, I'll be very happy to create a user account to anyone from the F# community who would be interested in contributing to the web site (either by adding relevant links or by writing some new material). Finally, if you have some materials that could be linked from any of the web pages (e.g. on your blog or somewhere else), let me know!

The web site is a bit "beta" version, but I'm in touch with people from the Microsoft External Research, who seem to be quite interested in taking the web sites to a "next level", so stay tuned...

Published: Tuesday, 16 November 2010, 2:35 AM
Author: Tomas Petricek
Typos: Send me a pull request!
Tags: academic, presentations, universe, mono, webcast, f#