-
Notifications
You must be signed in to change notification settings - Fork 63
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
Fix Heapster reachability permissions examples #2030
Conversation
…n eliminating sigmas, just like is used when building them
@@ -3,6 +3,22 @@ module iter_linked_list where | |||
|
|||
import SpecM; | |||
|
|||
-- Type description for the Mbox type, which is equivalent to Mbox_Ind |
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.
Should this say List
/List_Ind
instead of Mbox
/Mbox_Ind
?
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.
Actually, the comment needed to be slightly different, but I fixed it, thanks!
Mbox_nil : Mbox; | ||
Mbox_cons : Vec 64 Bool -> Vec 64 Bool -> Mbox -> BVVec 64 bv64_128 (Vec 8 Bool) -> Mbox; | ||
-- An inductive type formulation of the Mbox type; this is just for | ||
-- documentation purposes, and isn't used in the below |
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 think this accidentally a word:
-- documentation purposes, and isn't used in the below | |
-- documentation purposes, and isn't used in the code below |
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.
"In the below" is a phase often used in papers as a synonym for "in the following"
|
||
primitive appendList : (T:TpDesc) -> ListTpF T -> ListTpF T -> ListTpF T; | ||
|
||
{- |
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.
Should this chunk of commented-out code include a FIXME
similar to the one in the commented-out data Mbox
code in mbox.sawcore
?
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.
Yep, I'll add that
As noted in #2027, the Heapster examples that were using reachability permissions were creating SAW core type errors in the translation to SAW core. Turns out there were not actually anything wrong with reachability permissions, just a bug in the
sigmaElimTransM
function used by the Heapster-to-SAW translation to translate the elimination of existential permissions. This PR fixes that bug and re-enables the Heapster examples that use reachability permissions.