Over the last 6 or so months, I've been working on a Vim emulation layer for Visual Studio 2010. It's a free product with all of the source it's freely available on github
- GitHub: http://github.com/jaredpar/VsVim
- VsVim on Visual Studio Gallery
The project is divide into 3 DLL's representing a distinct layer. Each layer has a corresponding unit test dll.
- Vim Engine: F#
- WPF layer for adornments and editor integration: C#
- Visual Studio Integration layer: C#
This is the first major project I've ever done with F# and I have to say I love the language. In many ways I used this project as a method of learning F# (and this learning curve is very much evident if you look through the history of the project).
What I find the most amazing about F# is just how concise of a language it is. The Vim engine comprises the bulk of the logic yet it only comprises 30% of the overall code base.