Monad in plain English? (For the OOP programmer with no FP background)

In terms that an OOP programmer would understand (without any functional programming background), what is a monad? What problem does it solve and what are the most common places it’s used? Update To clarify the kind of understanding I was looking for, let’s say you were converting an FP application that had monads into an … Read more

Does functional programming replace GoF design patterns?

Since I started learning F# and OCaml last year, I’ve read a huge number of articles which insist that design patterns (especially in Java) are workarounds for the missing features in imperative languages. One article I found makes a fairly strong claim: Most people I’ve met have read the Design Patterns book by the Gang … Read more

What is the difference between an abstract method and a virtual method?

What is the difference between an abstract method and a virtual method? In which cases is it recommended to use abstract or virtual methods? Which one is the best approach? 2 28 An abstract function cannot have functionality. You’re basically saying, any child class MUST give their own version of this method, however it’s too … Read more