@@ -199,7 +199,7 @@ extractParse cont = do
199 case r of
199 case r of
200 Stop _ b -> return b
200 Stop _ b -> return b
201 Partial _ _ -> error "Bug: extractParse got Partial"
201 Partial _ _ -> error "Bug: extractParse got Partial"
202− Continue _ _ -> error "Bug: extractParse got Continue"
202+ Continue _ cont1 -> extractParse cont1
203 Failed e -> throwM $ D.ParseError e
203 Failed e -> throwM $ D.ParseError e
205data FromParserK b e c = FPKDone !Int !b | FPKError !e | FPKCont c
205data FromParserK b e c = FPKDone !Int !b | FPKError !e | FPKCont c
@@ -240,6 +240,7 @@ fromParserK parser = D.Parser step initial extract
240 Partial n cont1 -> D.Partial n (FPKCont cont1)
240 Partial n cont1 -> D.Partial n (FPKCont cont1)
241 Continue n cont1 -> D.Continue n (FPKCont cont1)
241 Continue n cont1 -> D.Continue n (FPKCont cont1)
243+ -- Note, we can only reach FPKDone and FPKError from "initial".
243 extract (FPKDone _ b) = return b
244 extract (FPKDone _ b) = return b
244 extract (FPKError e) = throwM $ D.ParseError e
245 extract (FPKError e) = throwM $ D.ParseError e
245 extract (FPKCont cont) = extractParse cont
246 extract (FPKCont cont) = extractParse cont