-
Notifications
You must be signed in to change notification settings - Fork 92
Make translator aware of datatype constructors that live inside modules #512
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
Conversation
lookup_cons can now look up a constructor name defined anywhere (not just Short names). This commit fixes the breakage in the translator so that translation works through the entire basis library, at least. ml_monad_translatorScript.sml is fixed too, but ml_monad_translatorLib.sml remains broken by these changes.
|
Nice work! Breaks the bootstrap translation currently. Reopen when fixed. |
|
Now is the bootstrap translation diverging? |
|
Yes, there's likely a never-ending metis_tac in an EqualityType proof. I'll re-open this later. |
|
I re-wrote the EqualityType proof in the translator w/o metis-calls in a way so that it hopefully can't get stuck forever on things. It seems a lot of |
To get the regression test running again...
This should hopefully fix issue #374.
The translator asks
ml_progLibfor the current module when a type is registered, so take care when callingregister_typeon types that would causeregister_typeto get called recursively, or those things might also end up as if they are living within your module.