"Don Syme" <dsyme@microsoft.com> wrote,
One point is that in the absence of extensive purity annotations to imperative libraries you will need to use monads for operations that shouldn't need them. Having to add the annotations certainly counts as a complication in comparison to what many other languages have to do on .NET.
That's certainly not a .NET-specific issue and it sounds a bit like the arguments against statically-typed languages while everybody else thought that without dynamic typing languages are too restricted.
As for monads, this is hardly the place to go into an argument about their relative merits re. all those slightly more widespread approaches to imperative programming. If you think driving imperative libraries using monads will be so great then a Haskell.NET would certainly be a perfect place to try out that theory.
As I said, this is hardly .NET-specific and we have had no problems with huge libraries, such as GTK+ and HOpenGL. Manuel