Searching for rewrite rules

2019-05-07 10:52发布

问题:

Is there any way to browse or search rewrite rules? When I use flags like -ddump-rule-firings or -ddump-rule-rewrites I just get the name of the rule that fired and the rewrite that it caused, but not the actual rule itself...

Ideally I'd like to see what rewrite rules are in scope via GHCi, but realistically I'd be willing to settle for just an exhaustive list of the rewrite rules present in base.

回答1:

Alright, still hoping for a good answer to this, but if there isn't, I went ahead and did what pdexter suggested and grep'd base for rules. Here are the rules in base 4.9.


For anyone interested in replicating this:

  • clone http://git.haskell.org/ghc.git
  • navigate to ghc/libraries/base
  • grep recursively pcregrep -Mr '\{-# RULES(.|\n)*?#-\}' .


标签: haskell ghc