4 ms·
> All your interacting components still depend intimately on each other's behavior. The behavior is not fully captured by the interface - if it was, it wouldn't
by danidiaz 10y ago
> All your interacting components still depend intimately on each other's behavior. The behavior is not fully captured by the interface - if it was, it wouldn't be an interface, it would be an implementation.
Many interfaces come with an assumed "contract" that all instances must satisfy, which limits the possible implementations but not completely defines them.
Interfaces for equality (must represent an equivalence relation) are like that.
So is the Monad interface (the monad laws are basically associative laws).