
One other approach is to do it the Microsoft way and give all libraries GUIDs, with the rule that you have to change the GUID when you change the library API. This would guarantee no library clashes, because a module name would include its GUID.
I know next to nothing about this GUID concept, so please correct me if I'm wrong, but isn't this GUID just "yet another unique identifier convention", which may or may not clash, depending on how lucky you are? Would using a GUID really be different than using a hierarchy like Haskell does today?
Yes, technically this is true. But the important feature of a GUID is that you can generate a guaranteed unique one locally, without having to check a global registry to avoid clashing. Cheers, Simon
participants (1)
-
Simon Marlow