I wonder if you want a typeclass here, rather than a type? A Normal Rule is
pretty much a State Transformer, while a Meta Rule seems like a
higher-order function on Normal Rules[*]. These are different kinds of
things --- and I say "kind" advisedly --- so perhaps better to define the
specific commonalities you need than to try to shoehorn them both into one
type.

[*]: Possibly related question: Can a Meta Rule depend upon an
implementation detail of a Normal rule? In other words, does
   rule1 g == rule2 g
imply
   myMetaRule rule1 == myMetaRule rule2

 ?
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to