-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
There is too much shadowing of standard modules #9
Comments
This is supposed to be fixed in 8.5 when libraries will not be included with -R (which itself is horribly broken). Until that fix is in I have been requiring ExtLib locally for projects using _CoqProject or .dir-locals.el and requiring it with -I, e.g. The only solution that seems to work in 8.4 would be to prefix every file with something, e.g. Bool -> ELBool or something like that which just seems very ugly to me. That is the purpose of namespacing modules. Alternatively, you can tweak the Software foundations using some scripts to make them require full Coq paths, e.g. convert What do you think is the best solution? |
If 8.5 is going to resolve this question, then I think just waiting for 8.5 is the best solution. :) |
From what I've heard it will not include user-contrib using -R which will solve the problem. |
This is solved in 8.5 |
Because ext-lib defines modules like Bool, I've found that when you have ext-lib installed globally, it shadows too many of the standard modules for developments which just
Require Bool
. For example, Software Foundations cannot compile in the presence of coq-ext-lib. I've run into such discrepancies in other projects as well, where because of the presence of ext-lib (even though I never asked to use ext-lib), it was causing compilation behavior to differ between multiple environments. Finally I had to uninstall ext-lib just to keep a sane environment.So my recommendation is to employ some mechanism to avoid shadowing anything that might be implicitly imported from the stdlib, like bools and tuples.
The text was updated successfully, but these errors were encountered: