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

[WIP] Stop materializing placeholder liveness at all points #157

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Commits on Jul 30, 2021

  1. tests: re-enable comparisons of the loan_live_at relation

    Also, add a descriptive message if the `assert_equal` helper fails its assertions.
    lqd committed Jul 30, 2021
    Configuration menu
    Copy the full SHA
    7284e48 View commit details
    Browse the repository at this point in the history
  2. location insensitive: handle placeholders explicitly instead of a by-…

    …product of liveness
    
    Also, number and comment the rules, because the expansions are very verbose and mistakes are easy to make here.
    
    We simplified the rules by modeling the fact that placeholder origins are live at all points by ... materializing this as actual tuples in the `origin_live_on_entry` relation, even though liveness analysis does not computes that.
    
    This was also done because soufflé provides an easy `;` alternative operator, while datafrog requires us to do the alternative expansions manually. (Also we were lazy)
    lqd committed Jul 30, 2021
    Configuration menu
    Copy the full SHA
    539492d View commit details
    Browse the repository at this point in the history
  3. naive: handle placeholders explicitly in the rules

    We simplified the rules by modeling the fact that placeholder origins are live at all points by ... materializing this as actual tuples in the `origin_live_on_entry` relation, even though liveness analysis does not computes that.
    
    This was also done because soufflé provides an easy `;` alternative operator, while datafrog requires us to do the alternative expansions manually. (Also we were lazy)
    lqd committed Jul 30, 2021
    Configuration menu
    Copy the full SHA
    f103a75 View commit details
    Browse the repository at this point in the history
  4. opt: handle placeholders explicitly in the rules

    Also, number and comment some rules.
    
    We simplified the rules by modeling the fact that placeholder origins are live at all points by ... materializing this as actual tuples in the `origin_live_on_entry` relation, even though liveness analysis does not computes that.
    
    This was also done because soufflé provides an easy `;` alternative operator, while datafrog requires us to do the alternative expansions manually. (Also we were lazy).
    
    Where possible `filter_with` leapers were added, and where WF-ness would not be possible, `extend_with` leapers were used. This should be similar here: the `placeholder_origin` relation being a single value relation, there is only a single unit tuple to extend a key with.
    lqd committed Jul 30, 2021
    Configuration menu
    Copy the full SHA
    e6dd2fb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c447751 View commit details
    Browse the repository at this point in the history