我想實現一個函數,它將採用解析器列表並逐個嘗試它們,直到一個成功。如果列表中沒有解析器成功,那麼整個解析器將失敗。這裏是我的嘗試:用多個解析器解析SML
fun oneOf [] = NONE
| oneOf (p::ps) = fn inp => case parse p inp of
NONE => oneOf ps
| SOME (v,out) => SOME (v,out)
我越來越多的操作員/操作數不同意的錯誤。任何提示我去哪裏錯了?