Diamond dependency: why allow 2 packages with the same name but not 2 versions of same package?

So this would be technically possible. However it seems like a bad idea to allow multiple copies of the same package in Julia. It’s very possible for an object of a type defined by one copy of a package to end up passed to a method of another copy of the same package, at which point :boom: it breaks in the most confusing way possible. This isn’t really a problem in JavaScript which doesn’t have nominal typing or type-based dispatch. Not sure how multiple copies of the same package works in Rust, which does have nominal typing.

7 Likes