Thanks, I think this is just what I looked for.. I solved it at the end by having a function to return the type and a list of rules for any rule, but certainly your solution looks much better.<br><br><div class="gmail_quote">
2009/1/12 David Morse <span dir="ltr">&lt;<a href="mailto:dcmorse@gmail.com">dcmorse@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
One beginner to another, what about just breaking down and using multiple data declarations, then packing the rules into the outer data type and the misc. parameters into the inner data type?:<br><br>data RuleBox = Rule0 RuleZero | Rule1 RuleOne Rule | Rule2 RuleTwo Rule Rule<br>

data RuleZero = Axiom Sequent<br>data RuleOne = WeakeningL Sequent FormulaOccur | WeakeningR Sequent FormulaOccur | ContractionL ... | Contraction R ... | PermutationL ... | PermutationR ... | NotL ... | NotR ... <br>data RuleTwo = Mix Sequent FormulaOccur | AndL ... | AndR ...<br>

</blockquote></div><br>