パーサーのリストを取得し、成功するまで 1 つずつ試行する関数を実装しようとしています。リスト内のパーサーが成功しない場合、パーサー全体が失敗します。これが私の試みです:
fun oneOf [] = NONE
| oneOf (p::ps) = fn inp => case parse p inp of
NONE => oneOf ps
| SOME (v,out) => SOME (v,out)
多くの演算子/オペランドが一致しないというエラーが発生しています。どこが間違っているかについてのヒントはありますか?