hoopl
hoopl copied to clipboard
Higher-order optimization library
Paper page 5 ```haskell analyzeAndRewriteFwdBody :: ( CkpointMonad m -- Roll back speculative actions , NonLocal n ) -- Extract non-local flow edges => FwdPass m n f -- Lattice,...
Bumped base bounds for GHC 8.10 and 9.0 and made changes to accommodate simplified subsumption and whitespace-sensitive operator parsing.
I have found myself using https://hackage.haskell.org/package/enummapset a lot in my code. It provides wrappers around `IntSet`/`IntMap` that uses `Enum` rather than `Int`, which allows for better type safety. Now I...
Apparently the CheckpointingMonad wasn't actually used anywhere in the code (there were only a few instances). In particular the fixpoint algorithm did not use it at all. Removing it seems...
So, let's say I have an `AliasInfo` fact type, and I have a number of different transfer functions doing different alias analyses. I don't think I can see how to...
There should be a combinator to take an arbitrary list of passes, and interleave them into a single pass where the fact type is a type-level list of other fact...
Imagine a pass which can use multiple types of facts - for example, a cache locality optimisation pass might want information about aliasing, branch selection frequency, and, optionally, the size...
So, let's say I have a lattice which I know happens to be a Heyting algebra - that is, a lattice with an implication operator (every finite, distributive lattice is...
In line 274 of DataFlow, function arfx uses fromJust assuming that looking up a fact always produces a result. Would you please change the implementation into: ``` arfx arf thing...