我正在尝试实现一个函数,该函数将获取解析器列表并一个一个地尝试它们,直到一个成功。如果列表中没有解析器成功,则整个解析器将失败。这是我的尝试:
fun oneOf [] = NONE
| oneOf (p::ps) = fn inp => case parse p inp of
NONE => oneOf ps
| SOME (v,out) => SOME (v,out)
我收到许多运算符/操作数不同意错误。关于我哪里出错的任何提示?