2016-07-29 21 views
4

Gibt es eine Möglichkeit, Umschreibregeln zu durchsuchen oder zu suchen? Wenn ich Flags wie -ddump-rule-firings oder -ddump-rule-rewrites verwende, erhalte ich nur den Namen der gefeuerten Regel und die von ihm verursachte Neuschreibung, aber nicht die eigentliche Regel selbst ...Suche nach Rewrite-Regeln

Idealerweise würde ich gerne sehen, welche Rewrite-Regeln drin sind Umfang über GHCi, aber realistisch wäre ich bereit, nur für eine erschöpfende Liste der Rewrite-Regeln in der Basis zu begleichen.

+1

Ich würde für sie nur grep. Sie beginnen mit '{- # RULES'. Leider sind sie keine erstklassigen Bürger. – pdexter

+0

@pdexter Dies ist genau die Antwort, die ich NICHT hoffen wollte. xD – Alec

+1

: D Lesen Sie dies [http://www.yesodweb.com/blog/2016/02/first-class-stream-fusion](http://www.yesodweb.com/blog/2016/02/First-Class-Stream-Fusion) – pdexter

Antwort

3

In Ordnung, hoffe immer noch auf eine gute Antwort, aber wenn es nicht ist, ging ich voran und tat, was Pdexter vorgeschlagen und base für Regeln grep'd. Here are the rules in base 4.9.


Für alle Interessierten das Replizieren:

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