IdCoreRule,
RuleName,
emptyCoreRules, isEmptyCoreRules, rulesRhsFreeVars, rulesRules,
- isBuiltinRule
+ isBuiltinRule, ruleName
) where
#include "HsVersions.h"
CoreExpr -- RHS
| BuiltinRule -- Built-in rules are used for constant folding
- -- and suchlike. It has no free variables.
- ([CoreExpr] -> Maybe (RuleName, CoreExpr))
+ RuleName -- and suchlike. It has no free variables.
+ ([CoreExpr] -> Maybe CoreExpr)
-isBuiltinRule (BuiltinRule _) = True
-isBuiltinRule _ = False
+isBuiltinRule (BuiltinRule _ _) = True
+isBuiltinRule _ = False
+
+ruleName :: CoreRule -> RuleName
+ruleName (Rule n _ _ _) = n
+ruleName (BuiltinRule n _) = n
\end{code}
seq_rules [] = ()
seq_rules (Rule fs bs es e : rules) = seqBndrs bs `seq` seqExprs (e:es) `seq` seq_rules rules
-seq_rules (BuiltinRule _ : rules) = seq_rules rules
+seq_rules (BuiltinRule _ _ : rules) = seq_rules rules
\end{code}