Andrew Farmer
Andrew Farmer
I also ran into this problem with GHC 8.10.5. When I tried to `cabal install cabal-install`, the build hung forever on the network package. Built network with `-v` and tailed...
I think it depends on how automated you want this to be. If the end user is willing to do a little work themselves, then you could do something like:...
It's possible to build this sort of thing (equivalence between list forms) as a special case, but in general, equivalence in retrie is syntactical modulo alpha-equivalence because we only run...
Thanks for the test case! This is a consequence of the fact that we're working with parsed AST instead of the renamed AST (because that is all that ghc-exactprint supports)....
Ah! Of course. That's a great idea. I'll see about incorporating that.
@pepeiborra Does haskell-language-server already have the renamed source on hand at the point it calls retrie? To actually rename/typecheck a module, we need to rename/typecheck the transitive imports, right? This...
> What do you want to use ad-hoc rewrites for? Partially it's just convenience. The adhoc rewrites are just RULES pragmas under the hood, and this saves you from having...
In principle, we can rewrite anything that GHC parses. In practice, I've never tried to rewrite TH splices before, so I'll have to build out the syntax. I'm not sure...
Can you create a test case that demonstrates the rewrite you want? Example: https://github.com/facebookincubator/retrie/blob/master/tests/inputs/Adhoc.test (Essentially this is a diff showing before and after, with command-line arguments above the `===`.) I...
Matching is syntactic, so this is expected. Does the rule `forall t a b. foo @t a b = foo @t b a` work? (`@` not strictly necessary, but would...