Open magnus-madsen opened 3 years ago
I have a few nitpicks regarding the type class principles.
For the Explicit Override
principle:
This ensures that there are no dangling overrides, i.e. functions definitions that do not match any signature of the type class.
This check happens, but it's not directly related to the override
modifier.
Instead, the override
modifier ensures:
override
modifiers everywhere, making them meaningless (no overriding when there's no default)Regarding the Default Implementations
principle:
... can always be overridden ... For example, to provide a more efficient version.
Do we want to strengthen this or the override principle to say that an override must be observationally equivalent to the default implementation?