For MVVM, F # has one very important advantage: it does not allow circular dependencies. This makes it very difficult to break the template: to allow the model to directly influence the viewmodel or viewmodel to access the view. According to Bent, F # is a multi-paradigm: it supports properties with getters and setters, and this is not something that should be avoided in the language.
Interestingly, I cite the lack of features as one of the advantages of F #, but I feel that it is this exclusion of circular dependencies that makes the language a good choice for corporate architecture.
I have a toy project at https://github.com/SpiegelSoft/Astrid . You can view this to see how I implemented MVVM using ReactiveUI.
source
share