-
Notifications
You must be signed in to change notification settings - Fork 10
Conversation
Change the type of `EqTrue` to be in `Prop`. Fix a bug in the `scTypeOf` code that prevented it from treating `Prop` as impredicative.
…backend. Fixes the root cause of GaloisInc/saw-script#872
This is mostly changes in the renamer related to nested modules (PR #1084), but also a few changes related to value representations (PR #1136).
@yav, following this update, one of the SAW integration tests is failing with the following message:
I think this should probably be a shadowing warning instead. If I just load up the module in the Cryptol REPL, it works, so I think maybe I messed up something subtle here in the |
-- Resolve names | ||
let nameEnv = nameEnv1 `MR.shadowing` getNamingEnv env | ||
(rdecls :: [P.TopDecl T.Name]) <- MM.interactive (MB.rename interactiveName nameEnv (traverse MR.rename topdecls)) | ||
(_nenv, rdecls) <- MM.interactive (MB.rename interactiveName (getNamingEnv env) (MR.renameTopDecls interactiveName topdecls)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@robdockins I am not really sure, but perhaps there is a problem here. Note that in the old code the naming environment in which we do the resolving already has the names added to it, while in the new one it does not...
Otoh, I don't understand why the old code was doing that in the first place, and what you've replaced it with makes sense to me, so perhaps the problem is not here.
To be more help, I should probably just check out the code and run it, ping me on the chat if that'd be useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wondered about this code too, but I think it's unrelated, actually. I think this code is for dealing with declarations appearing inside the {{ ... }}
delimiters in SAWScript. The code for importing modules is further above, and is barely changed.
I think the Cryptol issue holding this up has been resolved, I plan to migrate this into the corresponding saw-script PR GaloisInc/saw-script#1191 |
These changes are now folded into GaloisInc/saw-script#1191 |
Changes to track Cryptol PRs GaloisInc/cryptol#1048 and GaloisInc/cryptol#1136
Overlaps somewhat with #197, maybe it makes sense to rebase them together.