I've been trending toward functional programming for 4 years now, ever since I first started working with LINQ.  Recently, I wrote some pure functional C# code and I noticed, first hand, what I've been reading about functional programs - that once they compile they tend to be correct.I tried to put a finger on why this is the case but I have not succeeded.One guess is that in applying OO principals, you have an abstraction layer that isn't present in functional programs and this abstraction layer makes it possible for the contracts between objects to be correct while the implementation is wrong.Has anyone thought about this and come up with the underlying abstract reason for the correlation between compilation success and program correctness in functional programming?
Why do functional programs have a correlation between compilation success and correctness?
functional programming