Skip to content
  • Michal Terepeta's avatar
    Hoopl/Dataflow: make the module more self-contained · dc4d5962
    Michal Terepeta authored and Ben Gamari's avatar Ben Gamari committed
    
    
    This makes the GHC's Dataflow module more self-contained by also
    forking the `DataflowLattice` (instead of only the analysis
    algorithm). Effects/benefits:
    - We no longer need to use the deprecated Hoopl functions (and can
      remove `-fno-warn-warnings-deprecations` from two modules).
    - We can remove the unnecessary `Label` parameter of `JoinFun` (already
      ignored in all our implementations).
    - We no longer mix Hoopl's `Dataflow` module and GHC's one.
    - We can replace some calls to lazy folds in Hoopl with the strict ones
      (see `joinOutFacts` and `mkFactBase`).
    
    Signed-off-by: default avatarMichal Terepeta <michal.terepeta@gmail.com>
    
    Test Plan: validate
    
    Reviewers: austin, simonmar, bgamari
    
    Reviewed By: bgamari
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D2660
    dc4d5962