Skip to content
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

Heapster: Generate definitions for recursive function frames #1804

Merged
merged 2 commits into from
Jan 23, 2023

Conversation

eddywestbrook
Copy link
Contributor

The recursive function frames used in an extracted Heapster spec is a list of inductive encodings of all the recursively-defined function in a spec. This list is a somewhat big Coq term, and is used as an argument to each monadic operation in the spec. This PR refactors this list into its own top-level Coq definition for each function, which reduces the size of specs containing it.

…nction frame, which is used a lot in the generated specs, is made into its own top-level definition
@eddywestbrook eddywestbrook added the subsystem: heapster Issues specifically related to memory verification using Heapster label Jan 19, 2023
Copy link
Contributor

@RyanGlScott RyanGlScott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change matches my intuition for how this should work, so I'm on board. One minor suggestion inline.

frameTypeOpenTerm :: OpenTerm
frameTypeOpenTerm = dataTypeOpenTerm "Prelude.List1" [dataTypeOpenTerm
"Prelude.LetRecType" []]

-- | FIXME HERE NOW: docs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it finally time to fix this FIXME? :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's probably a job for the Fixmen, who answer the age-old question: who fixes the FIXMEs?

Seriously, though, there are a lot of FIXMEs that need to be updated, and this commit is probably not the time...

@eddywestbrook eddywestbrook added the PR: ready to merge Magic flag for pull requests to ask Mergify to merge given an approval and a successful CI run label Jan 23, 2023
@mergify mergify bot merged commit aa4297e into master Jan 23, 2023
@mergify mergify bot deleted the heapster/frame-def branch January 23, 2023 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: ready to merge Magic flag for pull requests to ask Mergify to merge given an approval and a successful CI run subsystem: heapster Issues specifically related to memory verification using Heapster
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants