Aside from its famous conciseness, F# has a feature that lends itself extremely well to MVVM architecture: its lack of circular dependencies. With the right infrastructure for building visual components, it becomes very easy to create separate layers for models, views and presentation logic. In particular, you can create visual components with a tight fluent interface, leaving behind the repetitive hills and valleys of XAML and clunky-code behind.

Thanks to our sponsors

Rob trained as a mathematician and an actor. He started writing software during my PhD, following the well-trodden progression from Fortran through C and C++ to C#, discovering F# after a brief flirtation with Haskell. When he is not writing code, he trains in circus and springboard and platform diving. He is also writing a documentary on the Putney Debates of 1647.