A native-managed bridge for the clr while being cross platform is quite possible but unfortunately the developers of hs-dotnet reference ole32 and oleaut32 as extra libraries. This means that the code relies on the com/ole/activex layer in windows which is what Microsoft's implementation of the clr is built upon and their low level clr apis are written in. Mono doesn't use this and afaik there isn't a com layer for nix (unless of course you use wine but that may be overkill). The salsa project seems to have similar bindings although it does say on it's wiki page "Supporting Mono shouldn't be too much work though"