Saturday, June 28, 2008

VSLab – Interactive F# in Visual Studio

CodePlexVSLab

Project Description

Visual Studio Lab (VSLab) exploits the power of F# and its interactive top level to provide an interactive environment similar to MatLab and Mathematica, in which you can easily create Add-ins and interact dynamically with them inside Visual Studio. Moreover, since F# is a compiled language, the final code can be compiled as a standalone application.

Goal of the project is to provide the basic infrastructure to turn Visual Studio in VSLab, and a number of addins (called viewlets) used to show data and support development of scientific based applications.

Visual tutorial

The easiest way to look at VSLab is a powerful version of F# interactive that allows to open Visual studio toolwindows and interactively draw inside them. VSLab provides several facilities to create and manage Viewlets, Visual studio toolwindow that are interactively updated by F# functions. I think that the implementation is worth to study because fsi.exe run in a separate process and it isn't trivial at all to convince VS to accept efficient drawing from an external process. In fact VSLab has been developed to be an example of DTE use, the Visual Studio extensibility, and F# was the natural candidate for exploiting this power because of its interactive abilities. More technical documents will follow, for the moment let me introduce VSLab in the quickest way (assuming that you know a little bit of F#).

Screenshot-4

…”

I have no idea what to do with this, but I thought it was pretty cool and since I like posting about cool stuff… :)

I’ve yet to take a look at F# (or functional programming for that matter), but from what I hear in the casts I’ve caught, it sounds interesting. I like the idea of focused languages for targeted tasks. Languages for specific problem domains. I like that, for example, there doesn’t seem to be the drive to make WinForms via F#. That F# isn’t meant as a replacement for C#/VB (having two “primary” languages in the battle is enough I think ;) It seems there will be a place for F# assemblies, solving specific problems, in your C#/VB solutions. Using the right tool for the right job and all that.

(via martin esmann - Visual Studio Lab (VSLab))

1 comment:

  1. You have to try it! Using F# interactive inside Visual Studio you can access .NET BCL lively, and VSLab is a way to obtain VS toolwindow defined on the fly using WinForms. I've just released a new version with more documentation and Whitepapers explaining several aspects of VSLab.

    -- Antonio Cisternino

    ReplyDelete

NOTE: Anonymous Commenting has been turned off for a while... The comment spammers are just killing me...

ALL comments are moderated. I will review every comment before it will appear on the blog.

Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...

I reserve, and will use, the right to not approve ANY comment for ANY reason. I will not usually, but if it's off topic, spam (or even close to spam-like), inflammatory, mean, etc, etc, well... then...

Please see my comment policy for more information if you are interested.

Thanks,
Greg

PS. I am proactively moderating comments. Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...