Greetings.
What happens if a type is made an instance of
a typeclass in two different modules with different implementations? In static
linking scenarios it will be caught by the compiler. I don't know whether we can
do dynamic loading in Haskell, but it seems there will be inconsistencies in
that case. Even in static linking when an object is serialized over the wire
where a different implementation of a typeclass exists things will go wild.
What's Haskell's approach to versioning?
Thanks