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] pattern-matching: Cannot_flatten, maybe we can? #9650

Merged
merged 12 commits into from
Oct 21, 2020

Commits on Oct 21, 2020

  1. Configuration menu
    Copy the full SHA
    cc462e0 View commit details
    Browse the repository at this point in the history
  2. matching: more complete testsuite for do_for_multiple_match

    Note: we now use -dlambda rather than -drawlambda, because otherwise
    the output is much more verbose and difficult to read.
    
    (-drawlambda is closed to the inner workings of the pattern-matching
    compiler, but the simplification in -dlambda make the output much more
    readable. They are also fairly predictable/non-surprising, so I think
    that we can still easily understand what the compiler did from that
    output.)
    gasche committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    31c2551 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bd83d67 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c0d1e81 View commit details
    Browse the repository at this point in the history
  5. matching: towards a correctness argument for flatten_* ignoring varia…

    …bles
    
    Before we ignored as-patterns in the flatten_* functions because
    as-patterns would either be half-simplified or raise Cannot_flatten
    (in any case, never reach the flattening functions).
    
    Now the reasoning is a bit more subtle: the only non-simple matrices
    we flatten are used as "ghost" information (default environments,
    provenance) where variables do not matter, only the shape of matched values.
    gasche committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    7aa43ac View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    940149a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8fc38d2 View commit details
    Browse the repository at this point in the history
  8. Matching.Simple.explode_or_pat: on-demand generation of fresh identif…

    …iers
    
    This change was suggested by Thomas Refis during code review.
    gasche committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    cbf69c7 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0ab43f8 View commit details
    Browse the repository at this point in the history
  10. matching: clarify the ~vars argument of Simple.explode_or_pat

    (suggested by Thomas Refis' review)
    gasche committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    dacaddc View commit details
    Browse the repository at this point in the history
  11. testsuite: clarify the allocation behavior

    (A nice catch of Florian Angeletti's review)
    gasche committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    b5f6cd4 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    7d5f494 View commit details
    Browse the repository at this point in the history