Skip to content
This repository has been archived by the owner on May 20, 2018. It is now read-only.

Module dependencies are imported transitively #173

Open
robrix opened this issue Dec 13, 2015 · 1 comment
Open

Module dependencies are imported transitively #173

robrix opened this issue Dec 13, 2015 · 1 comment
Labels

Comments

@robrix
Copy link
Contributor

robrix commented Dec 13, 2015

When you write a module B and it depends on a module A, any clients depending on B also end up depending on A. This acts transitively, too, such that anything depending on a module C, itself depending on B, will import all of A, all of B, and all of C (the one they actually meant).

This is only going to lead to dependency hell.

We need to be able to evaluate terms in B without requiring the environment & context to already contain the definitions from A.

@robrix robrix added the bug label Dec 13, 2015
@robrix
Copy link
Contributor Author

robrix commented Dec 13, 2015

There is a much worse issue stemming from this where if C shadows definitions in A which are used in B, B will use C’s definitions. This is as bad as overriding methods in subclasses.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant