これは何よりも文体的な質問です。次のコードが与えられます:
case e1 of (* datatype type_of_e1 = p1 | p2 *)
p1 => case e11 of (* datatype type_of_e11 = NONE | SOME int *)
NONE => expr11
| SOME v => expr12 v
| p2 => case e21 of (* datatype type_of_e21 = NONE | SOME string *)
NONE => expr21
| SOME v => expr22 v
p1の式を括弧で囲む以外に、e11をp2types of rules don't agree
にパターンマッチしようとすることによって引き起こされるエラーを解決する方法はありますか?p2パターンには、 「パターンを切り替えるだけ」の答えを避けるために、別のcaseステートメントがあります;-)。
更新:より具体的なケースを反映するようにコードを変更しました